如何将 docker-compose.yml 与 Tensorflow + Jupyter Notebook + GPU 一起使用

How do I use docker-compose.yml with Tensorflow + Jupyter Notebook + GPU

我一直在使用 tensorflow docker 图像到 运行 Tensorflow with GPU,效果很好。例如,我只是用 --gpus all 标志编写此命令。

docker run -it --rm --gpus all -v $PWD:/tf/notebooks -p 8888:8888 tensorflow/tensorflow:2.2.2-gpu-py3-jupyter

我想改用 docker-compose,并尝试按照 Docker 的启用 GPU 访问站点 docker website 中的步骤进行操作,但无法使其正常工作使用 jupyter notebook GPU Tensorflow 图像。有人知道我做错了什么吗?

下面是我的 docker-compose.yml 代码,我用它来 运行 命令 docker-compose up

#version: "3.3"

services:
  jupyter:  # you can change this to whatever you want.
    container_name: computer-vison
    image: tensorflow/tensorflow:2.2.2-gpu-py3-jupyter
    volumes:
      - "./:/tf/notebooks"
    ports:
     - "8888:8888"
    deploy:
      resources:
        reservations:
          devices:
          -  driver: nvidia
            count: all
            capabilities: [gpu]

我得到的错误是

ERROR: yaml.parser.ParserError: while parsing a block mapping
  in "./docker-compose.yaml", line 14, column 11
expected <block end>, but found '<block mapping start>'
  in "./docker-compose.yaml", line 16, column 13

似乎是 count 行的缩进错误,试试这个:


#version: "3.3"

services:
  jupyter:  # you can change this to whatever you want.
    container_name: computer-vison
    image: tensorflow/tensorflow:2.2.2-gpu-py3-jupyter
    volumes:
      - "./:/tf/notebooks"
    ports:
     - "8888:8888"
    deploy:
      resources:
        reservations:
          devices:
          -  driver: nvidia
             count: all
             capabilities: [gpu]