前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在Jetson NANO 2GB上更换模型得到不同效果

在Jetson NANO 2GB上更换模型得到不同效果

作者头像
GPUS Lady
发布2021-07-12 17:07:28
6690
发布2021-07-12 17:07:28
举报
文章被收录于专栏:GPUS开发者

在上一篇文章中,我们已经体验了 “10 行 Python 代码的威力”,可以明显感觉到 “Hello AI World” 的内容绝非一般应用的 “Hello World” 那么简单。在本篇文章中,我们将为大家介绍如何更换模型以获得不同的效果。

当然,这个项目有一个特色,那就是它非常有效地利用了 “预训练模型”!事实上,在深度学习应用过程中,“训练模型” 是需要耗费相当大量的时间与计算资源的,这个过程对于初学者来说难度非常高,因此想要让初学者轻松上手,就必须提供 “最简单”、“最有效” 的入门方式,“支持预训练模型” 就是一种非常好的方法。

看一下上一篇 “10lines.py” 里的第 5 行代码:

我们只要将粗体底线的 “ssd-mobilenet-v2” 部分进行置换,就能调用不同的预训练模型,去改变您想要检测的类型结果。这些预训练模型的来源主要有二:

1. 本系统预建立的支持:

在前面 “项目安装” 一文中,执行过程的 “Download Models” 部分就是下载这些预训练模型以及所需要的配套文件,下载脚步会将这些文件放置到对应的路径中,并且在 C++ 主代码内已经做好设置。这是本文所要说明的内容。

2. 自行添加:

这个部分由于牵涉更多的设定,因此会在后面的文章中进行说明。本系统已建立的模型列表如下图:

上面的模型,都是由 NVIDIA 为大家用高性能级别的 GPU 服务器,耗费数天时间所训练出来的模型,效果与质量都是很好的。前面三种都是以 91 类的 COCO 数据集训练出来的物件检测模型,三种模型直接的差异主要在性能与置信度之间。后面 7 种模型都是 “单类” 模型,它们均只能识别一种物件,我们可以对同一个视频去改变不同的模型,看看输出的结果如何,就能清楚“更换模型去改变功能”这句话的意思。

上表中与代码有关系的是第二行 “CLI argument”,也就是我们只要将前面指令中的粗体底线(“ssd-mobilenet-v2”)进行置换,例如调用 ped-100 这个模型,就只能检测 “pedestrians(行人)” 这类物件,请将模型代码部分改成 “pednet”,如此第 5 行内容就变成:

如果只想检测 “dog(狗)” 的话,就将模型代号改为 “coco-dog”,去调用 DetectNet-COCO-Dog 这个预训练的模型,代码如下:

这么轻松的方式,就能改变调用的模型,去得到不同的结果。

为了更有效地体验不同模型的识别效果,我们用视频文件作为输入源,就更容易感受到它们之间差异,这里用系统自带的 /usr/share/visionworks/sources/data

/pedestrians.mp4 作为输入源,以此将 10lines.py 代码修改成如下:

(使用 ped-100 模型,只检测出 “Pededtrians(行人)”物件)

(使用 DetectNet-COCO-Dog 模型,只检测出 “Dog(狗)” 物件)

如何,是不是很简单呢?请自行尝试更换其他的模型,当然也可以将输入源改成摄像头,用你周遭的物体来试试效果。

最后,我们来看一个预训练好的模型,以系统预设的 SSD-Mobilenet-v2 为例,主要文件存放在 ~/jetson-inference/data/networks/SSD-Mobilenet-v2 里面,浏览一下里面的内容:

可以看到以下的列表:

第一个 “ssd_coco_labels.txt” 存放着这个模型的类别名称,您可以打开看看。

第二个 “ssd_mobilenet_v2_coco.uff” 就是预训练好的模型文件,附加文件名为 .uff 的通常是 Tensorflow 训练的模型,再转换过来的中间格式。

第三个文件的末尾附加名 “.GPU.FP16.engine” 代表是 TensorRT 所建立的加速引擎,支持 GPU 的 FP16 格式。

如果检查 ped-100 模型的话,会看到不一样的内容,执行以下指令:

可以看到以下的列表,这样的内容肯定就是由 Caffe 框架训练出来的模型。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档