# 安装使用pytorch和torchvision

​​**PyTorch** 是 Python 中最流行、最易用的深度学习框架之一。它让开发者能够像操作普通 Python 代码一样，直观、灵活地设计和训练复杂的神经网络模型。其简洁的 API 设计和强大的 GPU 加速支持，使得从研究想法到实际部署的开发过程都极其高效便捷，广受开发者青睐。​

NVIDIA 为 Jetson 系列设备专门适配了对应的软件包，其版本依赖关系如下：

<table class="BookContent-table" id="bkmrk-pytorch-version-nvid"><thead><tr><th class="entry" colspan="1" id="bkmrk-pytorch-version" rowspan="1" valign="top" width="25%">PyTorch Version</th><th class="entry" colspan="1" id="bkmrk-nvidia-framework%C2%A0con" rowspan="1" valign="top" width="25%">NVIDIA Framework [Container](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch)</th><th class="entry" colspan="1" id="bkmrk-nvidia-framework%C2%A0whe" rowspan="1" valign="top" width="25%">NVIDIA Framework [Wheel](https://developer.download.nvidia.com/compute/redist/jp/)</th><th class="entry" colspan="1" id="bkmrk-jetpack-version" rowspan="1" valign="top" width="25%">JetPack Version</th></tr></thead><tbody><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.8.0a0+5228986c39</u>](https://github.com/pytorch/pytorch/commit/5228986c395dc79f90d2a2b991deea1eef188260)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">25.06</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.2</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.8.0a0+5228986c39</u>](https://github.com/pytorch/pytorch/commit/5228986c395dc79f90d2a2b991deea1eef188260)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">25.05</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.2</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.7.0a0+79aa17489c</u>](https://github.com/pytorch/pytorch/commit/79aa17489c3fc5ed6d5e972e9ffddf73e6dd0a5c)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">25.04</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.2</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.7.0a0+7c8ec84dab</u>](https://github.com/pytorch/pytorch/commit/7c8ec84dab7dc10d4ef90afc93a49b97bbd04503)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">25.03</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.2</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.7.0a0+6c54963f75</u>](https://github.com/pytorch/pytorch/commit/6c54963f75e9dfdae34c44f71081b5d3972b6b8d)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">25.02</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.2</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.6.0a0+ecf3bae40a</u>](https://github.com/pytorch/pytorch/commit/ecf3bae40a6f2f0f3b237bde1fc4b2492765ab13)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">25.01</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.1</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.6.0a0+df5bbc09d1</u>](https://github.com/pytorch/pytorch/commit/df5bbc09d191fff3bdb592c184176e84669a7157)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.12</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.1</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.6.0a0+df5bbc0</u>](https://github.com/pytorch/pytorch/commit/df5bbc09d191fff3bdb592c184176e84669a7157)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.11</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.1</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.5.0a0+e000cf0ad9</u>](https://github.com/pytorch/pytorch/commit/e000cf0ad980e5d140dc895a646174e9b945cf26)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.10</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.1</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.5.0a0+b465a5843b</u>](https://github.com/pytorch/pytorch/commit/b465a5843b92f33fe3e89ff7ee91c6833df6aec0)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.09</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">24.09</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.1</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.5.0a0+872d972e41</u>](https://github.com/pytorch/pytorch/commit/872d972e41596a9ac94dfd343f40bfc12b340a74)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.08</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">-</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.0</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.4.0a0+3bcc3cddb5</u>](https://github.com/pytorch/pytorch/commit/3bcc3cddb580bf0f0f1958cfe27001f236eac2c1)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.07</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">24.07</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.0</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.4.0a0+f70bd71a48</u>](https://github.com/pytorch/pytorch/commit/f70bd71a48)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.06</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">24.06</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.0</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.4.0a0+07cecf4168</u>](https://github.com/pytorch/pytorch/commit/07cecf4168503a5b3defef9b2ecaeb3e075f4761)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.05</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">24.05</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">6.0</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.3.0a0+6ddf5cf85e</u>](https://github.com/pytorch/pytorch/commit/6ddf5cf85e3c27c596175aba7bf5affb5426255f)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.04</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">24.04</td><td class="entry" colspan="1" headers="d560e91" rowspan="5" valign="top" width="25%">6.0 Developer Preview</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.3.0a0+40ec155e58</u>](https://github.com/pytorch/pytorch/commit/40ec155e58ee1a1921377ff921b55e61502e4fb3)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.03</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">[24.03](https://developer.download.nvidia.com/compute/redist/jp/v60dp/pytorch/torch-2.3.0a0+40ec155e58.nv24.03.13384722-cp310-cp310-linux_aarch64.whl)</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.3.0a0+ebedce2</u>](https://github.com/pytorch/pytorch/commit/ebedce24ab578036dd9257e4928eea9ee38d1192)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">24.02</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">24.02</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.2.0a0+81ea7a4</u>](https://github.com/pytorch/pytorch/commit/81ea7a48)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">23.12, 24.01</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.12, 24.01</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.2.0a0+6a974bec</u>](https://github.com/pytorch/pytorch/commit/6a974bec)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">23.11</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.11</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.1.0a</u>](https://github.com/pytorch/pytorch/commit/41361538a978eb03fa1e88bf5b8e4410db7a6927)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.06</td><td class="entry" colspan="1" headers="d560e91" rowspan="5" valign="top" width="25%">5.1.x</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.0.0</u>](https://github.com/pytorch/pytorch/tree/v2.0.0)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.05</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.0.0a0+fe05266f</u>](https://github.com/pytorch/pytorch/commit/fe05266fda4f908130dea7cbac37e9264c0429a2)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.04</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">2.0.0a0+8aa34602</u>](https://github.com/pytorch/pytorch/commit/8aa34602f703896c16ae57f622ff4cb1c86c04dd)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.03</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.14.0a0+44dac51c</u>](https://github.com/pytorch/pytorch/commit/44dac51c36d01f63e64585e5e7a864cb8e37948a)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">23.02, 23.01</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.13.0a0+936e930</u>](https://github.com/pytorch/pytorch/commit/936e930)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.11</td><td class="entry" colspan="1" headers="d560e91" rowspan="3" valign="top" width="25%">5.0.2</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.13.0a0+d0d6b1f</u>](https://github.com/pytorch/pytorch/commit/d0d6b1f)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.09, 22,10</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.13.0a0+08820cb</u>](https://github.com/pytorch/pytorch/commit/08820cb)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">22.07</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.07</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.13.0a0+340c412</u>](https://github.com/pytorch/pytorch/commit/340c412)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">22.06</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.06</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">5.0.1</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.12.0a0+8a1a93a9</u>](https://github.com/pytorch/pytorch/commit/8a1a93a9)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%">22.05</td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.05</td><td class="entry" colspan="1" headers="d560e91" rowspan="3" valign="top" width="25%">5.0</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.12.0a0+bd13bc66</u>](https://github.com/pytorch/pytorch/commit/bd13bc66)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.04</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.12.0a0+2c916ef</u>](https://github.com/pytorch/pytorch/commit/2c916ef)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.03</td></tr><tr><td class="entry" colspan="1" headers="d560e78" rowspan="1" valign="top" width="25%">[<u class="ph u">1.11.0a0+bfe5ad28</u>](https://github.com/pytorch/pytorch/commit/bfe5ad28)</td><td class="entry" colspan="1" headers="d560e81" rowspan="1" valign="top" width="25%"> </td><td class="entry" colspan="1" headers="d560e86" rowspan="1" valign="top" width="25%">22.01</td><td class="entry" colspan="1" headers="d560e91" rowspan="1" valign="top" width="25%">4.6.1</td></tr></tbody></table>

<div id="bkmrk-%E4%B8%8B%E9%9D%A2%E6%95%99%E7%A8%8B%E4%BB%A5-jetpack6.2.1-c">下面教程以 **JetPack6.2.1 cuda12.6** 版本为例</div>#### 1.安装torch工具包

##### 1.1下载并安装torch **,** torchvison

```
wget https://pypi.jetson-ai-lab.io/jp6/cu126/+f/62a/1beee9f2f1470/torch-2.8.0-cp310-cp310-linux_aarch64.whl 
wget https://pypi.jetson-ai-lab.io/jp6/cu126/+f/907/c4c1933789645/torchvision-0.23.0-cp310-cp310-linux_aarch64.whl
pip install torch-2.8.0-cp310-cp310-linux_aarch64.whl torchvision-0.23.0-cp310-cp310-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
```

##### 1.2 检测是否正确安装

使用python执行下面三个语句

```bash
jetson@jetson-desktop:~$ python
Python 3.10.16 (main, Dec 11 2024, 16:18:56) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.__version__)
2.8.0
>>> print(torch.cuda.is_available())
True
```

#### 2. 运行YOLO11

**YOLO** 是一种实时目标检测算法，它将目标检测视为单阶段回归问题，通过将图像划分为网格并直接预测边界框与类别概率，实现高速且高精度的检测。YOLO系列因开源易用、部署灵活，广泛应用于自动驾驶、安防监控、工业质检等领域。

##### 2.1 安装miniconda

```
curl -L https://repo.anaconda.com/miniconda/Miniconda3-py310_25.3.1-1-Linux-aarch64.sh | bash
source ~/miniconda3/bin/activate 
conda --version  
```

##### 2.2 conda换源

```bash
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
```

##### 2.3创建conda环境

```bash
conda create -n jetson-ai python=3.10
```

##### 2.4 进入conda环境

```
conda activate jetson-ai
```

##### 2.5 安装torch和torchvison

```
wget https://pypi.jetson-ai-lab.io/jp6/cu126/+f/62a/1beee9f2f1470/torch-2.8.0-cp310-cp310-linux_aarch64.whl 
wget https://pypi.jetson-ai-lab.io/jp6/cu126/+f/907/c4c1933789645/torchvision-0.23.0-cp310-cp310-linux_aarch64.whl
pip install torch-2.8.0-cp310-cp310-linux_aarch64.whl torchvision-0.23.0-cp310-cp310-linux_aarch64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple
```

##### 2.6 安装ultralytics

```bash
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
```

##### 2.7 运行摄像头视频推理例程

接入摄像头，并在上面创建的环境中运行如下程序。

```python
import cv2
import time
from ultralytics import YOLO
from ultralytics import YOLOWorld

# Load the YOLO model
model = YOLO("yolo11s.pt")

# Open the video file
video_path = 0
cap = cv2.VideoCapture(video_path)

# Loop through the video frames
while cap.isOpened():
    
    # Read a frame from the video
    success, frame = cap.read()
    start = time.time()
    if success:
        # Run YOLO inference on the frame
        results = model(frame)
        inf_time = time.time() - start
        # Visualize the results on the frame
        annotated_frame = results[0].plot()      
        fps = 1.0 / inf_time if inf_time > 0 else 0
        # show FPS
        cv2.putText(annotated_frame, f"FPS: {fps:.2f}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0,255,0), 2)
        cv2.imshow("YOLO Inference", annotated_frame)

        # Break the loop if 'q' is pressed
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # Break the loop if the end of the video is reached
        break

# Release the video capture object and close the display window
cap.release()
cv2.destroyAllWindows()
```

[![image.png](https://www.linkzeelabs.com/wiki/uploads/images/gallery/2025-07/scaled-1680-/bEUimage.png)](https://www.linkzeelabs.com/wiki/uploads/images/gallery/2025-07/bEUimage.png)

更多信息可参考[Ultralytics YOLO11 -Ultralytics YOLO 文档](https://docs.ultralytics.com/zh/models/yolo11/)