1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-Deepo

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Deepo — это открытый фреймворк для сборки специализированных образов Docker для исследований в области глубокого обучения без лишних сложностей. Он предоставляет «конструктор» из десятков стандартных компонентов для подготовки инструментов глубокого обучения и фреймворк для их сборки в пользовательские образы Docker.

В основе Deepo лежит генератор файлов Dockerfile, который:

  • позволяет настраивать среду глубокого обучения с помощью модулей, похожих на Lego;
  • определяет среду в одной командной строке;
  • генерирует файлы Dockerfile с лучшими практиками;
  • автоматически разрешает зависимости;
  • знает, какие комбинации (CUDA/cuDNN/Python/PyTorch/Tensorflow и т. д.) совместимы;
  • выбирает правильные версии для вас;
  • организует последовательность процедур установки с использованием топологической сортировки.

Мы также готовим серию готовых образов Docker, которые:

  • позволяют мгновенно настроить общую среду для исследования глубокого обучения;
  • поддерживают почти все широко используемые фреймворки глубокого обучения;
  • поддерживают ускорение GPU (включая CUDA и cuDNN), а также работают в режиме только для CPU;
  • работают на Linux (версия для CPU/GPU), Windows (версия для CPU) и OS X (версия для CPU).

Содержание:

  1. Быстрый старт:
    • версия для GPU: установка и использование;
    • версия для CPU: установка и использование.
  2. Настройка:
    • не устраивает универсальное решение?
    • поддержка Jupyter;
    • создайте собственный образ.
  3. Сравнение с альтернативами.
  4. Теги: доступные теги и устаревшие теги.
  5. Цитирование.
  6. Вклад.
  7. Лицензирование.

Быстрый старт

Версия для GPU

Установка:

Шаг 1. Установите Docker и nvidia-docker.

Шаг 2. Получите универсальный образ из Docker Hub.

docker pull ufoym/deepo

Для пользователей в Китае, которые могут столкнуться с медленной скоростью при загрузке образа из общедоступного реестра Docker, вы можете загрузить образы deepo из зеркала реестра Китая, указав полный путь, включая реестр, в команде docker pull, например:

docker pull registry.docker-cn.com/ufoym/deepo

Использование: Теперь вы можете попробовать эту команду:

docker run --gpus all --rm ufoym/deepo nvidia-smi

Это должно работать и позволяет Deepo использовать графический процессор внутри контейнера Docker. Если это не работает, выполните поиск в разделе проблем на GitHub nvidia-docker — многие решения уже задокументированы. Чтобы получить интерактивную оболочку для контейнера, который не будет автоматически удалён после выхода, выполните:

docker run --gpus all -it ufoym/deepo bash

Если вы хотите поделиться своими данными и конфигурациями между хостом (вашей машиной или виртуальной машиной) и контейнером, в котором вы используете Deepo, используйте опцию -v, например:

docker run --gpus all -it -v /host/data:/data -v /host/config:/config ufoym/deepo bash

Это сделает /host/data с хоста видимым как /data в контейнере, и... Хост-конфигурация как конфигурация. Такая изоляция снижает вероятность того, что ваши эксперименты в контейнерах перезапишут или используют неверные данные.

Обратите внимание, что некоторые фреймворки (например, PyTorch) используют общую память для обмена данными между процессами, поэтому, если используется многопроцессорность, размера сегмента общей памяти по умолчанию, с которым работает контейнер, недостаточно, и вам следует увеличить размер общей памяти либо с помощью параметров командной строки --ipc=host или --shm-size для docker run.

docker run --gpus all -it --ipc=host ufoym/deepo bash

Версия CPU

Установка

Шаг 1. Установите Docker.

Шаг 2. Получите универсальный образ из Docker Hub.

docker pull ufoym/deepo:cpu

Использование

Теперь вы можете попробовать эту команду:

docker run -it ufoym/deepo:cpu bash

Если вы хотите поделиться своими данными и конфигурациями между хостом (вашей машиной или виртуальной машиной) и контейнером, в котором вы используете Deepo, используйте опцию -v, например:

docker run -it -v /host/data:/data -v /host/config:/config ufoym/deepo:cpu bash

Это сделает /host/data с хоста видимым как /data в контейнере, а /host/config как /config. Такая изоляция снижает вероятность того, что ваши эксперименты с контейнерами перезапишут или будут использовать неверные данные.

Обратите внимание, что некоторые фреймворки (например, PyTorch) используют общую память для обмена данными между процессами, поэтому, если используется многопроцессорность, размера сегмента общей памяти по умолчанию, с которым работает контейнер, недостаточно, и вам следует увеличить размер общей памяти либо с помощью параметров командной строки --ipc=host или --shm-size для docker run.

docker run -it --ipc=host ufoym/deepo:cpu bash

Вы готовы начать свой путь.

$ python

>>> import tensorflow
>>> import sonnet
>>> import torch
>>> import keras
>>> import mxnet
>>> import cntk
>>> import chainer
>>> import theano
>>> import lasagne
>>> import caffe
>>> import paddle

$ caffe --version

caffe version 1.0.0

$ darknet

usage: darknet <function>

Настройка

Обратите внимание, что docker pull ufoym/deepo, упомянутый в разделе «Быстрый старт», предоставит вам стандартный образ, содержащий все доступные фреймворки глубокого обучения. Вы также можете настроить свою собственную среду.

