Реализация C++ учебных пособий по PyTorch для всех
ОС (компилятор)LibTorch | 2.3.0 |
---|---|
macOS (клавиш 11, 12, 13) | |
Linux (GCC 9, 10, 11) | |
Windows (мсвк 2019, 2022) |
Этот репозиторий предоставляет учебный код на C++ для исследователей глубокого обучения, изучающих PyTorch (т. е. разделы с 1 по 3).
Учебник по Python : https://github.com/yunjey/pytorch-tutorial
Примечание . Интерактивные руководства в настоящее время работают в ночной версии LibTorch .
Итак, есть несколько руководств, которые могут сломаться при работе с ночной версией .
conda create --name pytorch-cpp
conda activate pytorch-cpp
conda install xeus-cling notebook -c conda-forge
git clone https://github.com/prabhuomkar/pytorch-cpp.git
cd pytorch-cpp
cmake -B build # <options>
Примечание для пользователей Windows:
Libtorch поддерживает только 64-битную Windows, поэтому необходимо указать генератор x64. В Visual Studio это можно сделать, добавив-A x64
к приведенной выше команде.
Несколько полезных опций:
Вариант | По умолчанию | Описание |
---|---|---|
-D CUDA_V=(11.8|12.1|none) | none | Загрузите LibTorch для версии CUDA ( none = загрузить версию ЦП). |
-D LIBTORCH_DOWNLOAD_BUILD_TYPE=(Release|Debug) | Release | Определяет, какую версию типа сборки libtorch загрузить (актуально только для Windows ). |
-D DOWNLOAD_DATASETS=(OFF|ON) | ON | Загрузите необходимые наборы данных во время сборки (только если они еще не существуют в pytorch-cpp/data ). |
-D CREATE_SCRIPTMODULES=(OFF|ON) | OFF | Создайте все необходимые файлы модулей сценариев для предварительно изученных моделей/весов во время сборки. Требуется установленный Python3 с pytorch и torchvision. |
-D CMAKE_PREFIX_PATH=path/to/libtorch/share/cmake/Torch | <empty> | Пропустите загрузку LibTorch и используйте вместо этого собственную локальную версию (см. Требования). |
-D CMAKE_BUILD_TYPE=(Release|Debug|...) | <empty> | Определяет тип сборки CMake для генераторов с одной конфигурацией (см. документацию CMake). |
cmake -B build
-D CMAKE_BUILD_TYPE=Release
-D CMAKE_PREFIX_PATH=/path/to/libtorch/share/cmake/Torch
-D CREATE_SCRIPTMODULES=ON
cmake -B build
-A x64
-D CUDA_V=11.8
Примечание для пользователей Windows (Visual Studio):
Сценарий CMake загружает версию Release LibTorch, поэтому к команде сборки необходимо добавить--config Release
.
Как работает загрузка набора данных и создание модуля сценария:
DOWNLOAD_DATASETS
имеет значение ON
, наборы данных, необходимые для учебных пособий, которые вы выбираете для создания, будут загружены в pytorch-cpp/data
(если они там еще не существуют).CREATE_SCRIPTMODULES
ON
, файлы модулей сценариев для предварительно изученных моделей/весов, необходимых для учебных пособий, которые вы выбираете для создания, будут созданы в папке model
в исходной папке соответствующего учебного пособия (если они еще не существуют). Для создания всех руководств используйте
cmake --build build
Вы можете создавать учебные пособия только в одной из категорий: basics
, intermediate
, advanced
или popular
. Например, если вас интересуют только basics
уроки:
cmake --build build --target basics
# In general: cmake --build build --target {category}
Вы также можете создать только одно руководство. Например, чтобы создать только учебное пособие по языковой модели:
cmake --build build --target language-model
# In general: cmake --build build --target {tutorial-name}
Примечание :
Целевым аргументом является имя папки руководства, в котором все подчеркивания заменены дефисами.
Совет для пользователей версии CMake >= 3.15 :
Вы можете указать несколько целей, разделенных пробелами, например:cmake --build build --target language-model image-captioning
build/tutorials
. Например, предположим, что вы находитесь в каталоге pytorch-cpp
и хотите перейти в папку с учебными пособиями по основам pytorch: cd build/tutorials/basics/pytorch_basics
# In general: cd build/tutorials/{basics|intermediate|advanced|popular/blitz}/{tutorial_name}
pytorch_basics
-> имя исполняемого файла: pytorch-basics
(или pytorch-basics.exe
в Windows)). Например, чтобы запустить руководство по основам Pytorch:./pytorch-basics
# In general: ./{tutorial-name}
. pytorch-basics.exe
# In general: .{tutorial-name}.exe
Найдите образы последней и предыдущей версии в Docker Hub.
Вы можете создать и запустить учебные пособия (на ЦП) в контейнере Docker, используя предоставленные файлы Dockerfile
и docker-compose.yml
:
docker-compose build --build-arg USER_ID= $( id -u ) --build-arg GROUP_ID= $( id -g )
Примечание :
Когда вы запускаете контейнер Docker, каталог репозитория хоста монтируется как том в контейнере Docker, чтобы кэшировать сборки и загруженные файлы зависимостей, чтобы не было необходимости пересобирать или повторно загружать все при перезапуске контейнера. Чтобы иметь правильные права доступа к файлам, необходимо указать идентификаторы пользователя и группы в качестве аргументов сборки при сборке образа в Linux.
docker-compose run --rm pytorch-cpp
bash
в интерактивном режиме в папке build/tutorials
.basics
, intermediate
, advanced
, popular
): docker-compose run --rm pytorch-cpp {category}
docker-compose run --rm pytorch-cpp pytorch-basics
# In general: docker-compose run --rm pytorch-cpp {tutorial-name}
Этот репозиторий имеет лицензию MIT, как указано в ЛИЦЕНЗИИ.