在Nvidia ORIN进行Pytorch,TorchVision,MMtracking的部署

在基于ARM架构的Orin芯片上,由于其使用NVIDIA的CUDA,不能直接通过pip3安装Pytorch和Torchvision。文章详细介绍了如何根据Jetpack版本下载对应NVIDIA编译的whl文件安装Pytorch,以及因版本不匹配问题安装Torchvision。此外,还提到了成功安装后的测试脚本和部署MMTracking所需的mmcv与mmdetection的安装步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

在Orin上进行Pytorch以及Torchvision的部署, 不能够直接通过pip3 Install命令进行部署安装,该命令默认是使用X86的安装版本, 我们需要使用nvidia的cuda架构, 并且orin是arm架构的芯片, 所以, 应当通过英伟达官方发布的版本进行安装, 当然也可以使用源码进行pytorch编译。

安装Pytorch

pytorch的版本和python的版本以及cuda的版本是严密挂钩的, 但是在orin上, 我们可以通过查询jetpack版本号, 就可以直接下载安装nvidia编译好的现成的whl文件。

  1. 通过jtop查询jetpack的版本。如图, 我们的jetpack版本是5.0.1。在这里插入图片描述
  2. 英伟达的pytorch文件下载地址:
    https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION/pytorch/
    其中,$JP_VERSION变量是我们jetpack的版本, 我的安装地址如下: https://developer.download.nvidia.cn/compute/redist/jp/v50/pytorch/, 访问结果如下图所示,
    我选择torch-1.13.0a0+340c4120.nv22.06-cp38-cp38-linux_aarch64.whl文件,这里面有个非常坑的问题, 就是我明明下载的是1.13的pytorch版本, 但实际安装之后, 它是1.12的版本,英伟达这个低级的错误,令我后续安装torchvision浪费了很多时间。
    在这里插入图片描述
    安装命令:
    sudo pip3 install torch-1.13.0a0+340c4120.nv22.06-cp38-cp38-linux_aarch64.whl 
    

安装Torchvision

  1. torchvision的版本是需要与pytorch相对应才能够正确编译。https://github.com/pytorch/vision
    在这里插入图片描述
    由于我们安装的pytorch版本是1.12的, 所以,torchvision需要下载0.13.0版本。
    在这里插入图片描述
    export BUILD_VERSION=0.13.0 
    sudo python3 setup.py install --user
    

安装成功的测试脚本

import torch
print(torch.__version__)
print('CUDA available: ' + str(torch.cuda.is_available()))
print('cuDNN version: ' + str(torch.backends.cudnn.version()))
a = torch.cuda.FloatTensor(2).zero_()
print('Tensor a = ' + str(a))
b = torch.randn(2).cuda()
print('Tensor b = ' + str(b))
c = a + b
print('Tensor c = ' + str(c))
import torchvision
print(torchvision.__version__)

测试结果如下图所示:
在这里插入图片描述

部署MMTracking

mmtracking需要依赖mmcv以及mmdetection, 所以, 需要先部署安装mmcv以及mmdetection。具体的教程, 可以参考以下官方链接: https://mmtracking.readthedocs.io/zh_CN/latest/install.html#id2

git clone https://github.com/open-mmlab/mmcv.git
cd mmcv
MMCV_WITH_OPS=1 pip install -e .  # package mmcv-full will be installed after this step
cd ..

git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/build.txt
pip install -v -e .

git clone https://github.com/open-mmlab/mmtracking.git
cd mmtracking
pip install -r requirements/build.txt
pip install -v -e .  

