Only call 'softmax_cross_entropy_with_logits' with named grguments(labels=...,logits=...)
2017-07-26 20:06
477 查看
运行一段代码:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202006/01/43d1d787aeb7c13819463d58af3878f1)
将其改为:cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_))
补充交叉熵知识:
交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。tensorflow中自带的函数可以轻松的实现交叉熵的计算。
tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)
注意:如果labels的每一行是one-hot表示,也就是只有一个地方为1,其他地方为0,可以使用tf.sparse_softmax_cross_entropy_with_logits()
警告:
1. 这个操作的输入logits是未经缩放的,该操作内部会对logits使用softmax操作
2. 参数labels,logits必须有相同的形状 [batch_size, num_classes] 和相同的类型(float16, float32, float64)中的一种
参数:_sentinel: 一般不使用
labels: labels实际的标签,大小同上的每一行labels[i]必须为一个概率分布
logits: 就是神经网络最后一层的输出,如果有ba
4000
tch的话,它的大小就是[batchsize,num_classes],单样本的话,大小就是num_classes
dims: 类的维度,默认-1,也就是最后一维
name: 该操作的名称
返回值:长度为batch_size的一维Tensor
with tf.name_scope('cross_entropy'): cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(y,y_)) tf.summary.scalar('cross_entropy',cross_entropy)
将其改为:cross_entropy = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_))
补充交叉熵知识:
交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性。交叉熵作为损失函数还有一个好处是使用sigmoid函数在梯度下降时能避免均方误差损失函数学习速率降低的问题,因为学习速率可以被输出的误差所控制。tensorflow中自带的函数可以轻松的实现交叉熵的计算。
tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)
注意:如果labels的每一行是one-hot表示,也就是只有一个地方为1,其他地方为0,可以使用tf.sparse_softmax_cross_entropy_with_logits()
警告:
1. 这个操作的输入logits是未经缩放的,该操作内部会对logits使用softmax操作
2. 参数labels,logits必须有相同的形状 [batch_size, num_classes] 和相同的类型(float16, float32, float64)中的一种
参数:_sentinel: 一般不使用
labels: labels实际的标签,大小同上的每一行labels[i]必须为一个概率分布
logits: 就是神经网络最后一层的输出,如果有ba
4000
tch的话,它的大小就是[batchsize,num_classes],单样本的话,大小就是num_classes
dims: 类的维度,默认-1,也就是最后一维
name: 该操作的名称
返回值:长度为batch_size的一维Tensor
相关文章推荐
- ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=..., l
- ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=..., l
- ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=.
- ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=.
- tensorflow:Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labe
- ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=.
- 《TensorFlow实战实例》的一些错误更正ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named a
- 《TensorFlow实战实例》的一些错误更正ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named a
- ValueError: Only call `sigmoid_cross_entropy_with_logits` with named arguments (labels=..., logits=.
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
- tf.nn.sparse_softmax_cross_entropy_with_logits的用法
- 对比两个函数tf.nn.softmax_cross_entropy_with_logits和tf.nn.sparse_softmax_cross_entropy_with_logits
- tf.nn.sparse_softmax_cross_entropy_with_logits()和tf.nn.softmax_cross_entropy_with_logits()的区别与内容
- 关于 tf.nn.softmax_cross_entropy_with_logits 及 tf.clip_by_value
- sparse_softmax_cross_entropy_with_logits 与 softmax_cross_entropy_with_logits 的区别
- [tensorflow]sparse_softmax_cross_entropy_with_logits 与 softmax_cross_entropy_with_logits的区别
- [tensorflow损失函数系列]softmax_cross_entropy_with_logits
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
- tf.nn.softmax_cross_entropy_with_logits
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法