การใช้ C++ ของบทช่วยสอน PyTorch สำหรับทุกคน
OS (คอมไพเลอร์)LibTorch | 2.3.0 |
---|---|
macOS (เสียงดังกราว 11, 12, 13) | |
ลินุกซ์ (gcc 9, 10, 11) | |
Windows (msvc 2019, 2022) |
พื้นที่เก็บข้อมูลนี้มีโค้ดการสอนในภาษา C++ สำหรับนักวิจัยด้านการเรียนรู้เชิงลึกเพื่อเรียนรู้ PyTorch (เช่น ส่วนที่ 1 ถึง 3)
บทช่วยสอน Python : https://github.com/yunjey/pytorch-tutorial
หมายเหตุ : ขณะนี้บทช่วยสอนแบบโต้ตอบกำลังทำงานบน LibTorch Nightly Version
ดังนั้นจึงมีบทช่วยสอนบางส่วนที่อาจใช้งานไม่ได้เมื่อทำงานกับ เวอร์ชันกลางคืน
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 รองรับเฉพาะ Windows 64 บิต และจำเป็นต้องระบุตัวสร้าง x64 สำหรับ Visual Studio สามารถทำได้โดยการต่อท้าย-A x64
เข้ากับคำสั่งด้านบน
ตัวเลือกที่มีประโยชน์บางประการ:
ตัวเลือก | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|
-D CUDA_V=(11.8|12.1|none) | none | ดาวน์โหลด LibTorch สำหรับเวอร์ชัน CUDA ( none = ดาวน์โหลดเวอร์ชัน CPU) |
-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 ดาวน์โหลด LibTorch เวอร์ชัน Release ดังนั้นจึงต้องเพิ่ม--config Release
เข้ากับคำสั่ง build
การดาวน์โหลดชุดข้อมูลและการสร้างโมดูลสคริปต์ทำงานอย่างไร:
DOWNLOAD_DATASETS
ON
ชุดข้อมูลที่จำเป็นสำหรับบทช่วยสอนที่คุณเลือกสร้างจะถูกดาวน์โหลดไปยัง pytorch-cpp/data
(หากยังไม่มีอยู่ที่นั่น)CREATE_SCRIPTMODULES
ON
ไฟล์โมดูลสคริปต์สำหรับโมเดลที่เรียนรู้ล่วงหน้า / น้ำหนักที่จำเป็นสำหรับบทช่วยสอนที่คุณเลือกสร้างจะถูกสร้างขึ้นในโฟลเดอร์ model
ของโฟลเดอร์ซอร์สของบทช่วยสอนที่เกี่ยวข้อง (หากยังไม่มี) เพื่อสร้างบทช่วยสอนทั้งหมดให้ใช้
cmake --build build
คุณสามารถเลือกสร้างเฉพาะบทช่วยสอนในหมวด basics
intermediate
สูง หรือ popular
advanced
ตัวอย่างเช่น หากคุณสนใจเฉพาะบทช่วยสอน 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
คุณสามารถสร้างและเรียกใช้บทช่วยสอน (บน CPU) ในคอนเทนเนอร์ Docker โดยใช้ไฟล์ Dockerfile
และ docker-compose.yml
ที่ให้มา:
docker-compose build --build-arg USER_ID= $( id -u ) --build-arg GROUP_ID= $( id -g )
บันทึก :
เมื่อคุณเรียกใช้คอนเทนเนอร์ Docker ไดเร็กทอรี repo ของโฮสต์จะถูกต่อเชื่อมเป็นโวลุ่มในคอนเทนเนอร์ 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 ตามที่กำหนดใน LICENSE