Обучение модели с использованием экземпляра контейнера Azure с графическим процессором намного медленнее, чем локальное тестирование с тем же контейнером - PullRequest
0 голосов
/ 08 марта 2019

Я пытаюсь обучить модели компьютерного зрения Yolo, используя созданный мной контейнер, в который входит установка Darknet. Контейнер использует предоставленное Nvidia базовое изображение: nvcr.io/nvidia/cuda:9.0-devel-ubuntu16.04

Используя Nvidia-Docker на моем локальном компьютере с gtx 1080 ti, обучение проходит очень быстро, однако тот же контейнер, работающий как экземпляр контейнера Azure с GPU P100, тренируется очень медленно. Это почти как если бы он не использовал GPU. Я также заметил, что команда «nvidia-smi» не работает в контейнере, работающем в Azure, но она работает, когда я ssh в контейнер, работающий локально на моей машине.

Вот Dockerfile, который я использую

FROM nvcr.io/nvidia/cuda:9.0-devel-ubuntu16.04
LABEL maintainer="alex.c.schultz@gmail.com" \
      description="Pre-Configured Darknet Machine Learning Environment" \
      version=1.0

# Container Dependency Setup
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install software-properties-common -y
RUN apt-get install vim -y
RUN apt-get install dos2unix -y
RUN apt-get install git -y
RUN apt-get install wget -y
RUN apt-get install python3-pip -y
RUN apt-get install libopencv-dev -y

# setup virtual environment
WORKDIR /
RUN pip3 install virtualenv
RUN virtualenv venv
WORKDIR venv
RUN mkdir notebooks
RUN mkdir data
RUN mkdir output


# Install Darknet
WORKDIR /venv
RUN git clone https://github.com/AlexeyAB/darknet
RUN sed -i 's/GPU=0/GPU=1/g' darknet/Makefile
RUN sed -i 's/OPENCV=0/OPENCV=1/g' darknet/Makefile
WORKDIR /venv/darknet
RUN make

# Install common pip packages
WORKDIR /venv
COPY requirements.txt ./
RUN . /venv/bin/activate && pip install -r requirements.txt

# Setup Environment
EXPOSE 8888
VOLUME ["/venv/notebooks", "/venv/data", "/venv/output"]
CMD . /venv/bin/activate && jupyter notebook --ip=0.0.0.0 --port=8888 --allow-root

Файл needs.txt показан ниже:

jupyter
matplotlib
numpy
opencv-python
scipy
pandas
sklearn

1 Ответ

0 голосов
/ 26 апреля 2019

Проблема заключалась в том, что мои данные об обучении находились на томе общего файлового ресурса Azure, и задержка в сети приводила к замедлению обучения. Я скопировал данные из общего ресурса в свой контейнер, а затем указал на него, и все прошло намного быстрее.

...