PyTorch เป็นแพ็คเกจ Python ที่มีคุณสมบัติระดับสูงสองประการ:
คุณสามารถใช้แพ็คเกจ Python ที่คุณชื่นชอบซ้ำได้ เช่น NumPy, SciPy และ Cython เพื่อขยาย PyTorch เมื่อจำเป็น
คุณสามารถดูสุขภาพลำตัวของเรา (สัญญาณการบูรณาการอย่างต่อเนื่อง) ได้ที่ hud.pytorch.org
เรียนรู้พื้นฐานของ PyTorch
ในระดับย่อย PyTorch เป็นไลบรารีที่ประกอบด้วยส่วนประกอบต่อไปนี้:
ส่วนประกอบ | คำอธิบาย |
---|---|
คบเพลิง | ไลบรารี Tensor เช่น NumPy พร้อมการรองรับ GPU ที่แข็งแกร่ง |
คบเพลิง.ออโต้กราด | ไลบรารีการสร้างความแตกต่างอัตโนมัติที่ใช้เทปซึ่งรองรับการทำงานของ Tensor ที่สามารถหาความแตกต่างได้ทั้งหมดในคบเพลิง |
torch.jit | สแต็กการคอมไพล์ (TorchScript) เพื่อสร้างโมเดลที่ต่อเนื่องและปรับให้เหมาะสมได้จากโค้ด PyTorch |
torch.nn | ไลบรารีโครงข่ายประสาทเทียมที่ผสานรวมเข้ากับระบบอัตโนมัติที่ออกแบบมาเพื่อความยืดหยุ่นสูงสุด |
ไฟฉาย มัลติโพรเซสซิง | Python ประมวลผลหลายตัว แต่มีการแบ่งปันหน่วยความจำอันมหัศจรรย์ของ torch Tensors ข้ามกระบวนการ มีประโยชน์สำหรับการโหลดข้อมูลและการฝึกอบรม Hogwild |
torch.utils | DataLoader และฟังก์ชั่นยูทิลิตี้อื่น ๆ เพื่อความสะดวก |
โดยปกติแล้ว PyTorch จะถูกใช้เป็น:
อธิบายเพิ่มเติม:
หากคุณใช้ NumPy แสดงว่าคุณใช้ Tensors (aka ndarray)
PyTorch มีเทนเซอร์ที่สามารถใช้งานได้ทั้งบน CPU หรือ GPU และเร่งการคำนวณเป็นจำนวนมาก
เรามีรูทีนเทนเซอร์ที่หลากหลายเพื่อเร่งและตอบสนองความต้องการในการคำนวณทางวิทยาศาสตร์ของคุณ เช่น การแบ่งส่วน การจัดทำดัชนี การดำเนินการทางคณิตศาสตร์ พีชคณิตเชิงเส้น การลดลง และพวกเขาก็เร็ว!
PyTorch มีวิธีที่ไม่เหมือนใครในการสร้างโครงข่ายประสาทเทียม: การใช้และเล่นเครื่องบันทึกเทปซ้ำ
เฟรมเวิร์กส่วนใหญ่ เช่น TensorFlow, Theano, Caffe และ CNTK มีมุมมองที่คงที่ต่อโลก เราต้องสร้างโครงข่ายประสาทเทียมและนำโครงสร้างเดิมกลับมาใช้ซ้ำแล้วซ้ำอีก การเปลี่ยนแปลงวิธีการทำงานของเครือข่ายหมายความว่าเราต้องเริ่มต้นใหม่ตั้งแต่ต้น
ด้วย PyTorch เราใช้เทคนิคที่เรียกว่า Reverse-mode auto-differentiation ซึ่งช่วยให้คุณเปลี่ยนวิธีการทำงานของเครือข่ายได้ตามต้องการโดยไม่มีความล่าช้าหรือโอเวอร์เฮดเป็นศูนย์ แรงบันดาลใจของเรามาจากงานวิจัยหลายฉบับในหัวข้อนี้ รวมถึงผลงานในปัจจุบันและในอดีต เช่น torch-autograd, autograd, Chainer เป็นต้น
แม้ว่าเทคนิคนี้จะไม่ใช่เทคนิคเฉพาะของ PyTorch แต่ก็เป็นหนึ่งในการใช้งานที่รวดเร็วที่สุดในปัจจุบัน คุณจะได้รับความเร็วและความยืดหยุ่นที่ดีที่สุดสำหรับการค้นคว้าที่บ้าคลั่งของคุณ
PyTorch ไม่ใช่ Python ที่เชื่อมโยงกับเฟรมเวิร์ก C++ แบบเสาหิน มันถูกสร้างขึ้นเพื่อรวมเข้ากับ Python อย่างลึกซึ้ง คุณสามารถใช้มันได้อย่างเป็นธรรมชาติเหมือนกับที่คุณใช้ NumPy / SciPy / scikit-learn เป็นต้น คุณสามารถเขียนเลเยอร์เครือข่ายประสาทใหม่ของคุณใน Python ได้โดยใช้ไลบรารีที่คุณชื่นชอบ และใช้แพ็คเกจ เช่น Cython และ Numba เป้าหมายของเราคือการไม่สร้างวงล้อขึ้นมาใหม่ตามความเหมาะสม
PyTorch ได้รับการออกแบบให้ใช้งานง่าย มีความคิดเป็นเส้นตรง และใช้งานง่าย เมื่อคุณรันโค้ดหนึ่งบรรทัด มันจะถูกดำเนินการ ไม่มีมุมมองแบบอะซิงโครนัสของโลก เมื่อคุณวางลงในดีบักเกอร์หรือได้รับข้อความแสดงข้อผิดพลาดและการติดตามสแต็ก การทำความเข้าใจสิ่งเหล่านั้นจะตรงไปตรงมา การติดตามสแต็กชี้ไปยังตำแหน่งที่โค้ดของคุณถูกกำหนดไว้อย่างชัดเจน เราหวังว่าคุณจะไม่ใช้เวลาหลายชั่วโมงในการดีบักโค้ดของคุณเนื่องจากการติดตามสแต็กที่ไม่ดีหรือกลไกการดำเนินการแบบอะซิงโครนัสและทึบแสง
PyTorch มีค่าใช้จ่ายด้านเฟรมเวิร์กน้อยที่สุด เรารวมไลบรารีการเร่งความเร็วเช่น Intel MKL และ NVIDIA (cuDNN, NCCL) เพื่อเพิ่มความเร็วสูงสุด ที่แกนกลาง CPU และ GPU Tensor และแบ็กเอนด์โครงข่ายประสาทเทียมมีความสมบูรณ์และได้รับการทดสอบมานานหลายปี
ดังนั้น PyTorch จึงค่อนข้างเร็ว — ไม่ว่าคุณจะใช้งานโครงข่ายประสาทเทียมขนาดเล็กหรือใหญ่ก็ตาม
การใช้หน่วยความจำใน PyTorch นั้นมีประสิทธิภาพอย่างมากเมื่อเทียบกับ Torch หรือทางเลือกอื่น เราได้เขียนตัวจัดสรรหน่วยความจำแบบกำหนดเองสำหรับ GPU เพื่อให้แน่ใจว่าโมเดลการเรียนรู้เชิงลึกของคุณมีประสิทธิภาพหน่วยความจำสูงสุด สิ่งนี้ทำให้คุณสามารถฝึกฝนโมเดลการเรียนรู้เชิงลึกที่ใหญ่ขึ้นกว่าเดิม
การเขียนโมดูลโครงข่ายประสาทเทียมใหม่ หรือการเชื่อมต่อกับ Tensor API ของ PyTorch ได้รับการออกแบบมาให้ตรงไปตรงมาและมีสิ่งนามธรรมน้อยที่สุด
คุณสามารถเขียนเลเยอร์เครือข่ายประสาทใหม่ใน Python ได้โดยใช้ torch API หรือไลบรารีที่ใช้ NumPy ที่คุณชื่นชอบ เช่น SciPy
หากคุณต้องการเขียนเลเยอร์ของคุณด้วย C/C++ เรามีส่วนขยาย API ที่สะดวกสบายซึ่งมีประสิทธิภาพและมีต้นแบบน้อยที่สุด ไม่จำเป็นต้องเขียนโค้ด wrapper คุณสามารถดูบทช่วยสอนได้ที่นี่และตัวอย่างที่นี่
คำสั่งในการติดตั้งไบนารีผ่าน Conda หรือ pip wheel อยู่ในเว็บไซต์ของเรา: https://pytorch.org/get-started/locally/
ล้อ Python สำหรับ Jetson Nano, Jetson TX1/TX2, Jetson Xavier NX/AGX และ Jetson AGX Orin ของ NVIDIA มีให้ที่นี่ และคอนเทนเนอร์ L4T ได้รับการเผยแพร่ที่นี่
พวกเขาต้องการ JetPack 4.2 ขึ้นไป และ @dusty-nv และ @ptrblck กำลังดูแลรักษาสิ่งเหล่านี้
หากคุณกำลังติดตั้งจากแหล่งที่มา คุณจะต้อง:
* PyTorch CI ใช้ Visual C++ BuildTools ซึ่งมาพร้อมกับ Visual Studio Enterprise, Professional หรือ Community Editions คุณยังสามารถติดตั้งเครื่องมือสร้างได้จากhttps://visualstudio.microsoft.com/visual-cpp-build-tools/ เครื่องมือสร้าง ไม่ได้ มาพร้อมกับ Visual Studio Code ตามค่าเริ่มต้น
* เราขอแนะนำอย่างยิ่งให้ติดตั้งสภาพแวดล้อม Anaconda คุณจะได้รับไลบรารี BLAS (MKL) คุณภาพสูง และคุณจะได้รับเวอร์ชันการพึ่งพาที่มีการควบคุม โดยไม่คำนึงถึง distro Linux ของคุณ
ตัวอย่างของการตั้งค่าสภาพแวดล้อมแสดงไว้ด้านล่าง:
$ source < CONDA_INSTALL_DIR > /bin/activate
$ conda create -y -n < CONDA_NAME >
$ conda activate < CONDA_NAME >
$ source < CONDA_INSTALL_DIR > S cripts a ctivate.bat
$ conda create -y -n < CONDA_NAME >
$ conda activate < CONDA_NAME >
$ call " C:Program FilesMicrosoft Visual Studio<VERSION>CommunityVCAuxiliaryBuildvcvarsall.bat " x64
หากคุณต้องการคอมไพล์ด้วยการสนับสนุน CUDA ให้เลือกเวอร์ชันที่รองรับของ CUDA จากเมทริกซ์การสนับสนุนของเรา จากนั้นติดตั้งสิ่งต่อไปนี้:
หมายเหตุ: คุณสามารถอ้างถึง cuDNN Support Matrix สำหรับเวอร์ชัน cuDNN พร้อมด้วย CUDA, ไดรเวอร์ CUDA และฮาร์ดแวร์ NVIDIA ที่รองรับต่างๆ
หากคุณต้องการปิดใช้งานการสนับสนุน CUDA ให้ส่งออกตัวแปรสภาพแวดล้อม USE_CUDA=0
ตัวแปรสภาพแวดล้อมที่อาจเป็นประโยชน์อื่นๆ อาจพบได้ใน setup.py
หากคุณกำลังสร้างสำหรับแพลตฟอร์ม Jetson ของ NVIDIA (Jetson Nano, TX1, TX2, AGX Xavier) คำแนะนำในการติดตั้ง PyTorch สำหรับ Jetson Nano มีอยู่ที่นี่
หากคุณต้องการคอมไพล์ด้วยการสนับสนุน ROCm ให้ติดตั้ง
ตามค่าเริ่มต้น ระบบบิลด์คาดว่าจะติดตั้ง ROCm ใน /opt/rocm
หากติดตั้ง ROCm ในไดเร็กทอรีอื่น ตัวแปรสภาพแวดล้อม ROCM_PATH
จะต้องตั้งค่าเป็นไดเร็กทอรีการติดตั้ง ROCm ระบบบิลด์จะตรวจจับสถาปัตยกรรม AMD GPU โดยอัตโนมัติ อีกทางหนึ่ง สถาปัตยกรรม AMD GPU สามารถตั้งค่าได้อย่างชัดเจนด้วยสถาปัตยกรรม AMD GPU ตัวแปรสภาพแวดล้อม PYTORCH_ROCM_ARCH
หากคุณต้องการปิดใช้งานการสนับสนุน ROCm ให้ส่งออกตัวแปรสภาพแวดล้อม USE_ROCM=0
ตัวแปรสภาพแวดล้อมที่อาจเป็นประโยชน์อื่นๆ อาจพบได้ใน setup.py
หากคุณต้องการคอมไพล์ด้วยการรองรับ Intel GPU ให้ปฏิบัติตามสิ่งเหล่านี้
หากคุณต้องการปิดการใช้งานการสนับสนุน Intel GPU ให้ส่งออกตัวแปรสภาพแวดล้อม USE_XPU=0
ตัวแปรสภาพแวดล้อมที่อาจเป็นประโยชน์อื่นๆ อาจพบได้ใน setup.py
git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive
ทั่วไป
conda install cmake ninja
# Run this command on native Windows
conda install rust
# Run this command from the PyTorch directory after cloning the source code using the “Get the PyTorch Source“ section below
pip install -r requirements.txt
บนลินุกซ์
pip install mkl-static mkl-include
# CUDA only: Add LAPACK support for the GPU if needed
conda install -c pytorch magma-cuda121 # or the magma-cuda* that matches your CUDA version from https://anaconda.org/pytorch/repo
# (optional) If using torch.compile with inductor/triton, install the matching version of triton
# Run from the pytorch directory after cloning
# For Intel GPU support, please explicitly `export USE_XPU=1` before running command.
make triton
บนแมคโอเอส
# Add this package on intel x86 processor machines only
pip install mkl-static mkl-include
# Add these packages if torch.distributed is needed
conda install pkg-config libuv
บนวินโดวส์
pip install mkl-static mkl-include
# Add these packages if torch.distributed is needed.
# Distributed package support on Windows is a prototype feature and is subject to changes.
conda install -c conda-forge libuv=1.39
บนลินุกซ์
หากคุณต้องการคอมไพล์ PyTorch โดยเปิดใช้งาน C++ ABI ใหม่ ให้รันคำสั่งนี้ก่อน:
export _GLIBCXX_USE_CXX11_ABI=1
โปรด ทราบ ว่าตั้งแต่ PyTorch 2.5 เป็นต้นไป PyTorch build พร้อม XPU รองรับ ABI C++ ทั้งใหม่และเก่า ก่อนหน้านี้ XPU รองรับเฉพาะ C++ ABI ใหม่เท่านั้น หากคุณต้องการคอมไพล์ด้วยการรองรับ Intel GPU โปรดปฏิบัติตามการรองรับ Intel GPU
หากคุณกำลังคอมไพล์สำหรับ AMD ROCm ให้รันคำสั่งนี้ก่อน:
# Only run this if you're compiling for ROCm
python tools/amd_build/build_amd.py
ติดตั้ง PyTorch
export CMAKE_PREFIX_PATH= " ${CONDA_PREFIX :- ' $(dirname $(which conda))/../ ' } : ${CMAKE_PREFIX_PATH} "
python setup.py develop
บน macOS
python3 setup.py develop
บนวินโดวส์
หากคุณต้องการสร้างโค้ด Python รุ่นเก่า โปรดดูที่การสร้างด้วยโค้ดเดิมและ CUDA
บิลด์เฉพาะ CPU เท่านั้น
ในโหมดนี้การคำนวณ PyTorch จะทำงานบน CPU ของคุณ ไม่ใช่ GPU ของคุณ
python setup.py develop
หมายเหตุเกี่ยวกับ OpenMP: การใช้งาน OpenMP ที่ต้องการคือ Intel OpenMP (iomp) ในการเชื่อมโยงกับ iomp คุณจะต้องดาวน์โหลดไลบรารีด้วยตนเองและตั้งค่าสภาพแวดล้อมการสร้างโดยปรับแต่ง CMAKE_INCLUDE_PATH
และ LIB
คำแนะนำต่อไปนี้เป็นตัวอย่างการตั้งค่าทั้ง MKL และ Intel OpenMP หากไม่มีการกำหนดค่าเหล่านี้สำหรับ CMake จะใช้รันไทม์ Microsoft Visual C OpenMP (vcomp)
โครงสร้างตาม CUDA
ในโหมดนี้ การคำนวณ PyTorch จะใช้ประโยชน์จาก GPU ของคุณผ่าน CUDA เพื่อการกระทืบตัวเลขที่รวดเร็วยิ่งขึ้น
จำเป็นต้องใช้ NVTX เพื่อสร้าง Pytorch ด้วย CUDA NVTX เป็นส่วนหนึ่งของการกระจาย CUDA ซึ่งเรียกว่า "Nsight Compute" หากต้องการติดตั้งลงใน CUDA ที่ติดตั้งไว้แล้ว ให้รันการติดตั้ง CUDA อีกครั้ง และทำเครื่องหมายในช่องที่เกี่ยวข้อง ตรวจสอบให้แน่ใจว่าได้ติดตั้ง CUDA พร้อม Nsight Compute หลังจาก Visual Studio
ปัจจุบัน VS 2017/2019 และ Ninja ได้รับการรองรับในฐานะผู้สร้าง CMake หากตรวจพบ ninja.exe
ใน PATH
Ninja จะถูกนำมาใช้เป็นตัวสร้างเริ่มต้น มิฉะนั้นจะใช้ VS 2017 / 2019
หากเลือก Ninja เป็นตัวสร้าง MSVC ล่าสุดจะถูกเลือกเป็น toolchain พื้นฐาน
มักจำเป็นต้องมีไลบรารีเพิ่มเติม เช่น Magma, oneDNN, aka MKLDNN หรือ DNNL และ Sccache โปรดดูตัวช่วยการติดตั้งเพื่อติดตั้ง
คุณสามารถอ้างถึงสคริปต์ build_pytorch.bat สำหรับการกำหนดค่าตัวแปรสภาพแวดล้อมอื่นๆ
cmd
:: Set the environment variables after you have downloaded and unzipped the mkl package,
:: else CMake would throw an error as `Could NOT find OpenMP`.
set CMAKE_INCLUDE_PATH = {Your directory}mklinclude
set LIB = {Your directory}mkllib; %LIB%
:: Read the content in the previous section carefully before you proceed.
:: [Optional] If you want to override the underlying toolset used by Ninja and Visual Studio with CUDA, please run the following script block.
:: "Visual Studio 2019 Developer Command Prompt" will be run automatically.
:: Make sure you have CMake >= 3.12 before you do this when you use the Visual Studio generator.
set CMAKE_GENERATOR_TOOLSET_VERSION = 14.27
set DISTUTILS_USE_SDK = 1
for /f " usebackq tokens=* " %i in (`"% ProgramFiles(x86) %Microsoft Visual StudioInstallervswhere.exe" -version [15^,17^) -products * -latest -property installationPath`) do call "% iVCAuxiliaryBuildvcvarsall.bat " x64 -vcvars_ver= %CMAKE_GENERATOR_TOOLSET_VERSION%
:: [Optional] If you want to override the CUDA host compiler
set CUDAHOSTCXX = C:Program Files (x86)Microsoft Visual Studio2019CommunityVCToolsMSVC14.27.29110binHostX64x64cl.exe
python setup.py develop
คุณสามารถปรับการกำหนดค่าของตัวแปร cmake ได้ (โดยไม่ต้องสร้างก่อน) โดยทำดังต่อไปนี้ ตัวอย่างเช่น การปรับไดเร็กทอรีที่ตรวจพบล่วงหน้าสำหรับ CuDNN หรือ BLAS สามารถทำได้ด้วยขั้นตอนดังกล่าว
บนลินุกซ์
export CMAKE_PREFIX_PATH= " ${CONDA_PREFIX :- ' $(dirname $(which conda))/../ ' } : ${CMAKE_PREFIX_PATH} "
python setup.py build --cmake-only
ccmake build # or cmake-gui build
บน macOS
export CMAKE_PREFIX_PATH= " ${CONDA_PREFIX :- ' $(dirname $(which conda))/../ ' } : ${CMAKE_PREFIX_PATH} "
MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py build --cmake-only
ccmake build # or cmake-gui build
คุณยังสามารถดึงอิมเมจ Docker ที่สร้างไว้ล่วงหน้าจาก Docker Hub และรันด้วย Docker v19.03+
docker run --gpus all --rm -ti --ipc=host pytorch/pytorch:latest
โปรดทราบว่า PyTorch ใช้หน่วยความจำที่ใช้ร่วมกันเพื่อแบ่งปันข้อมูลระหว่างกระบวนการ ดังนั้นหากใช้การประมวลผลหลายตัวของคบเพลิง (เช่นสำหรับตัวโหลดข้อมูลแบบมัลติเธรด) ขนาดเซ็กเมนต์หน่วยความจำที่ใช้ร่วมกันเริ่มต้นที่คอนเทนเนอร์ทำงานด้วยจะไม่เพียงพอ และคุณควรเพิ่มขนาดหน่วยความจำที่ใช้ร่วมกันด้วย --ipc=host
หรือ --shm-size
ตัวเลือกบรรทัดคำสั่งเพื่อ nvidia-docker run
หมายเหตุ: ต้องสร้างด้วยเวอร์ชันนักเทียบท่า > 18.06
Dockerfile
จัดทำขึ้นเพื่อสร้างอิมเมจด้วยการรองรับ CUDA 11.1 และ cuDNN v8 คุณสามารถส่งตัวแปร PYTHON_VERSION=xy
make เพื่อระบุว่า Miniconda จะใช้เวอร์ชัน Python ใด หรือปล่อยไว้โดยไม่ตั้งค่าเพื่อใช้ค่าเริ่มต้น
make -f docker.Makefile
# images are tagged as docker.io/${your_docker_username}/pytorch
คุณยังสามารถส่งผ่านตัวแปรสภาพแวดล้อม CMAKE_VARS="..."
เพื่อระบุตัวแปร CMake เพิ่มเติมที่จะส่งผ่านไปยัง CMake ในระหว่างการสร้าง ดู setup.py สำหรับรายการตัวแปรที่มีอยู่
make -f docker.Makefile
หากต้องการสร้างเอกสารในรูปแบบต่างๆ คุณจะต้องมีธีม Sphinx และ readthedocs
cd docs/
pip install -r requirements.txt
จากนั้นคุณสามารถสร้างเอกสารประกอบได้โดยการรัน make <format>
จากโฟลเดอร์ docs/
เรียกใช้ make
เพื่อรับรายการรูปแบบเอาต์พุตที่มีอยู่ทั้งหมด
หากคุณได้รับข้อผิดพลาด katex ให้รัน npm install katex
หากยังคงอยู่ ให้ลอง npm install -g katex
หมายเหตุ: หากคุณติดตั้ง
nodejs
ด้วยตัวจัดการแพ็กเกจอื่น (เช่นconda
) ดังนั้นnpm
อาจจะติดตั้งเวอร์ชันของkatex
ที่ไม่เข้ากันกับเวอร์ชันของnodejs
และ doc builds จะล้มเหลว การรวมกันของเวอร์ชันที่ทราบว่าใช้งานได้คือ[email protected]
และ[email protected]
หากต้องการติดตั้งอย่างหลังด้วยnpm
คุณสามารถรันnpm install -g [email protected]
คำแนะนำในการติดตั้งและไบนารีสำหรับ PyTorch เวอร์ชันก่อนหน้ามีอยู่ในเว็บไซต์ของเรา
คำแนะนำสามประการในการเริ่มต้น:
โดยปกติแล้ว PyTorch จะมีรุ่นย่อยสามรุ่นต่อปี โปรดแจ้งให้เราทราบหากคุณพบข้อบกพร่องโดยการยื่นปัญหา
เราขอขอบคุณการมีส่วนร่วมทั้งหมด หากคุณกำลังวางแผนที่จะสนับสนุนการแก้ไขข้อบกพร่อง โปรดดำเนินการดังกล่าวโดยไม่ต้องหารือใดๆ เพิ่มเติม
หากคุณวางแผนที่จะสนับสนุนคุณสมบัติใหม่ ฟังก์ชันยูทิลิตี้ หรือส่วนขยายไปยังแกนหลัก โปรดเปิดปัญหาก่อนและหารือเกี่ยวกับคุณสมบัติดังกล่าวกับเรา การส่ง PR โดยไม่มีการสนทนาอาจจบลงด้วยการ PR ที่ถูกปฏิเสธ เนื่องจากเราอาจใช้แกนหลักไปในทิศทางที่แตกต่างจากที่คุณอาจทราบ
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการบริจาคให้กับ Pytorch โปรดดูที่หน้าการบริจาคของเรา สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเผยแพร่ PyTorch โปรดดูที่หน้าการเผยแพร่
PyTorch เป็นโครงการที่ขับเคลื่อนโดยชุมชนซึ่งมีวิศวกรและนักวิจัยผู้มีทักษะหลายคนที่มีส่วนร่วม
ปัจจุบัน PyTorch ได้รับการดูแลโดย Soumith Chintala, Gregory Chanan, Dmytro Dzhulgakov, Edward Yang และ Nikita Shulga โดยมีส่วนร่วมสำคัญที่มาจากบุคคลที่มีความสามารถหลายร้อยคนในรูปแบบและวิธีการต่างๆ รายชื่อโดยย่อแต่กำลังเพิ่มขึ้นเรื่อยๆ ที่ต้องกล่าวถึง: Trevor Killeen, Sasank Chilamkurthy, Sergey Zagoruyko, Adam Lerer, Francisco Massa, Alykhan Tejani, Luca Antiga, Alban Desmaison, Andreas Koepf, James Bradbury, Zeming Lin, Yuandong Tian, Guillaume Lample, มารัต ดูคาน, นาตาเลีย กิเมลไชน์, คริสเตียน ซาโรฟีน, มาร์ติน ไรสัน, เอ็ดเวิร์ด หยาง, แซคารี เดวิโต.
หมายเหตุ: โปรเจ็กต์นี้ไม่เกี่ยวข้องกับ Hughperkins/pytorch ที่มีชื่อเดียวกัน Hugh เป็นผู้มีส่วนร่วมอันทรงคุณค่าต่อชุมชน Torch และได้ช่วยเหลือหลายๆ เรื่องทั้ง Torch และ PyTorch
PyTorch มีลิขสิทธิ์แบบ BSD ดังที่พบในไฟล์ LICENSE