一、环境配置
Jetson系列加速器如Nano、Xavier在刷机之后是自动安装了TensorRT的,通过如下命令可以检查是否安装成功:
dpkg -l | grep TensorRT
成功显示:
但是可能一开始在conda环境里加载不出来,是因为没有配置好环境。
首先找到tensor.so的位置:
sudo find / -iname "tensorrt.so"
我的位置在这里:
然后进入自己创建的conda用户环境里(/usr/local/archiconda3/envs/pytorch/lib/python3.6/site-packages)建立软连接:
ln -s /usr/lib/python3.6/dist-packages/tensorrt/tensorrt.so tensorrt.so
现在import tensorrt就不会有问题了:
文件转换还需要用到trtexec这个文件,我找了好久原来在这里:
当然它还是无法直接使用的,要在.bashrc文件里添加一下环境变量:
export PATH=/usr/src/tensorrt/bin:$PATH
记得source一下。
现在环境就基本配置好啦!
二、文件转换
在.onnx目录下运行:
.onnx转.trt
import os
import tensorrt as trt
import sys
TRT_LOGGER = trt.Logger(trt.Logger.WARNING)
runtime = trt.Runtime(TRT_LOGGER)
model_path = 'XXX.onnx'
engine_file_path = "XXX.trt"
EXPLICIT_BATCH = 1 << (int)(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH) # batchsize=1
builder = trt.Builder(TRT_LOGGER)
network = builder.create_network(EXPLICIT_BATCH)
parser = trt.OnnxParser(network,TRT_LOGGER)
#with trt.Builder(TRT_LOGGER) as builder, builder.create_network(EXPLICIT_BATCH) as network, trt.OnnxParser(network,TRT_LOGGER) as parser:
builder.max_workspace_size = 1 << 28
builder.max_batch_size = 1
print(network)
if not os.path.exists(model_path):
print('ONNX file {} not found.'.format(model_path))
exit(0)
print('Loading ONNX file from path {}...'.format(model_path))
#with open(model_path, 'rb') as model:
model = open(model_path, 'rb')
print('Beginning ONNX file parsing')
if not parser.parse(model.read()):
print('ERROR: Failed to parse the ONNX file.')
for error in range(parser.num_errors):
print('parser.get_error(error)', parser.get_error(error))
#不加下面两行,生成的engine为None
last_layer = network.get_layer(network.num_layers - 1)
network.mark_output(last_layer.get_output(0))
network.get_input(0).shape = [1, 3, 680, 680] #此处记得修改成自己的inputsize
print('Completed parsing of ONNX file')
engine = builder.build_cuda_engine(network)
with open(engine_file_path, "wb") as f:
f.write(engine.serialize())
print('save trt success!!')
.onnx转.engine
trtexec --onnx=XXX.onnx --saveEngine=XXX.trt
可以在后面添加--int8或者--fp16指定精度。
Original: https://blog.csdn.net/qq_41847894/article/details/124132989
Author: Jodie大白话
Title: Jetson系列TensorRT .onnx转.trt/.engine
相关文章

YoloV3 案例
学习目标 知道YoloV3模型结构及构建方法 知道数据处理方法 能够利用yoloV3模型进行训练和预测 一部分是网络数据,可以是开源数据,也可以通过百度、Google图片爬虫得到 在接下来的课程中我们...

Google Earth Engine(GEE)——TensorFlow支持深度学习等高级机器学习方法(非免费项目)
TensorFlow是一个开源机器学习平台,支持深度学习等高级机器学习方法。本页面介绍了 Earth Engine 中的 TensorFlow 特定功能。尽管 TensorFlow 模型是在 Eart...

【目标检测】(13) 先验框解码,调整预测框,附TensorFlow完整代码
各位同学好,今天和大家分享一下如何使用 TensorFlow对 YOLOV3 和 YOLOV4 网络的输出特征进行解码, 微调每个先验框的坐标和宽高,使其逼近真实标签框。 YOLOV3 和 YOLOV...

tensorflow 与训练猫狗数据模型做迁移式学习完整流程
经过本人一段学习,终于完成了第一个训练集。记录一下,也为大家一个参考。相关数据集打包到百度网盘评论区留言可取。 推荐一本书 一、首先安装anaconda——创建虚拟环境(本人命名为tf1X)——下载安...

【SLAM】LIO-SAM解析——IMU预计分IMU-Preintegration(4)
知识点: 如何使用GTSAM,从而输出一个丝滑的位姿; 已知上一帧lidar里程计(频率低),当前帧lidar里程计(频率低),两个lidar帧之间的IMU数据,如何利用图优化的方式优化位姿状态量(P...

OpenCV学习笔记(十七)——K均值聚类
当我们要预测的是一个离散值时,做的工作就是"分类"。机器学习模型还可以将训练集中的数据划分为若干个组,每个组被称为一个"簇(cluster)"。它的重要特点是在学习过程中不需要用标签对训练样本进行标注...

GitHub 3.1K,业界首个流式语音合成系统开源
本文已在飞桨公众号发布,查看链接戳: GitHub 3.1K,业界首个流式语音合成系统开源! 智能语音技术已经在生活中随处可见,常见的智能应用助手、语音播报、近年来火热的虚拟数字人,这些都有着智能语音...

把一个服务器上的环境迁移到另一个服务器上
把一个服务器上的环境迁移到另一个服务器上 用的远程连接服务器的软件是MobaXterm 在现在的2090的服务器上安装了keras的环境,无奈要跑的数据太大,要在另一个3090的服务器上再装一个ker...

利用Anaconda安装tensorflow-gpu 2.4.0 + cuda11.1 + cudnn 以及安装 pytorch 1.9.0 + cuda11.1
介绍&步骤 利用Anaconda安装tensorflow-gpu 2.4.0 + cuda11.1 + cudnn 以及安装 pytorch 1.9.0 + cuda11.1 安装Anacon...

特征工程-1
一、特征工程 对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。从本质上来讲,特征工程是一个表示和展现数据的过程。在实际工作中,特征工程旨在去除原始数据中的杂质和冗余,设计更高效...

物联网智能垃圾管理技术中传感器与数传电台的作用
全球变暖导致气候变化,这促使各国政府根据联合国2030年可持续发展目标减少碳排放足迹。迫使市政当局转向智能垃圾管理技术,以改善垃圾回收和收集。 智能垃圾管理技术,这个词看起来怪怪的,垃圾管理如何配得上...

ROS中C++ boost编程,类内回调函数
首先熟悉boost::bind() 定义如下函数: int f(int a, int b) { return a + b; } int g(int a, int b, int c) { return ...

NLP学习—21.自注意力机制(Self-Attention)与Transformer详解
文章目录 * - + 引言 + 一、Structure of Transformers + 二、Encoder Structure + 三、Self-attention and multi-head ...

ubuntu20.04安装VITIS_HLS2021.2配置OPENCV4.4和VITIS_LIBRARIES(详细版)
一、引言 大家好,今天给研友们配置一下这个VITIS_HLS,因这其中经历太多的坎坷,为让大家原理配置环境的烦扰,本人出个详细版,望大家喜欢 二、VITIS的安装 我之前的博客已经出过vitis的安装...

李宏毅DLHLP.09.Voice Conversion.1/2. Feature Disentangle
文章目录 介绍 什么是VC * 应用 实操 分类 Feature Disentangle * Using Speaker Information Pre-training Encoders Conte...