zoukankan      html  css  js  c++  java
  • Tensorrt环境安装及yolov5模型转换

    Tensorrt的运行需要环境中有Opencv的编译环境,所以首先要opencv的编译

    一.opencv 编译

    1. 安装依赖项

        sudo apt-get install cmake
        sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
        sudo apt-get install libgtk2.0-dev
    

    2. 下载自己需要的版本

    https://opencv.org/releases/

    解压后放在自己想放的目录下,在opencv-4.5.0目录下 建立build 文件夹, 进入 build 文件夹下,打开终端

        unzip opencv-4.5.0.zip
        cd opencv-4.5.0/
        mkdir build
        cd build/
    

    3.编译cmake

    3.1.安装cmake以及依赖库

        sudo apt-get install cmake
        $ sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper1 libjasper-dev
    

    错误:E: 无法定位软件包 libjasper-dev

    sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
    sudo apt update
    sudo apt install libjasper1 libjasper-dev
    

    成功的解决了问题,其中libjasper1是libjasper-dev的依赖包

    3.2.安装cmake

    $ cmake ..  #使用网友的后面加一堆配置就会遇到各种报错,这种编译一直用的很顺手,没有报错
    

    然后就等待安装完成,最后输出如下,没有报错就说成功了一半

    3.3 编译

    $ sudo make 或者 sudo make -j4
    

    这里需要耐心的等待编译

    3.4 安装

    $ sudo make install 
    

    对应卸载就是 :

    $ sudo make uninstall 
    

    测试 opencv 版本的。

    opencv_version 
    

    到此opencv源码编译成功。

    二.TensorRT下载安装

    1.对应自己的Cuda 和Cudnn以及系统的版本

    $ nvcc -V 												   #查看cuda的版本
    $ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2  #查看cudnn的版本
    $ cat  /etc/issue                                              #查看ubuntu系统版本
    

    我的版本信息如下 :

    2.下载

    TensorRT链接

    直接点击下载进入选项


    这里选择一般选择相对用户比较多的版本。


    注意:这里要注意选择与自己cuda和操作系统的版本相适应的下载,否则兄弟你会怀疑人生的(千万不要不符合,也不要比你的环境高也不要低,不然很麻烦,博主自己第一次按的时候没注意看,导致一直报错) 。

    3.安装TensorRT

    (1)将下载的压缩文件进行解压:

    $ tar zxvf  TensorRT-7.2.2.3.Ubuntu-18.04.x86_64-gnu.cuda-11.1.cudnn8.0.tar.gz
    

    (2)环境配置:

    解压得到TensorRT的文件夹,将里边的lib绝对路径添加到环境变量中

    vim ~/.bashrc

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/software/TensorRT-7.2.2.3/lib
    

    刷新配置:source ~/.bashrc

    (3) 安装TensorRT

    $ cd TensorRT-7.2.2.3/python/
    $ pip install tensorrt-7.2.2.3-cp37-none-linux_x86_64.whl 
    

    博主亲测,这里你的python环境并没有限制,py35,py36,py37都可 ,一般安装与自己python版本对应的最稳。

    #安装UFF,支持tensorflow模型转化
    $ cd TensorRT-7.2.2.3/uff/
    $ pip install uff-0.6.9-py2.py3-none-any.whl 
    

    #安装graphsurgeon,支持自定义结构
    cd TensorRT-7.2.2.3/graphsurgeon
    pip install graphsurgeon-0.4.5-py2.py3-none-any.whl 
    

    以上,我们就成功的将tensorRT安装完了,试着执行一下python,然后看能不能导入这些模块。 如果成功的import tensorrt,那么就算安装成功咯。

    ps:import uff的时候,需要提前install tensorflow模块。

    pip install tensorflow-gpu==2.4.0
    

    (4)安装PyCUDA
    PyCUDA是Python使用NVIDIA CUDA的API,在Python中映射了所有CUDA的API
    安装:

         pip3 install pycuda==2021.1 
    

    tensorrt 部署yolov5s (v5.0)参考地址:

    https://blog.csdn.net/xingtianyao/article/details/111353568

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    springboot部署到tomcat
    新建 SecondPresenter 实现类
    BaseFragment 基类
    BaseActivity 基类
    ProxyImpl 类
    BaseFragment 基类代码
    对于大量数据存储入库问题的解决办法
    MainActivity.java 文件
    activity_main.xml 添加自己画的view 组件
    MyView.java 自己画的view
  • 原文地址:https://www.cnblogs.com/KdeS/p/14928201.html
Copyright © 2011-2022 走看看