• Win11系统C++将ONNX转换为engineer文件,TensorRT加速推理


    准确工作,安装配置好CUDA,cudnn,vs2019,TensorRT

    可以参考我博客(下面博客有CUDA11.2,CUDNN11.2,vs2019,TensorRT配置方法)

    (70条消息) WIN11+CUAD11.2+vs2019+tensorTR8.6+Yolov3/4/5模型加速_Vertira的博客-CSDN博客

    下面我们在上面的基础上,下载opencv4(备用),然后创建onnx2TensorRT 项目

    1.vs2019创建控制台程序,

      如果你是初次安装,没有c++套件(如果你安装了C++套件 ,忽略此步,直接进行第2步),

    打开 Visual Studio Installer , 点击 " 修改 " 按钮 

    进入 可以安装套件的界面

    安装 " 使用 C++ 的桌面开发 " 组件 ; 有很多组件,这里咱们只安装C++

     选中后 , 右下角会显示 " 修改 " 按钮 , 点击该按钮 , 即可开始

     

    然后等待安装完成即可 ;(时间有点长)

    然后:

    2、创建并运行 Windows 控制台程序 

     文件-->新建---》项目

    选择创建 " 控制台应用 " ,

    下一步,

    在弹出的界面中 定义好工程名称onnx2TensorRT  和路径,确定创建  即可 

     然后进入工程文件夹,打开工程,工程自动创建带有输出hello world的cpp源文件,把文件清空

    然后粘贴下面的代码:(由于没有配置路径,会出现很多红线,这个不用担心,下面就开始配置CUDA,TensorRT,这里没有用的图片显示,我暂时没有配置opencv)

    1. #include <iostream>
    2. #include <fstream>
    3. #include "NvInfer.h"
    4. #include "NvOnnxParser.h"
    5. // 实例化记录器界面。捕获所有警告消息,但忽略信息性消息
    6. class Logger : public nvinfer1::ILogger
    7. {
    8. void log(Severity severity, const char* msg) noexcept override
    9. {
    10. // suppress info-level messages
    11. if (severity <= Severity::kWARNING)
    12. std::cout << msg << std::endl;
    13. }
    14. } logger;
    15. void ONNX2TensorRT(const char* ONNX_file, std::string save_ngine)
    16. {
    17. // 1.创建构建器的实例
    18. nvinfer1::IBuilder* builder = nvinfer1::createInferBuilder(logger);
    19. // 2.创建网络定义
    20. uint32_t flag = 1U << static_cast<uint32_t>(nvinfer1::NetworkDefinitionCreationFlag::kEXPLICIT_BATCH);
    21. nvinfer1::INetworkDefinition* network = builder->createNetworkV2(flag);
    22. // 3.创建一个 ONNX 解析器来填充网络
    23. nvonnxparser::IParser* parser = nvonnxparser::createParser(*network, logger);
    24. // 4.读取模型文件并处理任何错误
    25. parser->parseFromFile(ONNX_file, static_cast<int32_t>(nvinfer1::ILogger::Severity::kWARNING));
    26. for (int32_t i = 0; i < parser->getNbErrors(); ++i)
    27. {
    28. std::cout << parser->getError(i)->desc() << std::endl;
    29. }
    30. // 5.创建一个构建配置,指定 TensorRT 应该如何优化模型
    31. nvinfer1::IBuilderConfig* config = builder->createBuilderConfig();
    32. // 6.设置属性来控制 TensorRT 如何优化网络
    33. // 设置内存池的空间
    34. config->setMemoryPoolLimit(nvinfer1::MemoryPoolType::kWORKSPACE, 16 * (1 << 20));
    35. // 设置低精度 注释掉为FP32
    36. if (builder->platformHasFastFp16())
    37. {
    38. config->setFlag(nvinfer1::BuilderFlag::kFP16);
    39. }
    40. // 7.指定配置后,构建引擎
    41. nvinfer1::IHostMemory* serializedModel = builder->buildSerializedNetwork(*network, *config);
    42. // 8.保存TensorRT模型
    43. std::ofstream p(save_ngine, std::ios::binary);
    44. p.write(reinterpret_cast<const char*>(serializedModel->data()), serializedModel->size());
    45. // 9.序列化引擎包含权重的必要副本,因此不再需要解析器、网络定义、构建器配置和构建器,可以安全地删除
    46. delete parser;
    47. delete network;
    48. delete config;
    49. delete builder;
    50. // 10.将引擎保存到磁盘,并且可以删除它被序列化到的缓冲区
    51. delete serializedModel;
    52. }
    53. void exportONNX(const char* ONNX_file, std::string save_ngine)
    54. {
    55. std::ifstream file(ONNX_file, std::ios::binary);
    56. if (!file.good())
    57. {
    58. std::cout << "Load ONNX file failed! No file found from:" << ONNX_file << std::endl;
    59. return ;
    60. }
    61. std::cout << "Load ONNX file from: " << ONNX_file << std::endl;
    62. std::cout << "Starting export ..." << std::endl;
    63. ONNX2TensorRT(ONNX_file, save_ngine);
    64. std::cout << "Export success, saved as: " << save_ngine << std::endl;
    65. }
    66. int main(int argc, char** argv)
    67. {
    68. // 输入信息
    69. const char* ONNX_file = "../weights/test.onnx";
    70. std::string save_ngine = "../weights/test.engine";
    71. exportONNX(ONNX_file, save_ngine);
    72. return 0;
    73. }

     

     然后,开始配置

    属性界面如下: 

     包含目录:是CUDA的include文件夹所在路径和TensorRT的 include文件夹

    $(CUDA_PATH)\include                            
    D:\software\TensorRT-8.4.1.5_CUDA11.6_Cudnn8.4.1\include
    D:\software\TensorRT-8.4.1.5_CUDA11.6_Cudnn8.4.1\samples\common


    库目录:指的是 CUDA的lib 和TensorRT的lib

    $(CUDA_PATH)\lib
    $(CUDA_PATH)\lib\x64
    D:\software\TensorRT-8.4.1.5_CUDA11.6_Cudnn8.4.1\lib

    注意:$(CUDA_PATH)  也可以用绝对路径代替

    3. 设置属性 — 链接器 

     输入的内容:

    1. nvinfer.lib
    2. nvinfer_plugin.lib
    3. nvonnxparser.lib
    4. nvparsers.lib
    5. cudnn.lib
    6. cublas.lib
    7. cudart.lib

    然后确定,确定  即可

    5. 创建模型文件夹

    新建weights文件夹,将你的onnx文件放在里面

          

     注意:weights路径的位置一定要和程序  最下面的路径位置一样

     然后,在debug模型在运行,如果你需要release版本,那就在release模式下运行。

     运行结果:

    1. Load ONNX file from: ../weights/model.onnx
    2. Starting export ...
    3. onnx2trt_utils.cpp:369: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
    4. TensorRT was linked against cuDNN 8.4.1 but loaded cuDNN 8.2.1
    5. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    6. - Subnormal FP16 values detected.
    7. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    8. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    9. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    10. - Subnormal FP16 values detected.
    11. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    12. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    13. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    14. - Subnormal FP16 values detected.
    15. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    16. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    17. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    18. - Subnormal FP16 values detected.
    19. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    20. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    21. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    22. - Subnormal FP16 values detected.
    23. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    24. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    25. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    26. - Subnormal FP16 values detected.
    27. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    28. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    29. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    30. - Subnormal FP16 values detected.
    31. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    32. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    33. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    34. - Subnormal FP16 values detected.
    35. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    36. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    37. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    38. - Subnormal FP16 values detected.
    39. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    40. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    41. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    42. - Subnormal FP16 values detected.
    43. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    44. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    45. - Subnormal FP16 values detected.
    46. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    47. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    48. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    49. - Subnormal FP16 values detected.
    50. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    51. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    52. - Subnormal FP16 values detected.
    53. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    54. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    55. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    56. - Subnormal FP16 values detected.
    57. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    58. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    59. - Subnormal FP16 values detected.
    60. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    61. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    62. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    63. - Subnormal FP16 values detected.
    64. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    65. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    66. - Subnormal FP16 values detected.
    67. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    68. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    69. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    70. - Subnormal FP16 values detected.
    71. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    72. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    73. - Subnormal FP16 values detected.
    74. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    75. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    76. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    77. - Subnormal FP16 values detected.
    78. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    79. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    80. - Subnormal FP16 values detected.
    81. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    82. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    83. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    84. - Subnormal FP16 values detected.
    85. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    86. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    87. - Subnormal FP16 values detected.
    88. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    89. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    90. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    91. - Subnormal FP16 values detected.
    92. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    93. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    94. - Subnormal FP16 values detected.
    95. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    96. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    97. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    98. - Subnormal FP16 values detected.
    99. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    100. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    101. - Subnormal FP16 values detected.
    102. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    103. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    104. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    105. - Subnormal FP16 values detected.
    106. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    107. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    108. - Subnormal FP16 values detected.
    109. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    110. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    111. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    112. - Subnormal FP16 values detected.
    113. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    114. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    115. - Subnormal FP16 values detected.
    116. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    117. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    118. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    119. - Subnormal FP16 values detected.
    120. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    121. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    122. - Subnormal FP16 values detected.
    123. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    124. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    125. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    126. - Subnormal FP16 values detected.
    127. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    128. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    129. - Subnormal FP16 values detected.
    130. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    131. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    132. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    133. - Subnormal FP16 values detected.
    134. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    135. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    136. - Subnormal FP16 values detected.
    137. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    138. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    139. - Subnormal FP16 values detected.
    140. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    141. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    142. - Subnormal FP16 values detected.
    143. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    144. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    145. - Subnormal FP16 values detected.
    146. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    147. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    148. - Subnormal FP16 values detected.
    149. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    150. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    151. - Subnormal FP16 values detected.
    152. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    153. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    154. - Subnormal FP16 values detected.
    155. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    156. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    157. - Subnormal FP16 values detected.
    158. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    159. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    160. - Subnormal FP16 values detected.
    161. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    162. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    163. - Subnormal FP16 values detected.
    164. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    165. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    166. - Subnormal FP16 values detected.
    167. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    168. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    169. - Subnormal FP16 values detected.
    170. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    171. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    172. - Subnormal FP16 values detected.
    173. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    174. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    175. - Subnormal FP16 values detected.
    176. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    177. Weights [name=Conv_3 + Relu_4.weight] had the following issues when converted to FP16:
    178. - Subnormal FP16 values detected.
    179. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    180. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    181. Weights [name=Gemm_8 + Relu_9.weight] had the following issues when converted to FP16:
    182. - Subnormal FP16 values detected.
    183. - Values less than smallest positive FP16 Subnormal value detected. Converting to FP16 minimum subnormalized value.
    184. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    185. Weights [name=Gemm_8 + Relu_9.bias] had the following issues when converted to FP16:
    186. - Subnormal FP16 values detected.
    187. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    188. Weights [name=Gemm_10.weight] had the following issues when converted to FP16:
    189. - Subnormal FP16 values detected.
    190. If this is not the desired behavior, please modify the weights or retrain with regularization to reduce the magnitude of the weights.
    191. The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
    192. The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
    193. Export success, saved as: ../weights/model.engine
    194. D:\VS_project\onnx2TensorRT\x64\Debug\onnx2TensorRT.exe (进程 17936)已退出,代码为 0
    195. 要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
    196. 按任意键关闭此窗口. . .

    从最后两句话可以看出

    1. The getMaxBatchSize() function should not be used with an engine built from a network created with NetworkDefinitionCreationFlag::kEXPLICIT_BATCH flag. This function will always return 1.
    2. Export success, saved as: ../weights/model.engine
    3. D:\VS_project\onnx2TensorRT\x64\Debug\onnx2TensorRT.exe (进程 17936)已退出,代码为 0
    4. 要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
    5. 按任意键关闭此窗口. . .

    程序已经运行成功,没有报错。

    7.注意:如果运行时出现 如下警告

    问题 — 缺少 zlibwapi.dll 文件

    若出现缺少zlibwapi.dll,需要下载,

    若出现缺少zlibwapi.dll,需要下载,
    链接:https://pan.baidu.com/s/12sVdiDH-NOOZNI9QqJoZuA?pwd=a0n0

     链接:百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/12sVdiDH-NOOZNI9QqJoZuA?pwd=a0n0
    提取码:a0n0
    下载后解压,将zlibwapi.dll 放入 …\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin(我的路径)
    重新运行程序。如果没有错误,就忽略这个注意。

    8. 生成engine文件

    选择Release模式,然后重新配置一遍

    点击,更换为Release

    结束

    欢迎   点赞   收藏   加   关注

    参考:

    (56条消息) Win10系统C++将ONNX转换为TensorRT_田小草呀的博客-CSDN博客_c++ onnx转tensorrt

  • 相关阅读:
    git配置 拉取github项目
    Redis入门
    性能测试LoadRunner02
    WSL + Docker容器,Windows上最爽的开发体验
    【C++多线程那些事儿】多线程的执行顺序如你预期吗?
    谈谈 Redis 如何来实现分布式锁
    详解欧拉计划第185题:数字头脑
    【剑指Offer】整数(二)二进制 - 二进制加法 - JavaScript
    必知必会打包工具tsup原理解析
    面试金典--面试题 17.21. 直方图的水量(不困难的困难题)
  • 原文地址:https://blog.csdn.net/Vertira/article/details/127602349