《Keras深度学习实战》 ── 基于TensorFlow和Theano创建神经网络 作者:[意大利] 安东尼奥·古利(Antonio Gulli),[印度] 苏伊特·帕尔(Sujit Pal) 著 知识点类型:【方法】
Keras.optimizers优化器 2020-05-31 12:18 方法 评论 0 更多详情 如何使用优化器(optimizers) 优化器是编译 Keras 模型所需的两个参数之一: model = Sequential() model.add(Dense(20, 64, init='uniform')) model.add(Activation('tanh')) model.add(Activation('softmax')) sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True) model.compile(loss='mean_squared_error', optimizer=sgd) 我们可以在将优化器传递给 model.compile() 之前初始化,正如上面代码所示,或者你可以直接通过名字调用。在后面的例子中,默认的优化器参数将会被使用。 # pass optimizer by name: default parameters will be used model.compile(loss='mean_squared_error', optimizer='sgd') 基类(base class) keras.optimizers.Optimizer(**kwargs) 所有的优化器都继承自该类,支持下面的参数: clipnorm: float >= 0 这是用来构建优化器的基类,不是实际可以用作训练的优化器。 SGD keras.optimizers.SGD(lr=0.01, momentum=0., decay=0., nesterov=False) 参数: lr: float >= 0. 学习率 Learning rate momentum: float >= 0. 参数更新动量 parameter updates momentum decay: float >= 0. 学习率每次更新的下降率 Learning rate decay over each update nesterov: boolean. 是否应用 Nesterov 动量 whether to apply Nesterov momentum Adagrad keras.optimizers.Adagrad(lr=0.01, epsilon=1e-6) 建议使用默认设置 参数: lr: float >= 0. 学习率 epsilon: float >= 0 Adadelta keras.optimizers.Adadelta(lr=1.0, rho=0.95, epsilon=1e-6) 建议使用默认设置 参数: lr: float >= 0. 默认设置 rho: float >= 0. epsilon: float >= 0. Fuzz factor RMSprop keras.optimizers.RMSprop(lr=0.001, rho=0.9, epsilon=1e-6) 建议使用默认设置 参数: lr: float >= 0. 默认设置 rho: float >= 0. epsilon: float >= 0. Fuzz factor Adam keras.optimizers.Adam(lr=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-8, kappa=1-1e-8) Adam 优化器由 Kingma 和 Lei Ba 在 Adam: A method for stochastic optimization。默认参数是文章中建议的。参数 lambda 在此处改做 kappa。 参数: lr: float >= 0. Learning rate. beta_1, beta_2: floats, 0 < beta < 1. Generally close to 1. epsilon: float >= 0. Fuzz factor. kappa: float 0 < kappa < 1. Lambda parameter in the original paper. ............
Keras常用方法清单 2020-05-30 20:03 方法 评论 0 更多详情 常用方法清单 类型 方法 说明 模型 keras.models.Sequential() 创建顺序模型 模型 keras.models.Sequential.add() 向模型底部添加层 层 keras.layers.Dense() 创建全连接层 模型 keras.models.Sequential.summary() 显示模型网络摘要信息 模型 keras.models.Sequential.compile() 编译模型 模型 keras.models.Sequential.fit() 训练模型 模型 keras.models.Sequential.predict() 预测模型 层 keras.layers.Flatten() 展平处理 模型 keras.models.Sequential.evaluate() 模型测试 模型 keras.models.Sequential.train_on_batch() 在训练集数据的一批数据上进行训练 层 keras.layers.Activation() 创建激活层 公共工具 keras.utils.to_categorical() 将整型标签转为onehot 层 keras.layers.Dropout() 层数据丢失处理(防止过拟合) 层 keras.layers.Convolution2D() 二维卷积层对二维输入进行滑动窗卷积 层 keras.layers.MaxPooling2D() 施加最大值2D池化 模型 keras.models.Sequential.save() 保存模型 模型 keras.models.load_model() 载入模型 模型 keras.models.Sequential.save_weights() 保存模型参数 模型 keras.models.Sequential.load_weights() 载入模型参数 模型 keras.models.Sequential.to_json() 模型结构导出Json 模型 keras.models.model_from_json() 从Json载入模型结构 模型 keras.utils.vis_utils.plot_model() 绘制模型结构图 层 keras.layers.Input() 模型输入层定义 层 keras.layers.Reshape() 将输入重新调整为特定的尺寸 层 keras.layers.convolutional.Conv2D() 2D卷积 层 keras.layers.BatchNormalization() 批量标准化 层 keras.layers.convolutional.UpSampling2D() 2D 输入的上采样层 层 keras.layers.ZeroPadding2D() 2D输入边界零填充层 层 keras.layers.advanced_activations.LeakyReLU() LeakyReLU激活层 层 keras.layers.GlobalAveragePooling2D() 全局平均值池化 层 keras.layers.Embedding() 将正整数(索引值)转换为固定尺寸的稠密向量 层 keras.layers.Add() 两个层相加 层 keras.layers.DepthwiseConv2D() 深度可分离2D卷积 存储 keras.callbacks.ModelCheckpoint() 在每个训练期之后保存模型。 训练 keras.callbacks.ReduceLROnPlateau() 当标准评估停止提升时,降低学习速率。 训练 keras.callbacks.EarlyStopping() 当被监测的数量不再提升,则停止训练。 训练 keras.models.Sequential.fit_generator() 使用 Python 生成器或 Sequence 实例逐批生成的数据,按批次训练模型。 ............