推理框架runtime的动态输入、输出思路
对input进行resize
如果在我的网络内部,先是定义了一个resize操作,让输入插值到固定尺寸,然后再编码/解码、得到结果,最后我还想让这个输出跟我的输入一致,即如下操作:
input -> resized_input -> inference -> output -> resized_output
使用layer对最后输出特征进行IResizeLayer 操作
Runtime的中如果是动态输入,RT在运行时(runtime)就有个shape tensor的概念,区别于execution tensor,在网络建立的时候,就已经规定了输入、输出大小了。
(可以看我的翻译 :《【tensorRT文档翻译】7. Working With Dynamic Shapes》https://blog.csdn.net/djfjkj52/article/details/116649913)
shape tensor是一个一维的tensor,记录着输入tensor的大小,对应的操作层为IShapeLayer,所以我们就可以按下列操作获取输入的shape了。然后使用IResizeLayer就可以让输出与输入大小一致了。
这里的W和H设为-1, 即宽高是动态的, 需要在runtime才可以确定
input_tensor = network.add_input("input", trt.float32,(1, 3, -1, -1)) # 输入顺序为BCWH, 这里的W和H设为-1, 即宽高是动态的, 需要在runtime才可以确定
input_shape = network.add_shape(input=input_tensor)
input_shape 里面的内容为 input_tensor 的shape
print(input_shape.get_output(0).shape) # 输出为(4,), 即一维tensor, input_shape 里面的内容为 input_tensor 的shape
得到最后一层 last_layer 的输出
output_tensor = network.add_resize(input=last_layer.get_output(0)) # 得到最后一层 last_layer 的输出
使用IResizeLayer就可以让输出与输入大小一致了。
output_tensor.resize_mode = trt.ResizeMode.LINEAR
output_tensor.align_corners = True
output_tensor.set_input(1, input_shape.get_output(0))
参考链接:https://blog.csdn.net/github_28260175/article/details/103794473
推理框架runtime的动态输入、输出思路相关推荐
- NeurIPS 2020 | 清华大学提出:通用、高效的神经网络自适应推理框架
来源:人工智能AI技术 本文约3400字,建议阅读7分钟 本文介绍我们被NeurIPS 2020会议录用的一篇文章. 本文主要介绍我们被NeurIPS 2020会议录用的一篇文章:Glance and ...
- NeurIPS 2020 | Glance and Focus: 通用、高效的神经网络自适应推理框架
文 | rainforest wang 源 | 知乎 本文主要介绍我们被NeurIPS 2020会议录用的一篇文章: Glance and Focus: a Dynamic Approach to R ...
- 取input 输入_tensorRT动态输入(python)
关于tensorRT动态输入的例子大多数都是c++版本的,python版本的较少,这里简单总结下python处理tensorRT动态输入时,遇到的一些问题及解决方案. 这里的动态输入是指batch,w ...
- 阿里MNN推理框架相关介绍
一.参考资料 MNN官网 中文文档-语雀 欢迎使用MNN文档 - MNN-Doc 2.1.1 documentation) 英文文档 MNN知识库 MNN 官方仓库 二.相关介绍 1. MNN简介 M ...
- 深度学习推理框架调研总结
深度学习推理框架 作者介绍 1.移动端深度学习推理框架调研 1.1 小米的MACE(2017) 1.2 阿里的MNN 1.3 腾讯的TNN 1.4 ARM的tengine 1.5 百度的paddle- ...
- 如何阅读一个前向推理框架?以NCNN为例
0x00. 想法来源 CNN从15年的ResNet在ImageNet比赛中大放异彩,到今天各种层出不穷的网络结构被提出以解决生活中碰到的各种问题.然而,在CNN长期发展过程中,也伴随着很多的挑战,比如 ...
- 如何阅读一个前向推理框架?以NCNN为例。
[GiantPandaCV导语]自NCNN开源以来,其它厂商的端侧推理框架或者搭载特定硬件芯片的工具链层出不穷.如何去繁从简的阅读一个深度学习推理框架十分重要,这篇文章记录了我是如何阅读NCNN框架的 ...
- 自制深度学习推理框架-第七课-构建自己的计算图
自制深度学习推理框架-第六课-构建自己的计算图 项目主页 https://github.com/zjhellofss/KuiperInfer 感谢大家点赞和PR, 这是对我最大的鼓励, 谢谢. 现在K ...
- 自制深度学习推理框架-第十一节-再探Tensor类并构建计算图的图关系
自制深度学习推理框架-第十一节-再探Tensor类并准备算子的输入输出 本课程介绍 我写了一个<从零自制深度学习推理框架>的课程,课程语言是 C++,课程主要讲解包括算子实现和框架设计的思 ...
- 【手把手AI项目】八、MobileNetSSD通过Ncnn前向推理框架在Android端的使用--Cmake编译(目标检测 objection detection)
一.前言 安装win10+linux-Ubuntu16.04的双系统(超细致) ubuntu16.04+caffe+CUDA10.0+cudnn7.4+opencv2.4.9.1+python2.7 ...
最新文章
- 当科学遇上众包:9个值得关注的前沿科技算力众包平台
- 【leetcode】3 minstack
- matlab运行就是编译么,matlab编译运行c文件
- 转:优秀程序员的45个习惯
- P2714-四元组统计【数论,容斥】
- 将字符串中的指定字符全局替换
- 破解key file时经常用到的几个API函数及其用法
- 得推家政派单系统源码 v1.0
- 精英计算机主板,精英电脑发布顶级P965芯片组主板
- Python学习之路23-文本和字节序列
- sql date时间加减几天几小时
- python制作 whl 源文件,并制作本地pip源
- mysql5.7 主从数据库操作命令
- jQuery:基础知识学习
- 湖科大计算机科学与技术,湖南科技大学计算机科学与工程学院前来我院进行访问与交流...
- NSString 的常用方法
- 基于QT实现简单的音乐播放器
- 贝塞尔曲线运动n阶追踪方程的数学原理及其匀速化方法和应用
- Windows下批量查找文件
- 调用百度地图API出现 error inflating class com.baidu.mapapi.map.mapview
热门文章
- FFmpeg入门知识(二):Windows环境下编译FFMPEG源码
- 一个网站 一个域名跟服务器吗,域名服务器与根服务器区别吗
- 数据结构-01-链表数据结构之单链表
- UDP通信的简单实现(程序)
- 华为奇葩面试题:一头牛重800公斤一座桥承重700公斤,请问牛怎么过桥?
- 6 个实用的 Code Review 实践技巧
- A little knowledge point every day,一起学python
- 树莓派端口i2s_树莓派制造低成本交互式显微镜
- quick time不可用是什么意思_农村谚语“不可不算,不可全算”是什么意思?
- kitti数据集_CVPR2020 | PV-RCNN: 3D目标检测 Waymo挑战赛+KITTI榜 单模态第一算法