alex_bn_lee

导航

【470】Keras API 参考说明

参考:Keras API reference

参考:Keras layers API


目录:


损失函数 Losses:损失函数(或称目标函数、优化评分函数)是编译模型时所需的两个参数之一。

  • mean_squared_error
  • categorical_crossentropy:多分类
  • binary_crossentropy:二分类

评估标准 Metrics:评价函数用于评估当前训练模型的性能。评价函数和 损失函数 相似,只不过评价函数的结果不会用于训练过程中。

  • mae
  • acc

优化器 Optimizer:

  • SGD:随机梯度下降优化器
  • RMSprop:这个优化器通常是训练循环神经网络RNN的不错选择。
  • Adagrad:Adagrad 是一种具有特定参数学习率的优化器,它根据参数在训练期间的更新频率进行自适应调整。参数接收的更新越多,更新越小。
  • Adadelta:Adadelta 是 Adagrad 的一个具有更强鲁棒性的的扩展版本,它不是累积所有过去的梯度,而是根据渐变更新的移动窗口调整学习速率。 这样,即使进行了许多更新,Adadelta 仍在继续学习。 与 Adagrad 相比,在 Adadelta 的原始版本中,您无需设置初始学习率。 在此版本中,与大多数其他 Keras 优化器一样,可以设置初始学习速率和衰减因子。
  • Adam:

激活函数 Activations:

  • softmax
  • relu
  • tanh
  • sigmoid

 

 

tf.keras.utils.to_categorical(y, num_classes=None, dtype="float32")

  • 将向量或整数转为二进制矩阵,类似 one-hot 编码
  • y:欲转换的向量或者整数
  • num_classes:分类的总数,若为 None,则是 y 中的最大值 + 1

numpy.random.randint(low, high=None, size=None, dtype=int)

  • 返回指定范围内的随机整数(包含最小值,不包含最大值),可以指定 shape/size
  • low:若 high=None,则是 0~low;否则是 low~high
  • high:配合 low,随机数为两者中间
  • size:输出的维度,默认是输出单个数字

numpy.random.random(size=None)

  • 返回 [0.0, 1.0) 之间的随机浮点数,可以指定 shape/size
  • size:输出的维度,默认是输出单个数字

tf.keras.Sequential(layers=None, name=None) 

  • 类,聚集了一个线性的层栈
  • add(layer):在层栈的最上面添加一个 layer 的实例
  • pop():移除模型中的最后一层

Model training APIs

 

Model.compile(
    optimizer="rmsprop",  # 字符串或者优化器实例。参见 tf.keras.optimizers
    loss=None,  # 目标函数名称或者损失函数实例。参见 tf.keras.losses
    metrics=None,  # 评估方法的列表。参见 tf.keras.metrics
    loss_weights=None,  
    weighted_metrics=None,
    run_eagerly=None,
    **kwargs
)

 

Model.fit(
    x=None,  # 输入数据
    y=None,  # 目标数据
    batch_size=None,  # 进行梯度下降更新的批量大小
    epochs=1,  # 训练模型的循环次数
    verbose=1,
    callbacks=None,
    validation_split=0.0,  # 0~1 间的浮点型数字。训练数据的一部分用来验证数据
    validation_data=None,  # 评估损失的验证数据
    shuffle=True,  # 布尔值,是否在每一个 epoch 前都打乱数据顺序
    class_weight=None,
    sample_weight=None,
    initial_epoch=0,
    steps_per_epoch=None,
    validation_steps=None,
    validation_batch_size=None,
    validation_freq=1,
    max_queue_size=10,
    workers=1,
    use_multiprocessing=False,
)
Model.evaluate(
    x=None,  # 输入数据
    y=None,  # 目标数据
    batch_size=None,  # 每批计算的样本数
    verbose=1,
    sample_weight=None,
    steps=None,
    callbacks=None,
    max_queue_size=10,
    workers=1,
    use_multiprocessing=False,
    return_dict=False,
)
Model.predict(
    x,  # 输入样本
    batch_size=None,
    verbose=0,
    steps=None,
    callbacks=None,
    max_queue_size=10,
    workers=1,
    use_multiprocessing=False,
)

tf.keras.Layer(trainable=True, name=None, dtype=None, dynamic=False, **kwargs) 

  • 类,所有 layers 的继承类
  • trainable:布尔型,这层的变量是否训练
  • name:图层的名称
  • weights:返回权重值

tf.keras.layer.Dense() 

tf.keras.layers.Dense(
    units,
    activation=None,
    use_bias=True,
    kernel_initializer="glorot_uniform",
    bias_initializer="zeros",
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    **kwargs
)
  • 类,最普通的 densely-connected NN 层
  • units:正整数,输出空间的维度
  • activation:激活函数。如果不指定,则是直接输出结果
    • relu
    • sigmoid
    • softmax
    • tanh
  • use_bias:布尔值,是否使用 bias 向量
  • kernel_initializer:权重矩阵的初始化器
  • bias_initializer:bias 向量初始化器
  • input_dim:输入维度

tf.keras.layers.Dropout(rate, noise_shape=None, seed=None, **kwargs)

  • 类,对于输入应用 dropout
  • rate:0 和 1 之间的浮点数。输入单元废弃的比例

tf.keras.optimizers.SGD(learning_rate=0.01, momentum=0.0, nesterov=False, name="SGD", **kwargs)

  • 类,梯度下降(带 momentum)的优化器
  • learning_rate:学习率,默认是 0.01
  • momentum:超参数,默认是 0

 

posted on 2020-06-19 10:47  McDelfino  阅读(356)  评论(0编辑  收藏  举报