jetson 是arm架构,安装很多库的时候使用预编译的包容易出现不兼容的问题
所以很多时候需要编译安装
记录以下自己编译安装pytorch的过程
1.完全卸载
conda activate lerobot
pip uninstall -y torch torchvision torchaudio
2.清理
rm -rf ~/.cache/pip
rm -rf ~/.cache/torch
3.下载源码编译
cd /tmp
git clone --recursive --branch v2.7.0 https://github.com/pytorch/pytorch.git
cd pytorch
rm -rf build
mkdir build && cd build
4.CMake命令进行配置:
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_CUDA=ON \
-DUSE_SYSTEM_NCCL=ON \
-DNCCL_ROOT=/usr/local/nccl/build
-DCMAKE_INSTALL_PREFIX:PATH=$HOME/.local \
-DPYTHON_EXECUTABLE:FILEPATH=`which python3` \
-DCMAKE_CUDA_ARCHITECTURES="87"
jetson agx orin 算力8.7应该写87
-DCMAKE_CUDA_ARCHITECTURES="87"
使用cuda
-DUSE_CUDA=ON \
5.执行编译:
make -j$(nproc)
6.执行安装
make install
7.验证安装 关闭当前终端 再打开一个终端
python3 -c "
import torch
print('PyTorch版本:', torch.version)
print('CUDA是否可用:', torch.cuda.is_available())
if torch.cuda.is_available():
print('GPU设备名称:', torch.cuda.get_device_name(0))
print('CUDA版本:', torch.version.cuda)
"
安装torchvision的时候防止重新安装pytorch 使用参数 --no-deps
pip install --no-deps torchvision=="0.22.0"
报错处理:
报nccl的错
从源码编译 NCCL
cd /usr/local
-
git clone https://github.com/NVIDIA/nccl.git
-
cd nccl
-
make -j$(nproc) src.build CUDA_HOME=/usr/local/cuda-12.6
sudo make PREFIX=/usr/local install
- 编译后,库文件在 build/lib,头文件在 build/include
/usr/local/nccl/build/lib/libnccl.so.2.29.2
/usr/local/nccl/build/include/nccl.h