撤回文件复制的操作
撤回文件复制的操作
波奇大帝你提到使用 pacman -S
安装了 CUDA 和 cuDNN,并且希望将版本降级到 CUDA 11.8 和 cuDNN 8.6,以适配你的 NVIDIA P102-100 GPU(Pascal 架构,SM 6.1)并在 Manjaro 上运行 TensorRT 8.6。你之前还误将 TensorRT 10.10.0.31 的文件复制到 /usr/lib
和 /usr/include
,并需要撤回这些操作。以下是完整的解决方案,包括撤回复制操作、卸载当前 CUDA/cuDNN、安装 CUDA 11.8 和 cuDNN 8.6,以及验证环境以运行 build_engine.py
和 infer_engine.py
。
一、撤回 TensorRT 10.10.0.31 文件复制操作
你执行了以下命令,将 TensorRT 10.10.0.31 的库文件和头文件复制到系统目录:
1 | cd /opt/TensorRT-10.10.0.31/ |
需要安全删除这些文件,避免影响系统其他库或头文件。
1. 列出 TensorRT 10.10.0.31 文件
检查 /opt/TensorRT-10.10.0.31/lib/
和 /opt/TensorRT-10.10.0.31/include/
中的文件:
1 | ls /opt/TensorRT-10.10.0.31/lib/ > tensorrt_lib_files.txt |
典型文件包括:
- 库文件(
/lib
):libnvinfer.so
,libnvinfer.so.10
,libnvonnxparser.so
, 等。 - 头文件(
/include
):NvInfer.h
,NvOnnxParser.h
,NvCaffeParser.h
, 等。
2. 检查并删除复制的文件
删除 /usr/lib
和 /usr/include
中匹配的文件:
删除库文件:
1
2
3
4
5
6for file in $(cat tensorrt_lib_files.txt); do
if [ -e "/usr/lib/$file" ]; then
echo "将删除: /usr/lib/$file"
sudo rm -v /usr/lib/$file
fi
done删除头文件:
1
2
3
4
5
6for file in $(cat tensorrt_include_files.txt); do
if [ -e "/usr/include/$file" ]; then
echo "将删除: /usr/include/$file"
sudo rm -v /usr/include/$file
fi
done
3. 验证删除结果
检查是否仍有 TensorRT 文件:
1 | ls /usr/lib | grep -E 'nvinfer|nvonnxparser|nvcaffe_parser|nvparsers' |
如果没有输出,说明文件已删除。清理临时文件:
1 | rm tensorrt_lib_files.txt tensorrt_include_files.txt |
4. 注意事项
- 备份(可选):在删除前备份系统目录:
1
2sudo tar -czvf /usr_lib_backup.tar.gz /usr/lib
sudo tar -czvf /usr_include_backup.tar.gz /usr/include - 符号链接:如果发现符号链接(如
libnvinfer.so
指向libnvinfer.so.10
),确保都删除:1
ls -l /usr/lib | grep nvinfer