Peter Rival
Peter Rival

Reputation: 3

Python error in MNIST TPU tutorial

I'm trying to get the MNIST example for TPUs in GCE running (as shown at https://cloud.google.com/tpu/docs/tutorials/mnist) but I've run into a couple of bumps. First, I had to set my PYTHONPATH to pick up the models directory which isn't listed as a step in the walk-through (perhaps it's obvious to daily python programmers, but it's not stated if it's not). After that I'm now hitting the following error that I'm not sure how to work around:

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

I've verified that TPU_NAME and STORAGE_BUCKET are set properly, and I've also verified that I see the TPU in the READY state from this VM although I don't think either of those would have caused this error. Does anyone know what I'm missing?

Upvotes: 0

Views: 272

Answers (2)

Qiumin Xu
Qiumin Xu

Reputation: 36

Probably your tensorflow version is newer than your mnist_tpu.py. You may try this newer version of mnist_tpu.py here, instead use the --tpu flag as tayo mentioned above. https://github.com/tensorflow/models/blob/master/official/mnist/mnist_tpu.py

Upvotes: 1

Tayo Oguntebi
Tayo Oguntebi

Reputation: 1

Please change the --tpu_name=$TPU_NAME flag to --tpu=$TPU_NAME.

Apologies for the error, as this was a recent internal change that did not make it to the walk-through documentation. It is being corrected.

Good luck in TPU land!

Upvotes: 0

Related Questions