在Tensorflow Docker Image中使用Keras?

lndjwyie  于 2023-06-29  发布在  Docker
关注(0)|答案(2)|浏览(110)

我有一个用Keras构建的情感分类器,我想用我的GPU运行。根据Tensorflows GPU support page的建议,我有installed Docker and downloaded a Tensorflow Docker image
现在,当我尝试在其中一个Tensorflow图像上运行代码时,当我尝试导入Keras或Pandas时,我会收到错误代码。
当涉及到Docker时,我是一个新手,但据我所知,镜像根本没有安装这些库。那么,如果我想使用除了Tensorflow之外的其他东西或映像上安装的其他东西,我该怎么办?如何将这些添加到图像中?

hlswsv35

hlswsv351#

选项一:将包添加到容器:

docker exec <container_name> pip install ...

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

选项二:创建您自己的图像,使用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,这样你就不必记住所有这些命令。您可以创建一个docker-compose.yml并使用YAML格式描述容器。然后你可以只构建docker-compose build,运行docker-compose up

hwazgwia

hwazgwia2#

从我的经验来看,我总是发现创建一个通用的Docker镜像并将您的需求安装到其中要好得多。我知道你最初的问题要求使用Tensorflow Docker镜像,但我会留下这个答案供参考。下面是一个简单的Dockerfile用途:

# Base image, you can change it as you want
FROM python:3.10-slim-buster

# Install necessary system dependencies
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        build-essential \
        libblas3 \
        liblapack3 \
        libopenblas-dev \
        liblapack-dev \
        libatlas-base-dev \
        gfortran \
    && rm -rf /var/lib/apt/lists/*

# Install Python dependencies
COPY requirements.txt /app/requirements.txt
WORKDIR /app
RUN pip install --no-cache-dir --upgrade pip \
    && pip install --no-cache-dir -r requirements.txt \
    && rm -rf /root/.cache/pip

您可以使用以下命令构建映像:docker build -t my_image .

相关问题