解决 tensorflow softmax_cross_entropy_with_logits() 报错 Only call `softmax_cross_entropy_with_logits`

来源:互联网 发布:天翼进销存软件汽配 编辑:程序博客网 时间:2024/06/07 06:46

运行程序报错:

Traceback (most recent call last):  File "demo.py", line 74, in <module>    cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))  File "/python2.7/site-packages/tensorflow/python/ops/nn_ops.py", line 1558, in softmax_cross_entropy_with_logits    labels, logits)  File "/python2.7/site-packages/tensorflow/python/ops/nn_ops.py", line 1512, in _ensure_xent_args    "named arguments (labels=..., logits=..., ...)" % name)ValueError: Only call `softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=..., ...)

tf.nn.softmax_cross_entropy_with_logits()函数已经更新,官方API如下:

tf.nn.softmax_cross_entropy_with_logits(_sentinel=None, labels=None, logits=None, dim=-1, name=None)

至少需要label和logistics参数。
label是神经网络目标输出
logistics是神经网络实际输出
因此需要将

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))

修改为

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y))

Ref:
http://blog.csdn.net/caimouse/article/details/61208940

阅读全文
0 0
原创粉丝点击