Implementasi C++ Tutorial PyTorch untuk Semua Orang
OS (Kompiler)LibTorch | 2.3.0 |
---|---|
macOS (dentang 11, 12, 13) | |
Linux (gcc 9, 10, 11) | |
Windows (msvc 2019, 2022) |
Repositori ini menyediakan kode tutorial dalam C++ bagi peneliti pembelajaran mendalam untuk mempelajari PyTorch (yaitu Bagian 1 hingga 3)
Tutorial Python : https://github.com/yunjey/pytorch-tutorial
Catatan : Tutorial Interaktif sedang berjalan pada LibTorch Nightly Version .
Jadi ada beberapa tutorial yang bisa rusak ketika bekerja dengan versi nightly .
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>
Catatan untuk pengguna Windows:
Libtorch hanya mendukung Windows 64bit dan generator x64 perlu ditentukan. Untuk Visual Studio ini dapat dilakukan dengan menambahkan-A x64
ke perintah di atas.
Beberapa opsi berguna:
Pilihan | Bawaan | Keterangan |
---|---|---|
-D CUDA_V=(11.8|12.1|none) | none | Unduh LibTorch untuk versi CUDA ( none = unduh versi CPU). |
-D LIBTORCH_DOWNLOAD_BUILD_TYPE=(Release|Debug) | Release | Menentukan versi tipe build libtorch mana yang akan diunduh (hanya relevan di Windows ). |
-D DOWNLOAD_DATASETS=(OFF|ON) | ON | Unduh kumpulan data yang diperlukan selama pembuatan (hanya jika kumpulan data tersebut belum ada di pytorch-cpp/data ). |
-D CREATE_SCRIPTMODULES=(OFF|ON) | OFF | Buat semua file scriptmodule yang diperlukan untuk model/bobot yang telah dipelajari sebelumnya selama pembuatan. Memerlukan instalasi python3 dengan pytorch dan torchvision. |
-D CMAKE_PREFIX_PATH=path/to/libtorch/share/cmake/Torch | <empty> | Lewati pengunduhan LibTorch dan gunakan versi lokal Anda sendiri (lihat Persyaratan) sebagai gantinya. |
-D CMAKE_BUILD_TYPE=(Release|Debug|...) | <empty> | Menentukan tipe build CMake untuk generator konfigurasi tunggal (lihat dokumen 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
Catatan untuk pengguna Windows (Visual Studio):
Skrip CMake mengunduh versi Rilis LibTorch, jadi--config Release
harus ditambahkan ke perintah build.
Cara kerja pengunduhan kumpulan data dan pembuatan modul skrip:
DOWNLOAD_DATASETS
ON
, kumpulan data yang diperlukan oleh tutorial yang Anda pilih untuk dibuat akan diunduh ke pytorch-cpp/data
(jika belum ada di sana).CREATE_SCRIPTMODULES
ON
, file scriptmodule untuk model/bobot yang telah dipelajari sebelumnya yang diperlukan oleh tutorial yang Anda pilih untuk dibuat akan dibuat di folder model
dari folder sumber tutorial masing-masing (jika belum ada). Untuk membangun semua tutorial gunakan
cmake --build build
Anda dapat memilih untuk hanya membuat tutorial dalam salah satu kategori basics
, intermediate
, advanced
, atau popular
. Misalnya, jika Anda hanya tertarik pada tutorial basics
:
cmake --build build --target basics
# In general: cmake --build build --target {category}
Anda juga dapat memilih untuk hanya membuat satu tutorial. Misalnya untuk membangun tutorial model bahasa saja:
cmake --build build --target language-model
# In general: cmake --build build --target {tutorial-name}
Catatan :
Argumen targetnya adalah nama folder tutorial dengan semua garis bawah diganti dengan tanda hubung.
Tip untuk pengguna CMake versi >= 3.15 :
Anda dapat menentukan beberapa target yang dipisahkan dengan spasi, misalnya:cmake --build build --target language-model image-captioning
build/tutorials
. Misalnya, dengan asumsi Anda berada di direktori pytorch-cpp
dan ingin mengubah ke folder tutorial dasar-dasar pytorch: cd build/tutorials/basics/pytorch_basics
# In general: cd build/tutorials/{basics|intermediate|advanced|popular/blitz}/{tutorial_name}
pytorch_basics
-> nama executable: pytorch-basics
(atau pytorch-basics.exe
di Windows)). Misalnya, untuk menjalankan tutorial dasar-dasar pytorch:./pytorch-basics
# In general: ./{tutorial-name}
. pytorch-basics.exe
# In general: .{tutorial-name}.exe
Temukan image versi terbaru dan sebelumnya di Docker Hub.
Anda dapat membuat dan menjalankan tutorial (di CPU) dalam container Docker menggunakan file Dockerfile
dan docker-compose.yml
yang disediakan:
docker-compose build --build-arg USER_ID= $( id -u ) --build-arg GROUP_ID= $( id -g )
Catatan :
Saat Anda menjalankan kontainer Docker, direktori repo host dipasang sebagai volume di kontainer Docker untuk menyimpan cache build dan file ketergantungan yang diunduh sehingga tidak perlu membangun kembali atau mengunduh ulang semuanya saat kontainer dimulai ulang. Untuk mendapatkan izin file yang benar, Anda perlu memberikan id pengguna dan grup Anda sebagai argumen build saat membuat image di Linux.
docker-compose run --rm pytorch-cpp
bash
dalam mode interaktif di folder 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}
Repositori ini dilisensikan di bawah MIT sebagaimana diberikan dalam LISENSI.