IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> object detection with faster rCNN -> 正文阅读

[人工智能]object detection with faster rCNN

Proposal and CropAndResize

1 custom plugin

  1. config.py 是为convert_to_uff 命令定义的。config.py文件中应该通过修改op字段将自定义层映射到TensorRT中的插件名称。插件参数的名称也应该与TensorRT插件所期望的完全匹配。如果config.py定义正确。NvUffParser将能够解析网络并使用正确的参数调用适当的插件。
  2. CropAndResized插件:根据产生的ROI坐标从特征图中裁剪出补丁,并将其调整为通用目标大小,例如7*7。输出张量用作“CropAndResize”插件后面的分类器的输入。
  3. Propsal 插件:从RPN中细化候选框,功能包括根据置信度选择顶框,执行NMS,最后选择在NMS之后具有最高置信度的顶框。

2 prerequisites

  1. ./download_model.sh下载相关的数据和模型
  2. patch uff converter

给UFF converter打补丁,修复UFF包中Softmax层问题,让UFF_ROOT表示python UFF包的根目录,比如/usr/lib/python2.7/dist-packages/uff,让后使用以下命令修补程序

patch UFF_ROOT/converters/tensorflow/converter_functions.py < fix_softmax.patch

补丁文件 fix_softmax.patch是使用TensorRT 5.1 GA中的UFF软件包版本0.6.3生成的,在应用补丁之前,需要确认UFF软件版本也是0.6.3的。对于TensorRT 6.0,可以忽略它,因为它应该已经被修复了。

config.py 中添加新的插件

convert-to-uff -p config.py -O dense_class/Softmax -O dense_regress/BiasAdd -O proposal faster_rcnn.pb

3 run

  1. 上述步骤会在build/cmake/out文件夹中创建sample_uff_faster_rcnn 可执行文件。
 ./sample_uff_faster_rcnn --datadir /data/uff_faster_rcnn -W 480 -H 272 -I 2016_1111_185016_003_00001_night_000441.ppm

INT8 mode:

 ./sample_uff_faster_rcnn --datadir /data/uff_faster_rcnn -i -W 480 -H 272 -I 2016_1111_185016_003_00001_night_000441.ppm --int8

4 code

config.py

import tensorflow as tf
import graphsurgeon as gs


CropAndResize = gs.create_plugin_node(
    name='roi_pooling_conv_1/CropAndResize_new',
    op="CropAndResize",
    inputs=['activation_7/Relu', 'proposal'],
    crop_height=7,
    crop_width=7)
Proposal = gs.create_plugin_node(
    name='proposal',
    op='Proposal',
    inputs=['rpn_out_class/Sigmoid', 'rpn_out_regress/BiasAdd'],
    input_height=272,
    input_width=480,
    rpn_stride=16,
    roi_min_size=1.0,
    nms_iou_threshold=0.7,
    pre_nms_top_n=6000,
    post_nms_top_n=300,
    anchor_sizes=[32.0, 64.0, 128.0],
    anchor_ratios=[1.0, 0.5, 2.0])


namespace_plugin_map = {
"crop_and_resize_1/Reshape" : CropAndResize,
'crop_and_resize_1/CropAndResize' : CropAndResize,
"crop_and_resize_1/transpose" : CropAndResize,
"crop_and_resize_1/transpose_1" : CropAndResize
}


def preprocess(dynamic_graph):
    # Now create a new graph by collapsing namespaces
    dynamic_graph.append(Proposal)
    dynamic_graph.remove(dynamic_graph.find_nodes_by_name('input_2'))
    dynamic_graph.collapse_namespaces(namespace_plugin_map)

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:23:44  更:2021-10-28 12:26:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 6:30:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码