1. conda ubuntu 20.04.6 cuda 11.4 python 3.8.10
主要参考教程:https://blog.youkuaiyun.com/m0_56147044/article/details/148818727
通过:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh 下载到了/home
给权限:sudo chmod +x Miniconda3-latest-Linux-aarch64.sh
安装:./Miniconda3-latest-Linux-aarch64.sh
执行:conda --version 显示:conda 25.5.1
2. pytorch 直接pip安装的话是cpu版本,所以需要单独装
主要参考教程:https://blog.youkuaiyun.com/Ashuo567/article/details/147442512
查看版本:Package: nvidia-jetpack Version: 5.1.4-b17;cuda_11.4.r11.4/compiler.31964100_0
创建虚拟环境:conda create --name yopo python=3.8
激活:conda activate yopo
在dependences里面下载了pytorch2.0.0
在dependences里手动安装pytorch:pip install torch-2.0.0+nv23.05-cp38-cp38-linux_aarch64.whl 成功安装
尝试import torch报错:ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory
然后安装所需的系统依赖库
sudo apt-get update sudo apt-get install libopenblas-base libopenblas-dev
验证torch成功,版本为:2.0.0+nv23.05
3. torchaudio torchvision
参考教程:https://ftp.yucai.sh.cn/f/csdn/9781007441462263.html
torchvision
通过github下载:git clone --branch v0.15.1 https://github.com/pytorch/vision
安装:export BUILD_VERSION=0.15.1
python3 setup.py install
验证:Name: torchvision Version: 0.15.1
先安装一些相关依赖
pip install cmake ninja
sudo apt install ffmpeg libavformat-dev libavcodec-dev libavutil-dev libavdevice-dev libavfilter-dev
git clone --branch v2.0.1 https://github.com/pytorch/audio.git
cd audio
USE_CUDA=1 pip install -v -e . --no-use-pep517
验证:成功 并有版本:2.0.1+3b40834
其他依赖: opencv-python==4.11.0.86 scipy==1.10.1 scikit-build==0.18.1 ruamel-yaml==0.17.21 tensorboard==2.14.0 open3d==0.19.0 rich==14.0.0 empy==4.2 catkin_pkg rospkg netifaces
4. Tensorrt
Nvidia Jetpack中已经安装好了tensorrt,但是在conda虚拟环境中是访问不到的。
但是可以把系统的dist-packages注入到虚拟环境的site-packages中
(1) 确保虚拟环境和系统环境的python版本一致,比如都是3.8
(2) 确认系统中TensorRT的路径,(JetPack 5 上通常在 /usr/lib/python3.8/dist-packages)
ls -d /usr/lib/python3.8/dist-packages/tensorrt* 2>/dev/null
能看到TensorRT相关即可
(3) 让 Conda 环境“看见”系统的 Python 包(.pth) 把系统的 dist-packages 注入到当前环境的 site-packages:
python - <<'PY' import sysconfig; print(sysconfig.get_paths()["purelib"]) PY # 假设上一步输出:/home/you/miniconda3/envs/trt38/lib/python3.8/site-packages # 创建一个 .pth 文件(路径按你上面的输出改) echo "/usr/lib/python3.8/dist-packages" \ > /home/you/miniconda3/envs/trt38/lib/python3.8/site-packages/_system_dist_pkgs.pth
这样 import tensorrt 时,Conda 会去系统的 dist-packages 找到它
(4) GPT还给出了配置动态库的步骤,我没有配这个动态库也能用,但是还是记录一下吧 (让 Python 能找到 libnvinfer.so,以及命令行能调用 trtexec)
mkdir -p "$CONDA_PREFIX/etc/conda/activate.d"
cat > "$CONDA_PREFIX/etc/conda/activate.d/tensorrt_env.sh" <<'SH'
# TensorRT / CUDA 动态库(Jetson aarch64)
export LD_LIBRARY_PATH=/usr/lib/aarch64-linux-gnu:/usr/lib/aarch64-linux-gnu/tegra${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
# 可选:把 trtexec 加进 PATH(如果该目录存在)
if [ -d /usr/src/tensorrt/bin ]; then
export PATH=/usr/src/tensorrt/bin${PATH:+:$PATH}
fi
# 建议阻止 Conda 读取 ~/.local 里的残留包以免“串包”
export PYTHONNOUSERSITE=1
SH
# 重新激活一次以生效
conda deactivate && conda activate trt38
验证:
python - <<'PY'
import tensorrt as trt, ctypes, inspect
print("TensorRT Python =", trt.__version__)
print("Module path =", inspect.getfile(trt))
for n in ["nvinfer","nvinfer_plugin","nvonnxparser"]:
try:
ctypes.CDLL(f"lib{n}.so"); print(f"loaded lib{n}.so OK")
except OSError as e:
print(f"load lib{n}.so FAIL:", e)
PY
trtexec --version || true
看到版本号、路径指向 /usr/lib/python3.8/dist-packages/...,且动态库加载 OK,就成功了。
5. torch2trt配置
git clone https://github.com/NVIDIA-AI-IOT/torch2trt cd torch2trt python -m pip install -v --no-build-isolation .
1万+

被折叠的 条评论
为什么被折叠?



