首页 > 解决方案 > 在 TensorFlow Docker 映像中使用 Keras?

问题描述

我有一个使用 Keras 构建的情绪分类器,我想使用我的 GPU 运行它。正如Tensorflows GPU 支持页面所推荐的那样,我已经安装了 Docker 并下载了一个 Tensorflow Docker 映像

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

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

标签: pythondockertensorflowkeras

解决方案


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

docker exec <container_name> pip install ...

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

选项 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

然后从中构建一个图像:

cd /directory/with/the/Dockerfile
docker build -t my-tf-image .

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

docker run --gpus all -d -v /some/data:/data my-tf-image

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


推荐阅读