Использование графического процессора в контейнере кода VSPython

Программы на Python
Ответить
Anonymous
 Использование графического процессора в контейнере кода VS

Сообщение Anonymous »

Я хочу использовать графический процессор внутри контейнера докера Visual Studio Code для обучения модели с помощью TensorFlow. Чтобы создать образ для моего контейнера, я использую следующий файл Dockerfile:

Код: Выделить всё

FROM mcr.microsoft.com/vscode/devcontainers/anaconda:0-3

ARG PROJECT_NAME=fire_rec

ARG NODE_VERSION="none"
RUN if [ "${NODE_VERSION}" != "none" ]; then su vscode -c "umask 0002 && . /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi

COPY environment.yml* .devcontainer/noop.txt /tmp/conda-tmp/
RUN if [ -f "/tmp/conda-tmp/environment.yml" ]; then umask 0002 && /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \
&& rm -rf /tmp/conda-tmp

WORKDIR /srv/${PROJECT_NAME}

COPY requirements.txt /srv/${PROJECT_NAME}

RUN apt-get update && apt-get install -y python3-opencv
RUN apt-get update && apt-get install -y pip
RUN python3 -m pip install --no-cache -r requirements.txt
RUN apt-get update && apt-get install -y nvidia-cuda-toolkit
"requirements.txt" состоит из:

Код: Выделить всё

opencv-python
tensorflow-gpu
numpy
matplotlib
albumentations
tensorflow_addons
Также у меня есть файл .devcontainer.json:

Код: Выделить всё

{
"name": "Anaconda (Python 3)",
"build": {
"context": "..",
"dockerfile": "Dockerfile",
"args": {
"NODE_VERSION": "none"
}
},

"settings": {
"python.defaultInterpreterPath": "/opt/conda/bin/python",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.autopep8Path": "/opt/conda/bin/autopep8",
"python.formatting.yapfPath": "/opt/conda/bin/yapf",
"python.linting.flake8Path": "/opt/conda/bin/flake8",
"python.linting.pycodestylePath": "/opt/conda/bin/pycodestyle",
"python.linting.pydocstylePath": "/opt/conda/bin/pydocstyle",
"python.linting.pylintPath": "/opt/conda/bin/pylint"
},

"extensions": [
"ms-python.python",
"ms-python.vscode-pylance"
],

"remoteUser": "vscode",
}
Я успешно создал образ и запустил контейнер. Но когда я пытаюсь запустить этот код в Jupyter-Notebook внутри контейнера:

Код: Выделить всё

import tensorflow as tf

tf.config.list_physical_devices('GPU')
Я получаю следующие сообщения:

Код: Выделить всё

2022-05-05 14:42:02.712454: E tensorflow/stream_executor/cuda/cuda_driver.cc:271] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2022-05-05 14:42:02.712483: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:163] no NVIDIA GPU device is present: /dev/nvidia0 does not exist
Значит, этот код не может использовать графический процессор. Как я могу решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/721 ... -container
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»