alex_bn_lee

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

【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() 

1
2
3
4
5
6
7
8
9
10
11
12
13
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   McDelfino  阅读(366)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2012-06-19 【052】测试数据引发的骚乱
点击右上角即可分享
微信分享提示