<think>好的,我现在需要回答用户关于两个conda安装PyTorch命令的区别和作用的问题。首先,我需要仔细理解这两个命令的结构和参数,然后对比它们的差异,最后结合提供的引用资料来支持我的解释。 第一个命令是:conda install pytorch torchvision torchaudio cudatoolkit=11.3。用户提供的引用中有类似格式的命令,比如引用[1]和引用[4]都使用了cudatoolkit参数,并且指定了版本。这里的关键部分是cudatoolkit=11.3,说明用户希望安装对应CUDA 11.3的工具包。根据引用[1],安装时可能只指定了cudatoolkit而没有其他渠道参数,所以默认可能使用pytorch的官方渠道。 第二个命令是:conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia。这里出现了pytorch-cuda=11.6,并且指定了-c pytorch和-c nvidia两个渠道。引用[3]提到使用多个渠道,比如-c pytorch -c conda-forge,这里可能nvidia是另一个提供CUDA相关包的渠道。此外,引用[2]和引用[5]也涉及不同版本的cudatoolkit和渠道选择,可能影响安装的包来源。 接下来需要明确cudatoolkit和pytorch-cuda的区别。根据我的了解,cudatoolkit通常指的是NVIDIA提供的CUDA工具包,包含编译器、库文件等,而pytorch-cuda可能是PyTorch针对特定CUDA版本预编译的二进制包。这可能影响安装的组件和兼容性。 另外,渠道参数-c的作用是指定从哪里下载包。-c pytorch表示从PyTorch官方conda仓库获取,而-c nvidia可能指向NVIDIA提供的仓库,尤其是涉及CUDA的部分。引用[3]和引用[5]都提到了使用多个渠道的情况,有时需要添加额外的渠道来解析依赖关系。 然后,版本差异,11.3和11.6,对应的CUDA版本不同,影响GPU的兼容性。用户需要根据自己显卡的驱动版本来选择适合的CUDA版本。例如,引用[4]中安装的是cudatoolkit=11.1,而引用[5]中的命令使用了11.6,但遇到了SSL错误,可能与渠道或环境配置有关。 还需要考虑这两个命令是否会安装PyTorch的GPU支持版本。cudatoolkit的存在通常意味着安装GPU版本的PyTorch,而pytorch-cuda可能也是类似的,但具体依赖的包来源不同。例如,引用[4]中的安装命令后,用户检查了CUDA是否可用,说明安装的是GPU版本。 总结两者的区别:第一个命令通过指定cudatoolkit=11.3从PyTorch渠道安装,而第二个命令通过pytorch-cuda=11.6并添加nvidia渠道,可能安装不同的CUDA相关依赖。此外,渠道的不同可能影响依赖解析和包的版本。 需要确保回答中引用正确的参考资料,比如引用[1]、[3]、[4]来支持关于cudatoolkit版本和渠道参数的说明,引用[5]可能涉及安装问题,但当前问题主要在于区别,所以可能不需要直接引用。 最后,生成相关问题,考虑用户可能的后续疑问,比如如何选择CUDA版本,渠道的作用,安装后的验证方法等。</think>### 两个Conda安装PyTorch命令的区别和作用 #### 1. **命令结构解析** - **命令1**: ```bash conda install pytorch torchvision torchaudio cudatoolkit=11.3 ``` 该命令从默认渠道(如`defaults`)安装以下组件: - `pytorch`:PyTorch主框架。 - `torchvision`:计算机视觉相关库。 - `torchaudio`:音频处理库。 - `cudatoolkit=11.3`:CUDA 11.3工具包(包含GPU加速所需的运行时库和编译器)[^1][^4]。 - **命令2**: ```bash conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia ``` 该命令通过指定渠道安装: - `-c pytorch`:从PyTorch官方仓库获取PyTorch相关包。 - `-c nvidia`:从NVIDIA仓库获取CUDA相关依赖。 - `pytorch-cuda=11.6`:PyTorch预编译的CUDA 11.6版本(可能包含优化后的二进制文件)[^3][^5]。 --- #### 2. **核心区别** | **差异点** | **命令1** | **命令2** | |-------------------|------------------------------------|------------------------------------| | **CUDA版本** | 11.3(通过`cudatoolkit`安装) | 11.6(通过`pytorch-cuda`安装) | | **依赖来源** | 默认渠道 | 显式指定PyTorchNVIDIA渠道[^3]| | **安装内容** | 完整CUDA工具包 + PyTorch | PyTorch预编译的CUDA支持包 | --- #### 3. **作用说明** - **命令1的作用**: 安装PyTorch及其扩展库,并**直接绑定CUDA 11.3工具包**。适用于需要完整CUDA环境(如开发CUDA程序)的场景。 - **命令2的作用**: 通过`pytorch-cuda=11.6`安装PyTorch的**预编译GPU版本**,依赖NVIDIA渠道提供优化支持。更适合仅需PyTorch与CUDA兼容性,无需完整工具包的用户。 --- #### 4. **验证安装是否成功** 安装后可通过以下代码检查CUDA支持: ```python import torch print(torch.cuda.is_available()) # 输出应为True print(torch.cuda.get_device_name(0)) # 显示GPU型号[^4] ``` ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值