【470】Keras API 参考说明
目录:
- to_categorical()
- randint()
- random()
- Sequential()
- Model training APIs
- compile()
- fit()
- evaluate()
- predict()
- Layer()
- Dense()
- Dropout()
- SGD()
损失函数 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.compile():配置训练模型
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():训练模型
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():返回测试集的损失值与评估值
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():为输入样本生成输出预测
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
分类:
AI Related / NLP
, Python Study
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
2012-06-19 【052】测试数据引发的骚乱