使用自定义插件安装 tensorrt

Install tensorrt with custom plugins

我可以从官方 nvidia 指南 (https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#maclearn-net-repo-install) 安装所需版本的 TensorRT

sudo apt-get update && \
     apt-get install -y libnvinfer7=7.1.3-1+cuda10.2 libnvonnxparsers7=7.1.3-1+cuda10.2 libnvparsers7=7.1.3-1+cuda10.2 libnvinfer-plugin7=7.1.3-1+cuda10.2 libnvinfer-dev=7.1.3-1+cuda10.2 libnvonnxparsers-dev=7.1.3-1+cuda10.2 libnvparsers-dev=7.1.3-1+cuda10.2 libnvinfer-plugin-dev=7.1.3-1+cuda10.2 python3-libnvinfer=7.1.3-1+cuda10.2 && \
sudo apt-mark hold libnvinfer7 libnvonnxparsers7 libnvparsers7 libnvinfer-plugin7 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev python3-libnvinfer

但我需要一些自定义插件。幸运的是我找到了想要的并添加到文件夹插件 https://github.com/NVIDIA/TensorRT/tree/master/plugin 并注册了。 现在我不明白如何使用添加的插件构建和安装 tensorrt。 在 github https://github.com/NVIDIA/TensorRT 上的官方回购中有一条说明,但它描述了使用 tensorrt 构建 docker 图像的步骤。

所以问题是如何使用自定义插件构建 tensorrt 并将其安装在 ubuntu 上?

如果您注册了自定义插件,则“安装”它非常容易。 所以步骤如下:

  1. 安装tensorRT

    sudo apt-get update && \
       apt-get install -y libnvinfer7=7.1.3-1+cuda10.2 libnvonnxparsers7=7.1.3-1+cuda10.2 libnvparsers7=7.1.3-1+cuda10.2 libnvinfer-plugin7=7.1.3-1+cuda10.2 libnvinfer-dev=7.1.3-1+cuda10.2 libnvonnxparsers-dev=7.1.3-1+cuda10.2 libnvparsers-dev=7.1.3-1+cuda10.2 libnvinfer-plugin-dev=7.1.3-1+cuda10.2 python3-libnvinfer=7.1.3-1+cuda10.2 && \
    sudo apt-mark hold libnvinfer7 libnvonnxparsers7 libnvparsers7 libnvinfer-plugin7 libnvinfer-dev libnvonnxparsers-dev libnvparsers-dev libnvinfer-plugin-dev python3-libnvinfer
    

    注意:我安装了 tensorrt v.7.1.3.1 和 cuda 10.2,如果你想安装其他版本,请更改它,但要注意 tensorRT 和 cuda 的版本匹配意味着并非所有版本的 tensorRT 都有cuda版本

  2. 按照 https://github.com/NVIDIA/TensorRT

    中所述构建库 libnvinfer_plugin.so.x.x.x

    注意:x.x.x是我的库版本是7.1.3

  3. 如果您使用 x86 架构或 /usr/lib/aarch64-linux-gnu for arm64,请删除 /usr/lib/x86_64-linux-gnu 中的现有库: libnvinfer_plugin.so.7.1.3 libnvinfer_plugin.so.7 libnvinfer_plugin.so

    同样,文件名取决于 tensorRT 版本。

  4. 复制库 libnvinfer_plugin.so.7.1.3 到文件夹 /usr/lib/x86_64-linux-gnu 如果你有 x86 架构或 /usr/lib/aarch64-linux-gnu for arm64

  5. 为库创建模拟链接:

    sudo ln -s  libnvinfer_plugin.so.7 
    sudo ln -s libnvinfer_plugin.so.7 libnvinfer_plugin.so