2017-04-22 74 views
0

我想在Google雲端ml上運行MNIST的簡單深度學習模型。我嘗試通過tensroflow的效用方法tensorflow.examples.tutorials.mnist來下載並解壓縮它。不幸的是,當我在雲中使用它時,我的代碼看不到它。我有這樣的例外:沒有這樣的文件或目錄:'gs://bucket/path/train-images-idx3-ubyte.gz當我瀏覽存儲桶時,文件在那裏,但張量流不會看到它。無法在Google雲上加載mnist數據集ml

它有什麼問題?

回答

1

不幸的是,TensorFlow的文件系統抽象不能正確支持Python的gzip庫。因此,mnist.read_data_sets僅在本地文件系統上支持train_dir,即不能在實用程序功能中使用GCS。

解決方法是在本地文件系統上創建一個臨時目錄並使用它。

在我看來,這是例子中的默認值,例如,mnist_softmax.py有一個標誌--data-dir,默認情況下它指向'/ tmp/tensorflow/mnist/input_data'。爲了驗證,我將mnist_softmax.py的內容複製到了一個在Cloud Machine Learning Engine上成功運行的新Python腳本。也適用於mnist_deep.py

但是,如果您要手動使用read_data_sets(通過tensorflow/examples/tutorials/mnist/input_data.py),請務必傳遞本地目錄作爲第一個參數。

+0

但是如何在本地文件系統上使用臨時目錄?它位於哪裏? –

+0

將作業提交給雲時,您可以完全訪問工作人員的文件系統。上面的硬件代碼'/ tmp'的腳本。這工作正常。你也可以使用Python的'tempfile.mkdtemp'。 – rhaertel80

+0

@KonstantinSolomatov如果你添加一個代碼片段到你的問題,我可以幫助更好。 – rhaertel80

0

問題是我使用了tensorflow提供的閱讀器,它只能用本地文件系統工作。爲了閱讀mnist,你必須使用tensorflow.python.lib.io包。