我想在google cloud ml上运行MNIST的简单深度学习模型。我尝试通过tensroflow的实用方法tensorflow.examples.tutorials.mnist下载并解压缩它。不幸的是,当我在云中使用它时,我的代码看不到它。我有这样的例外:没有这样的文件或目录:'gs://bucket/path/train-images-idx3-ubyte.gz当我浏览存储桶时,文件就在那里,但是tensorflow看不到它。 / p>
它出了什么问题?
答案 0 :(得分:1)
不幸的是,TensorFlow的文件系统抽象不能正确支持Python的gzip库。因此,mnist.read_data_sets仅支持本地文件系统上的train_dir
,即,您不能将GCS与实用程序功能一起使用。
解决方法是在本地文件系统上创建一个临时目录,然后使用它。
在我看来,这是示例中的默认值,例如,mnist_softmax.py
有一个标志--data-dir
,默认情况下指向'/ tmp / tensorflow / mnist / input_data'。为了验证,我将mnist_softmax.py
的内容复制到一个新的Python脚本中,该脚本在Cloud Machine Learning Engine上成功运行。也适用于mnist_deep.py
但是,如果您要手动使用read_data_sets
(通过tensorflow/examples/tutorials/mnist/input_data.py
),请确保将本地目录作为第一个参数传递。
答案 1 :(得分:0)
问题在于我使用了提供张量流的阅读器,并且只能使用本地文件系统。要读取mnist,必须使用tensorflow.python.lib.io包。