【LibTorch/Torch-Tensorrt】LibTorch与Torch-Tensorrt的安装

其实libtorch就是pytorch的一些c++接口,所以以下提到的Pytorch版本就是libtorch版本。

准备工作

版本确认

需要先安装CUDA toolkit, cuDNN, TensorRT。而这几个软件间版本有强关联性,因此先按torch-tensorrt release中的要求找一套合适的版本关系。

我这里选择的是:

  1. Torch-TensorRT v1.2.0
  2. PyTorch 1.12
  3. CUDA toolkit 11.6
  4. cuDNN 8.4
  5. TensorRT 8.4

安装前置项

  1. 安装CUDA toolkit:https://docs.nvidia.com/cuda/index.html#
  2. 安装cuDNN:https://docs.nvidia.com/deeplearning/cudnn/index.html
  3. 安装Tensorrt:https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#overview

安装libtorch与torch-tensorrt

下载libtorch

链接:https://pytorch.org/

在这里插入图片描述

其他版本的类推链接就行,如cuda 11.6+pytorch 1.12.1的链接为:https://download.pytorch.org/libtorch/cu116/libtorch-cxx11-abi-shared-with-deps-1.12.1%2Bcu116.zip

下载torch-tensorrt

链接:https://github.com/pytorch/TensorRT/releases
在这里插入图片描述

我需要的v1.2.0的链接为:https://github.com/pytorch/TensorRT/releases/download/v1.2.0/libtorchtrt-1.2.0-pre-cxx11-abi-cudnn8.4-tensorrt8.4-cuda11.6-libtorch1.12.1-x86_64-linux.tar.gz

解压并设置环境变量

将下载的压缩包分别解压到任意目录,然后需要设置一些环境变量,以便编译器和运行时能够找到相关的库和头文件。例如,假设你将libtorch解压到了/home/user/libtorch目录下,而torch-tensorrt解压到了/home/user/torchtrt目录下,那么你可以使用以下命令:

export LIBTORCH_DIR=/home/user/libtorch
export TORCHTRT_DIR=/home/user/torchtrt
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBTORCH_DIR/lib:$TORCHTRT_DIR/lib
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:$LIBTORCH_DIR/include:$TORCHTRT_DIR/include
export CMAKE_PREFIX_PATH=$LIBTORCH_DIR:$TORCHTRT_DIR

将上述设置环境变量的命令放在./bashrc中即可。

报错

编译出现错误Failed to detect a default CUDA architecture. 是CMake版本较高后出现的问题,要求必须设定CMAKE_CUDA_ARCHITECTURES,根据cuda算力填写。3.24版本之后可以设置为native,为主机 GPU 的体系结构进行编译。

export CMAKE_CUDA_ARCHITECTURES=native

编译出现错误No CMAKE_CUDA_COMPILER could be found. 是因为没有设置cuda的编译器,应该设置为之前安装的nvcc的路径。

export NVCC_PATH=/usr/local/cuda-11.6/bin/nvcc
export CMAKE_CUDA_COMPILER=$NVCC_PATH
export CUDACXX=$NVCC_PATH
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值