我试图使用cifar10数据集运行深度学习模型。当keras安装在系统上并且尝试使用数据集时,keras会将其下载一次:
~/.keras/datasets/
我之所以这么说是因为我能看到那个目录而且我看到了:
$ 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
它仍会下载数据集。为什么呢?
另一件让我感到非常奇怪的事情是,当我冲进容器时,它会启动我的root内部,而它之前从未做过。
答案 0 :(得分:3)
似乎我解决了它。要查找容器中.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
。