【问题标题】:Where does keras store its data sets when using a docker container?使用 docker 容器时,keras 将其数据集存储在哪里?
【发布时间】:2017-01-26 19:57:20
【问题描述】:

我尝试使用 cifar10 数据集运行深度学习模型。当系统上安装了 keras 并尝试使用数据集时,keras 会下载一次:

~/.keras/datasets/

我这么说是因为我可以 ls 那个目录并且我看到了:

$ ls
cifar-10-batches-py        cifar-10-batches-py.tar.gz cifar-100-python           cifar-100-python.tar.gz    mnist.pkl.gz

但是,当我在 docker 容器中安装 keras 时,~/.keras 不存在。我确信它被保存在某个地方,因为我以后可以通过带有 bash 的容器(使用docker run -it --rm tf_img bash)登录到 docker 映像时加载数据集。但是,我在这里找不到文件可能已保存。他们在哪里得救?

此外,一旦我找到了这个位置,我就打算用容器对我的本地 ~/.keras/(或我登录的任何计算机)进行卷,这样就不必每次都下载 30 次数据集我尝试训练一些模型。


我发现.keras 在容器中使用find -type d -name .keras 命令的第一个进展(它在./root/.keras 中)。但是,似乎即使我正确地对文件夹进行了卷,它仍然会下载它(即使我已经到容器中的位置/root/.keras 并看到那里的东西,就像它在我的本地计算机中一样)。我做到了:

docker run -it --rm -v /Users/folder1:/Users/folder1 -v /Users/Pinocchio/.keras:/root/keras tf_cpu cifar10_cnn.py

它仍然会下载数据集。为什么?

让我感到非常奇怪的另一件事是,当我 bash 进入容器时,它会在 root 内部启动我,这是它以前从未这样做过的。

【问题讨论】:

  • 好的,所以在执行find -type d -name .keras 之后,位置似乎是./root/.keras。现在让我们看看当我对这些进行音量调节时会发生什么。
  • -v 中的错字应该是.keras 而不是keras

标签: machine-learning tensorflow deep-learning keras


【解决方案1】:

看来我解决了。要查找 .keras 在容器中的位置,请使用 bash 登录到容器后(例如 docker run -it --rm -v /local:/container image_name bash):

find -type d -name .keras 

发现该位置是

./root/.keras

现在只需卷数据集的位置:

docker run -it --rm -v /Users/folder1:/Users/folder1 -v /Users/Pinocchio/.keras:/root/.keras tf_cpu cifar10_cnn.py

确保没有任何拼写错误,特别是因为它是 .keras 而不是 keras

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-28
    • 2016-01-23
    • 2019-05-23
    • 1970-01-01
    • 2022-01-01
    • 2012-06-18
    • 2013-11-17
    • 1970-01-01
    相关资源
    最近更新 更多