【问题标题】:Can't load mnist dataset on google cloud ml无法在谷歌云 ml 上加载 mnist 数据集
【发布时间】:2017-04-22 16:15:49
【问题描述】:

我想在 google cloud ml 上为 MNIST 运行简单的深度学习模型。我尝试通过 tensroflow 的实用方法 tensorflow.examples.tutorials.mnist 下载并解压它。不幸的是,当我在云中使用它时,我的代码看不到它。我有这样的例外:没有这样的文件或目录:'gs://bucket/path/train-images-idx3-ubyte.gz 当我浏览存储桶时,文件在那里,但 tensorflow 没有看到它。

这有什么问题?

【问题讨论】:

    标签: tensorflow mnist google-cloud-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 的内容复制到一个新的 Python 脚本中,该脚本在 Cloud Machine Learning Engine 上成功运行。也为mnist_deep.py工作过

    但是,如果您要手动使用read_data_sets(通过tensorflow/examples/tutorials/mnist/input_data.py),请务必将本地目录作为第一个参数传递。

    【讨论】:

    • 但是如何在本地文件系统上使用临时目录呢?它位于哪里?
    • 当您向云端提交作业时,您可以完全访问工作人员的文件系统。上面的脚本硬编码/tmp。这很好用。你也可以使用 Python 的tempfile.mkdtemp
    • @KonstantinSolomatov 如果您在问题中添加代码 sn-p,我可能会提供更好的帮助。
    • 好的。会试试的。我现在用手动阅读器解决了这个问题:-)
    【解决方案2】:

    问题是我使用了 tensorflow 提供的阅读器,它只能与本地文件系统一起工作。为了阅读 mnist,你必须使用 tensorflow.python.lib.io 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 2022-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多