本机系统为ubuntu18.04
,为了要和服务器环境尽可能一致,配套的环境采用:cuda10.0、cudnn7.6、TensorRT7.0、python3.6。
CUDA环境安装
参考链接:https://www.yuque.com/darrenzhang/cv/bugee8
- 安装cuda10.0
经过一连串的用户守则,进入正式安装 ```powershell Do you accept the previously read EULA? accept/decline/quit: acceptchmod a+x cuda_10.0.130_410.48_linux.run
sudo sh ./cuda_10.0.130_410.48_linux.run
尽量先把显卡驱动装好,装好之后,这一步选择 n
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48? (y)es/(n)o/(q)uit: n
正式安装 CUDA 10.0 Toolkit
Install the CUDA 10.0 Toolkit? (y)es/(n)o/(q)uit: y
CUDA 10.0 Toolkit的安装地址,默认即可,直接回车
Enter Toolkit Location [ default is /usr/local/cuda-10.0 ]:
相当于创建一个快捷方式,我选择 n
Do you want to install a symbolic link at /usr/local/cuda? (y)es/(n)o/(q)uit: n
安装一些官方实例,可以测试cuda是否装好,安不安装都可
Install the CUDA 10.0 Samples? (y)es/(n)o/(q)uit: n
开始安装
Installing the CUDA Toolkit in /media/darrenzhang/CV/cuda-10.0 …
不报错误的话,就安装完成,接下来配置环境变量
2. 更改环境变量并刷新
```powershell
vim ~/.bashrc
# 将cuda的路径及lib包添加到环境变量
export PATH="/usr/local/cuda-10.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-10.0/lib64:$LD_LIBRARY_PATH"
# 使新配置的环境变量生效
source ~/.bashrc
- 查看cuda的安装状态
# 查看显卡驱动运行状态 nvidia-smi
当前显示的CUDA Vrsion是不准的,仅代表当前Driver Version可用的cuda版本
``` nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA Corporation Built on Sat_Aug_25_21:08:01_CDT_2018 Cuda compilation tools, release 10.0, V10.0.130# 查看cuda-toolkit安装是否成功,并查看CUDA安装的版本 nvcc -V
至此 CUDA 10.0安装成功
4. 安装cudnn
从官网下载[https://developer.nvidia.com/cudnn](https://developer.nvidia.com/cudnn)(需要注册账号),<br /><br /><br />如果没有当前需要的版本,点击`Archived CuDNN Releases`,然后肯定能找到你对应CUDA版本的cuDNN,将其下载下来。<br />
解压下载的tar压缩文件
tar -xzvf cudnn-10.0-linux-x64-v7.6.5.32.tgz
cp cuda/include/ ~/cuda92/include/ cp cuda/lib64/libcudnn ~/cuda92/lib64 chmod a+r ~/cuda92/include/cudnn.h ~/cuda92/lib64/libcudnn*
> 我将include下的所有文件,全部拷贝到cuda目录下了
查看cudnn版本:
```powershell
cat ~/cuda-10.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
结果:
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
注:cudnn高版本(8.x)的版本信息不在这个文件,使用如下命令:
cat /usr/local/cuda-11.3/include/cudnn_version.h |grep ^#
TensorRT安装
- 版本下载
官网:https://developer.nvidia.com/zh-cn/tensorrt,还是需要填写下载cudnn时所用的帐号,一定要选择和自己此操作系统、cuda和cudnn版本想匹配的TensroRT版本。
由于服务器的各个版本都比较老,选择下载TensorRT7.0。在实际转模型的过程中,使用keras==2.2.0版本,使用TensorRT6.0会失败,使用TensorRT7.0版本就能够转成功。
tar -zxvf TensorRT-7.0.0.11.Ubuntu-18.04.x86_64-gnu.cuda-10.0.cudnn7.6.tar.gz
- 添加tensorrt到环境变量
```powershell
.bashrc中添加tensorrt目录及其lib目录
export TENSORRT_ROOT=”/home/darrenzhang/TensorRT-7.0.0.11” export LD_LIBRARY_PATH=”/home/darrenzhang/TensorRT-7.0.0.11/lib:$LD_LIBRARY_PATH”
source .bashrc
3. 安装Python的TensorRT包
```powershell
cd TensorRT-7.0.0.11/python
conda activate envs(你想安装到的conda环境)
pip install tensorrt-7.0.0.11-cp36-none-linux_x86_64.whl
选择合适版本的tensorrt安装
安装Python UFF包(如果你打算在TensorFlow中使用TensorRT,将TF的模型.pb文件转化成TRT的推理引擎)
cd TensorRT-7.0.0.11/uff pip install uff-0.6.5-py2.py3-none-any.whl
安装Python graphsurgeon(通过TRT自定义网络结构)
cd TensorRT-7.0.0.11/graphsurgeon pip install graphsurgeon-0.4.1-py2.py3-none-any.whl
安装PyCUDA
PyCUDA是Python使用NVIDIA CUDA的API,在Python中映射了所有CUDA的API
pip install pycuda
PyCUDA的官方文档
https://documen.tician.de/pycuda/driver.html