目录
- 我的环境
- 驱动和cuda
- cudNN
- tensorRT
- deepstream
- pyhon for deepstream
我的环境
操作系统:ubuntu18.04
显卡: 1050ti
驱动和cuda
- 卸载原来的驱动和cuda。
如果之前使用的是run
文件安装的nvidia驱动,则可以使用下面的命令卸载驱动。
sudo nvidia-uninstall
- 安装
官方给的要求如下,最好按照官方的要求来。(亲测16.04就无法安装,安装到最后会出现包的版本不足,16.04中包也无法升级到所需版本。而且在安装tensorRT7.2.X时,要求cuda11.1的库,就算安装cuda11.2,依然会报缺乏依赖错误)
我是在一个无驱动和cuda的环境下自己安装的cuda deb包,cuda安装时自动安装了驱动。
我安装了cuda 11.1.1
,deb安装命令如下。
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1804-11-1-local_11.1.1-455.32.00-1_amd64.deb
sudo apt-key add /var/cuda-repo-ubuntu1804-11-1-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
安装后操作
打开~/.bashrc
在最后添加下面的命令。
export PATH=/usr/local/cuda-11.1/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64\
${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后运行source ~/.bashrc
验证
重启就可以使用nvidia-smi
查看,结果如下。
使用nvcc -V
可以查看版本信息。
cudNN
在cudnn 文档查看cuDNN版本与各种支持的CUDA、CUDA驱动程序和NVIDIA硬件版本的兼容性。
根据自己的cuda和操作系统版本在nvidia 档案找到自己适合的cudnn版本。
我的下载如下:
其中有三个deb文件。
runrime
:复制运行的库
developer
:开发需要的库
samples
:样例库
我是三个文件都下载了。
然后分别运行。
sudo dpkg -i libcudnn8_x.x.x-1+cudax.x_amd64.deb
sudo dpkg -i libcudnn8-dev_8.x.x.x-1+cudax.x_amd64.deb
sudo dpkg -i libcudnn8-samples_8.x.x.x-1+cudax.x_amd64.deb
验证安装是否成功。
cp -r /usr/src/cudnn_samples_v8/ $HOME
cd $HOME/cudnn_samples_v8/mnistCUDNN
make clean && make
./mnistCUDNN
如果显示Test passed!
则表示成功。
如果出现如下错误:
需要安装相关包,运行下面命令:
sudo apt-get update
sudo apt-get install libfreeimage3 libfreeimage-dev
make clean && make
./mnistCUDNN
tensorRT
在tensorRT文档中查看对应平台和软件的兼容版本。
这里我下载的是7.2.3,可以查看在线文档了解。
在下载页面下载deb包。
安装。
os="ubuntu1x04"
tag="cudax.x-trt7.x.x.x-ga-yyyymmdd"
sudo dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
sudo apt-key add /var/nv-tensorrt-repo-${tag}/7fa2af80.pub
sudo apt-get update
sudo apt-get install tensorrt
如果使用的是python3.x使用如下命令安装python3-libnvinfer
。
sudo apt-get install python3-libnvinfer-dev
如果你想运行需要ONNX
图形处理器的样本,或为自己的项目使用Python模块,运行下面代码。
sudo apt-get install onnx-graphsurgeon
使用下面的代码进行验证。
dpkg -l | grep TensorRT
输出类似下面的内容。
deepstream
安装需要的包。
sudo apt install \
libssl1.0.0 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4
安装librdkafka(为消息代理启用Kafka协议适配器)。
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
make
sudo make install
sudo mkdir -p /opt/nvidia/deepstream/deepstream-5.1/lib
sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-5.1/lib
安装
sudo apt-get install ./deepstream-5.1_5.1.0-1_amd64.deb
验证
cd /opt/nvidia/deepstream/deepstream-5.1/samples/configs/deepstream-app
deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt
pyhon for deepstream
github地址 要使用python开发deepstream需要的安装如下:
如果gst python没有安装,运行下面。
$ sudo apt-get install python-gi-dev
$ export GST_LIBS="-lgstreamer-1.0 -lgobject-2.0 -lglib-2.0"
$ export GST_CFLAGS="-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include"
$ git clone https://github.com/GStreamer/gst-python.git
$ cd gst-python
$ git checkout 1a8f48a
$ ./autogen.sh PYTHON=python3
#如果出现configure: error: could not find Python headers
#sudo apt-get install python3-dev libpython3-dev
$ ./configure PYTHON=python3
$ make
$ sudo make install
安装pyds
cd /opt/nvidia/deepstream/deepstream-5.1/lib
sudo python3 setup.py install
如果nump和opencv没有安装
sudo apt install python3-pip
pip3 install --upgrade pip
pip3 install opencv-python
pip3 install numpy