在 Tensorflow Docker 镜像中使用 Keras?

Chr*_* O. 2 python docker keras tensorflow

我有一个使用 Keras 构建的情感分类器,我想使用 GPU 运行它。按照Tensorflows GPU 支持页面的建议,我已经安装了 Docker 并下载了 Tensorflow Docker 映像

现在,当我尝试在其中一张 Tensorflow 图像上运行代码时,在尝试导入 Keras 或 Pandas 等内容时会收到错误代码。

对于 Docker,我是个新手,但据我了解,镜像根本没有安装这些库。那么,如果我想使用除了 Tensorflow 或图像上安装的任何其他内容之外的其他内容,我该怎么办?如何将这些添加到图像中?

ane*_*yte 5

选项 1:将包添加到容器中:

docker exec <container_name> pip install ...
Run Code Online (Sandbox Code Playgroud)

缺点是每次重新创建容器时都必须重复此操作。

选项 2:使用 Tensorflow 图像作为基础创建您自己的图像

创建一个名为Dockerfile

FROM tensorflow/tensorflow:latest-gpu-jupyter  # change if necessary
RUN pip install ...
# Visit https://docs.docker.com/engine/reference/builder/ for format reference
Run Code Online (Sandbox Code Playgroud)

然后从中构建一个图像:

cd /directory/with/the/Dockerfile
docker build -t my-tf-image .
Run Code Online (Sandbox Code Playgroud)

然后使用您自己的图像运行:

docker run --gpus all -d -v /some/data:/data my-tf-image
Run Code Online (Sandbox Code Playgroud)

我还建议在开发环境中使用docker-compose,这样您就不必记住所有这些命令。您可以使用 YAML 格式创建docker-compose.yml并描述容器。然后你就可以docker-compose build构建并docker-compose up运行。