Не устраивает универсальное решение?

Если вам больше нравится конкретный фреймворк, чем универсальный образ, просто добавьте тег с названием фреймворка. Возьмём, к примеру, TensorFlow:

docker pull ufoym/deepo:tensorflow

Поддержка Jupyter

Шаг 1. Загрузите универсальный образ.

docker pull ufoym/deepo

Шаг 2. Запустите образ.

docker run --gpus all -it -p 8888:8888 -v /home/u:/root --ipc=host ufoym/deepo jupyter lab --no-browser --ip=0.0.0.0 --allow-root --LabApp.allow_origin='*' --LabApp.root_dir='/root'

Создайте собственный образ с модулями Lego

Шаг 1. Подготовьте генератор.

git clone https://github.com/ufoym/deepo.git
cd deepo/generator

Шаг 2. Сгенерируйте свой собственный Dockerfile.

Например, если вам нравятся pytorch и lasagne, то

python generate.py Dockerfile pytorch lasagne

или с CUDA 11.1 и CUDNN 8

python generate.py Dockerfile pytorch lasagne --cuda-ver 11.1 --cudnn-ver 8

Этот файл должен создать Dockerfile, который содержит всё необходимое для сборки pytorch и lasagne. Обратите внимание, что генератор может обрабатывать автоматическую обработку зависимостей и топологически сортировать списки. Поэтому вам не нужно беспокоиться об отсутствующих зависимостях и порядке списка. Вы также можете указать версию Python:

python generate.py Dockerfile pytorch lasagne python==3.6

Шаг 3. Соберите свой Dockerfile.

docker build -t my/deepo .

На это может уйти несколько минут, так как он компилирует несколько библиотек с нуля. | modern-deep-learning | dl-docker | jupyter-deeplearning | Deepo :------------------------------------------------: | :------------------: | :----------------: | :------------------: ubuntu | 16.04 | 14.04 | 14.04 cuda | X | 8.0 | 6.5-8.0 cudnn | X | v5 | v2-5 onnx | X | X | X theano | X | O | O tensorflow | O | O | O sonnet | X | X | X pytorch | X | X | X keras | O | O | O lasagne | X | O | O mxnet | X | X | X cntk | X | X | X chainer | X | X | X caffe | O | O | O caffe2 | X | X | X torch | X | O | O darknet | X | X | X paddlepaddle | X | X | X

# Tags ## Available Tags
. CUDA 11.3 / Python 3.8 CPU-only / Python 3.8
all-in-one latest all all-py38 py38-cu113 all-py38-cu113 all-py38-cpu all-cpu py38-cpu cpu
TensorFlow tensorflow-py38-cu113 tensorflow-py38 tensorflow tensorflow-py38-cpu tensorflow-cpu
PyTorch pytorch-py38-cu113 pytorch-py38 pytorch pytorch-py38-cpu pytorch-cpu
Keras keras-py38-cu113 keras-py38 keras keras-py38-cpu keras-cpu
MXNet mxnet-py38-cu113 mxnet-py38 mxnet mxnet-py38-cpu mxnet-cpu
Chainer chainer-py38-cu113 chainer-py38 chainer chainer-py38-cpu chainer-cpu
Darknet darknet-cu113 darknet darknet-cpu
PaddlePaddle paddle-cu113 paddle paddle-cpu
## Deprecated Tags

. | CUDA 11.3 / Python 3.6 | CUDA 11.1 / Python 3.6

Примечание: в запросе присутствуют специальные теги markdown, которые были сохранены в ответе. | Chainer | Caffe | Caffe2 | Torch | Darknet | |-------------|-----------|----------|---------|------------| | chainer-py36-cu111 | Caffe (http://caffe.berkeleyvision.org) | Caffe2 (https://caffe2.ai) | Torch (http://torch.ch/) | Darknet (https://pjreddie.com/darknet/) | | chainer-py36-cu101 | caffe-py36-cu113 | — | torch-cu113 | darknet-cu113 | | chainer-py36-cu100 | caffe-py36-cu111 | — | torch-cu111 | darknet-cu111 | | chainer-py36-cu90 | caffe-py36-cu101 | — | torch-cu101 | darknet-cu101 | | chainer-py27-cu90, chainer-py27 | caffe-py27-cu90, caffe-py27 | — | torch-cu90, torch | darknet-cu90, darknet | | — | — | — | torch-cpu | — | | — | — | caffe2-py36-cpu, caffe2-cpu | torch-cpu | — | | — | — | caffe2-py27-cpu | — | — |

Citation

@misc{ming2017deepo,
    author = {Ming Yang},
    title = {Deepo: set up deep learning environment in a single command line.},
    year = {2017},
    publisher = {GitHub},
    journal = {GitHub repository},
    howpublished = {\url{https://github.com/ufoym/deepo}}
}

Contributing

We appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us.

Licensing

Deepo is MIT licensed.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Deepo — это Docker-образ, предоставляющий полностью воспроизводимую среду для исследований в области глубокого обучения. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-Deepo.git
git@api.gitlife.ru:oschina-mirror/mirrors-Deepo.git
oschina-mirror
mirrors-Deepo
mirrors-Deepo
master