感谢阅读
相关概念
TensorRT是可以在NVIDIA各种GPU硬件平台下运行的一个模型推理框架,支持C++和Python推理。即我们利用Pytorch,Tensorflow或者其它框架训练好的模型,可以转化为TensorRT的格式,然后利用TensorRT推理引擎去运行该模型,从而提升这个模型在NVIDIA-GPU上运行的速度。
cudnn是NVIDIA推出的用于自家GPU进行神经网络训练和推理的加速库,用户可通过cudnn的API搭建神经网络并进行推理,cudnn则会将神经网络的计算进行优化,再通过cuda调用gpu进行运算,从而实现神经网络的加速(当然你也可以直接使用cuda搭建神经网络模型,而不通过cudnn,但运算效率会低很多)
tensorrt其实跟cudnn有点类似,也是NVIDIA推出的针对自家GPU进行模型推理的加速库,只不过它不支持训练,只支持模型推理。相比于cudnn,tensorrt在执行模型推理时可以做到更快。(训练需要精确,推理不需要那么精确)
docker准备
下载一个自己电脑cuda匹配的docker镜像
比如我下载的是
python
nvidia/cuda:12.3.0-base-ubuntu22.04
怎么查自己电脑的cuda?
python
nvcc --version
拉取以及启动镜像
拉取镜像
python
docker pull nvidia/cuda:12.3.0-base-ubuntu22.04
启动
python
docker run -itd --gpus device=0 --name=tensorrt_test nvidia/cuda:12.3.0-base-ubuntu22.04
进入容器
python
docker exec -it tensorrt_test bash
安装cuda
先准备环境
python
apt-get install build-essential
apt-get install cmake
apt-get install ubuntu-drivers-common
ubuntu-drivers devices
然后根据提示的版本
apt-get install nvidia-driver-版本号
python
nvidia-smi
如果出现类似这样的结果就成功了