caicloud / tensorflow-tutorial

Example TensorFlow codes and Caicloud TensorFlow as a Service dev environment.
2.93k stars 2.08k forks source link

关于第五章的代码问题 #22

Closed alfredcai closed 7 years ago

alfredcai commented 7 years ago

python版本:3.6 TensorFlow版本:1.0.0 在运行"5. MNIST最佳实践/mnist_train.py"时报错

/usr/local/Cellar/python3/3.6.1/Frameworks/Python.framework/Versions/3.6/bin/python3.6 "/Users/AlfredCai/PycharmProjects/tensorflow/src/Deep_Learning_with_TensorFlow/tensorflow-tutorial/Deep_Learning_with_TensorFlow/1.0.0/Chapter05/5. MNIST最佳实践/mnist_train.py"
Extracting ../../../datasets/MNIST_data/train-images-idx3-ubyte.gz
Extracting ../../../datasets/MNIST_data/train-labels-idx1-ubyte.gz
Extracting ../../../datasets/MNIST_data/t10k-images-idx3-ubyte.gz
Extracting ../../../datasets/MNIST_data/t10k-labels-idx1-ubyte.gz
Traceback (most recent call last):
  File "/Users/AlfredCai/PycharmProjects/tensorflow/src/Deep_Learning_with_TensorFlow/tensorflow-tutorial/Deep_Learning_with_TensorFlow/1.0.0/Chapter05/5. MNIST最佳实践/mnist_train.py", line 56, in <module>
    tf.app.run()
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 44, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "/Users/AlfredCai/PycharmProjects/tensorflow/src/Deep_Learning_with_TensorFlow/tensorflow-tutorial/Deep_Learning_with_TensorFlow/1.0.0/Chapter05/5. MNIST最佳实践/mnist_train.py", line 52, in main
    train(mnist)
  File "/Users/AlfredCai/PycharmProjects/tensorflow/src/Deep_Learning_with_TensorFlow/tensorflow-tutorial/Deep_Learning_with_TensorFlow/1.0.0/Chapter05/5. MNIST最佳实践/mnist_train.py", line 26, in train
    cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(y, tf.argmax(y_, 1))
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/ops/nn_ops.py", line 1684, in sparse_softmax_cross_entropy_with_logits
    labels, logits)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/ops/nn_ops.py", line 1533, in _ensure_xent_args
    "named arguments (labels=..., logits=..., ...)" % name)
ValueError: Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=..., logits=..., ...)

Process finished with exit code 1

将源码的26行改成cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y, labels=tf.argmax(y_, 1))可以成功运行

perhapszzy commented 7 years ago

这确实是一个bug, 欢迎提交pr (pull request) 来修改这个问题。

perhapszzy commented 7 years ago

Fixed by https://github.com/caicloud/tensorflow-tutorial/pull/24