实习总结(五)0717

1、Python基础:

List:

class=[‘M’,‘B’,‘T’]

切片:class[0:3] 表示从索引0开始取,直到索引3为止。但是不包括索引3.

列表生成式:g = (x * x for x in range(10))

可变参数:*

类和实例:面向对象中类和实例。

def _init_(self,name,score):self是函数的第一个参数,表示创建的实例的本身。和普通函数的区别是,类的方法和普通函数没有什么区别。就是第一个参数是self。

类中的属性如果不希望被外部访问,可以把属性的名称前加__表示私有变量。

 

2、Tensorflow安装

https://blog.csdn.net/Cloudox_/article/details/77823389

https://blog.csdn.net/myGFZ/article/details/79151635

ImportError: cannot import name Merge

回退keras版本

https://blog.csdn.net/w5688414/article/details/80145894

模型可以跑起来了。

 

3、Keras中组件介绍:

序贯模型:多个网络层的线性叠加。也就是“一条路走到黑“

函数式编程:model.add();

完成模型的搭建后,需要使用model.compile()方法完成编译模型。编译时需要指明损失函数和优化器。完成模型编译后,需要在训练数据上按batch进行一定次数的迭代来训练网络。(model.fit(),model.evaluate()可以进行模型的评估。Model.predict()可以对新的数据进行预测。

model.summary():打印出模型概况

model.get_config():返回包含模型配置信息的python字典

model.get_weights():返回模型权重张量的列表。

model.set_weights():将权重载入给模型

model.to_json():返回代表模型的json字符串

model.save_weights(filepath):将模型权重保存到指定路径,文件内容是HDF%

model.load_weight(filepath,by_name=False):hdf5文件中加载权重到当前模型。

 

compile(self, optimizer, loss, metrics=None, loss_weights=None, sample_weight_mode=None, weighted_metrics=None, target_tensors=None)

optimizer:优化器

loss:损失函数

metrics:列表,包含评估模型在训练和测试时的性能的指标

 

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

fit函数返回一个History的对象,其中History.history属性记录了损失函数和其他指标的函数和其他指标随epoch变化的情况。

x:输入数据

y:标签

batch_size:指定梯度下降时每个batch包含的样本数。

epochs:训练时终止时的epoch

verbose:日志显示

callbackslist,其中的元素是keras.callbacks.Callback的对象

validation_split0~1之间的浮点数,

validation_data:形式为(Xy)或(Xysample_weights)的tuple

shuffle:布尔值

class_weight:字典,将不同的类别映射为不同的权值,该参数用来在训练过程中调整损失函数(只能用于训练)

sample_weight:用于在训练时调整损失函数(仅用于训练)。

initial_epoch: 

steps_per_epoch: 

validation_steps:

 

evaluate(self, x, y, batch_size=32, verbose=1, sample_weight=None)

x:输入数据

y:标签

batch_size:整数

verbose

sample_weight:

 

predict(self, x, batch_size=32, verbose=0)

本函数按batch获得输入数据对应得shu

train_on_batch(self, x, y, class_weight=None, sample_weight=None)

 

常用层

对应于core模块,core内部定义了一系列常用的网络层,包括全连接层,

 

Dense

output = activation(dot(input, kernel)+bias)

 

Activation

激活层对一个层的输出施加激活函数

 

Dropout

为输出函数施加Dropout函数,Dropout将在训练过程中每次更新参数时按一定概率随机断开输入神经元。防止过拟合。

 

Flatten

即把多维的输入一维化,常用在卷积层到全连接层的过度。

 

Reshape

用来将输入的shape转成特定的shape

 

permute

将输入的维度按照给定模式进行重排。

 

卷积层

Conv1D

用以在一维输入信号上进行邻域滤波。

Conv2D

二维卷积层,即对图像的空域卷积。该层对二位输入进行滑动窗卷积。

池化层

局部连接层

循环层

嵌入层:该层将正整数转换为具有固定大小的向量。

融合层:提供了一系列用于融合两个层或两个张量的层对象和方法。

用于融合两个层或两个向量的层对象和方法。

高级激活层:

规范层:该层在每个batch上将前一层的激活值重新规范化,使其值输出数据的均值接近0,标准差接近1.

噪声层:为数据施加0均值,标准差为stddv的加性高斯噪声。

包装器:把层应用到输入的每一个时间步上

 

猜你喜欢

转载自blog.csdn.net/xhjj520/article/details/81636024
今日推荐