tensorflow学习笔记(4)------北京大学 曹健

Tensorflow常用API

import tensorflow as tf
#  指数衰减学习率策略
tf.keras.optimizers.schedules.ExponentialDecay(
    initial_learning_rate=0.5, decay_steps=10, decay_rate=0.9, staircase=False
)
# initial_learning_rate (初始学习率) decay_steps(衰减步数,staircase)
#  decay_rate(衰减率)  staircase(Bool类型,true则学习率阶梯型下降)
#  返回值为处理后的学习率


# 分段常数衰减学习率策略
tf.keras.optimizers.schedules.PiecewiseConstantDecay(boundaries=[100, 200, 300],
                                                     values=[0.1, 0.05, 0.025, 0.001])
#  boundaries: [step_1, step_2, ..., step_n]定义了在第几步进行学习率衰减.
# values:  [val_0, val_1, val_2, ..., val_n]定义了学习率的初始值和后续衰减时的具体取值.


#  激活函数
x = tf.constant([1, 2, 3])
tf.math.sigmoid(x)
tf.math.tanh(x)
tf.nn.relu(x)
tf.nn.leaky_relu(x, alpha=0.3)  # alpha表示x<0时的斜率
tf.nn.softmax(x, axis=-1)  # 默认为-1,最后一个维度

#  1. 损失函数
#  计算y_true和y_pred均方误差
tf.keras.losses.MSE(y_true=x, y_pred=x)
#  2. 计算交叉熵
tf.keras.losses.categorical_crossentropy(y_true=x,y_pred=x,
                                         from_logits=False, label_smoothing=0 )
# y_true:真实值;y_pred:预测值;from_logits,y_pred是否为逻辑张量, label_smoothing:[0,1]之间的小数
#  3. 交叉熵与softmax
tf.nn.softmax_cross_entropy_with_logits(
               labels=x, logits=x, axis=-1, name=None)
#  labels: 在类别这一维度上,每个向量应服从有效的概率分布. 例如,在labels的shape为
#  [batch_size, num_classes]的情况下,labels[i]应服从概率分布.
# logits: 每个类别的激活值,通常是线性层的输出. 激活值需要经过softmax归一化.
#  axis: 类别所在维度,默认是-1,即最后一个维度

# 4.交叉熵和softmax和onehot编码
tf.nn.sparse_softmax_cross_entropy_with_logits(labes=X,
                                               logits=X,
                                               name=None)
# labels: 标签的索引值.
# logits: 每个类别的激活值,通常是线性层的输出. 激活值需要经过softmax归一化.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值