• 使用Tensorrt的一般步骤


    使用Tensorrt的一般步骤

    TensorRT的使用包括两个阶段:build and deployment。

    build:该阶段主要完成模型转换(从caffe或TensorFlow到TensorRT),如下图所示,在模型转换时会完成前述优化过程中的层间融合,精度校准。这一步的输出是一个针对特定GPU平台和网络模型的优化过的TensorRT模型,这个TensorRT模型可以序列化存储到磁盘或内存中。存储到磁盘中的文件称之为 planfile。

    Deploy:该阶段主要完成推理过程,如下图所示。将上一个步骤中的plan文件首先反序列化,并创建一个 runtime engine,然后就可以输入数据(比如测试集或数据集之外的图片),然后输出分类向量结果或检测结果。

    以onnx模型为例检测介绍,主要分为3步,如下图所示,第一步是导入模型,这包括从磁盘上保存的文件加载模型,并将其从原始框架转换为TensorRT网络。ONNX是表示深度学习模型的标准,使它们能够在框架之间传输(Caffe2、Chainer、CNTK、paddle、PyTorch和MXNet都支持ONNX格式)。接下来,基于输入模型、目标GPU平台和指定的其他配置参数,构建一个优化的TensorRT引擎。最后一步是向TensorRT引擎提供输入数据以执行推理。

    需要用的tensorrt的组件如下:

    • ONNX解析器:以ONNX格式的经过训练的模型作为输入,并用TensorRT填充网络对象
    • Builder:在TensorRT中获取一个网络并生成一个为目标平台优化的引擎
    • Engine:获取输入数据,执行推理并发出推理输出
    • Logger:与生成器和引擎关联的对象,用于在生成和推断阶段捕获错误、警告和其他信息

    大家可以根据以下coding的例子进行相关实验:

    1. >> git clone https://github.com/parallel-forall/code-samples.git
    2. >> cd code-samples/posts/TensorRT-introduction
    3. >> wget https://s3.amazonaws.com/onnx-model-zoo/resnet/resnet50v2/resnet50v2.tar.gz // Get ONNX model and test data
    4. >> tar xvf resnet50v2.tar.gz # unpack model data into resnet50v2 folder
    5. >> apt-get update
    6. >> apt install libprotobuf-dev protobuf-compiler # install protobuf to read the input data which is in .pb format
    7. >> git clone --recursive https://github.com/onnx/onnx.git # pull onnx repository from github
    8. >> cd onnx
    9. >> cmake . # compile and install onnx
    10. >> make install -j12
    11. >> cd ..
    12. >> make # compile the TensorRT C++ sample code
  • 相关阅读:
    OA问题的解决方法
    抢购软件使用方法(如何开发抢购软件)
    学习路之PHP--laravel postman 提交表单出现419错误
    OIS、EIS原理
    2023江西国际餐饮产业博览会/赣菜文化全国推介大会
    【FTP文件下载】Java基于commons-net依赖包实现从FTP服务器下载文件(亲测可用)
    LeetCode刷题(python版)——Topic72. 编辑距离
    大数据(二)大数据架构发展史
    springboot视图渲染技术
    OAuth2+JWT新一代认证技术
  • 原文地址:https://blog.csdn.net/weixin_55035144/article/details/133744932