MNIST TPU教程中的Python错误

时间:2018-04-04 20:28:56

标签: google-compute-engine

我试图在GCE运行中获取IMU的MNIST示例(如https://cloud.google.com/tpu/docs/tutorials/mnist所示),但我遇到了几个问题。首先,我必须设置我的PYTHONPATH以获取模型目录,该目录并未列为演练中的一个步骤(对于每日python程序员来说可能很明显,但它没有说明如果不是)。之后,我现在遇到以下错误,我不确定如何解决:

frival@tpu-demo-vm:~$ python /usr/share/models/official/mnist/mnist_tpu.py --tpu_name=$TPU_NAME --data_dir=${STORAGE_BUCKET}/data --model_dir=${STORAGE_BUCKET}/output --use_tpu=True --iterations=500 --train_steps=1000 --train_file=${STORAGE_BUCKET}/data/train.tfrecords
WARNING:tensorflow:From /usr/local/lib/python2.7/dist-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
Traceback (most recent call last):
  File "/usr/share/models/official/mnist/mnist_tpu.py", line 163, in <module>
    tf.app.run()
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/app.py", line 126, in run
    _sys.exit(main(argv))
  File "/usr/share/models/official/mnist/mnist_tpu.py", line 135, in main
    FLAGS.tpu, zone=FLAGS.tpu_zone, project=FLAGS.gcp_project)
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/contrib/cluster_resolver/python/training/tpu_cluster_resolver.py", line 128, in __init__
    self._tpu = compat.as_bytes(tpu)  # self._tpu is always bytes
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/util/compat.py", line 68, in as_bytes
    (bytes_or_text,))
TypeError: Expected binary or unicode string, got None

我已经确认TPU_NAME和STORAGE_BUCKET已正确设置,并且我还验证了我从这个VM看到TPU处于READY状态,尽管我认为其中任何一个都没有造成这个错误。有谁知道我错过了什么?

2 个答案:

答案 0 :(得分:1)

可能你的tensorflow版本比你的mnist_tpu.py更新。 你可以在这里尝试这个更新版本的mnist_tpu.py,而不是使用--tpu标志作为上面提到的tayo。 https://github.com/tensorflow/models/blob/master/official/mnist/mnist_tpu.py

答案 1 :(得分:0)

请将--tpu_name = $ TPU_NAME标志更改为--tpu = $ TPU_NAME。

对错误表示道歉,因为这是最近的一次内部更改,并没有进入演练文档。它正在纠正。

TPU好运!