前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【入门篇】Jetson TX2深度学习Inference初体验

【入门篇】Jetson TX2深度学习Inference初体验

作者头像
GPUS Lady
发布2018-04-02 14:31:25
4.3K0
发布2018-04-02 14:31:25
举报
文章被收录于专栏:GPUS开发者GPUS开发者

前面如果已经在Jetson TX2安装好JetPack和Caffe(【入门篇】一个小白在Jetson TX2上安装caffe的踩坑之旅 ),我们接下来可以尝试在Jetson TX2上跑一些深度学习的测试代码。

NVIDIA提供了套教程,教程里包含了开发指南、TensorRT示例代码,甚至包括ImageNet和DetectNet示例在内的预先训练的网络模型,让您能够在Jetson TX1/TX2开发套件上加载并运行预训练的深层神经网络,并学习如何使用自己的数据集重新培训网络用来生产演示(点击阅读原文,观看完整官方教程)

今天我们来学习在TX2上用ImageNet来运行几个预训练的图像分类的代码。

下面是我们的运行步骤,这个步骤也是完全遵照NVIDIA的教程,我们都实际跑成功了:

1

NVIDIA提供了一个“源码”,是一款基于tensorr的深度学习原语,用于在实时的摄像头中运行google/alexnet,可用于做图像识别和具有定位功能的步行检测网络(即提供边界框),以及分割。

所以首先我们需要在Jetso上用源码进行编译:

1. 在TX2上安装git和cmake:

代码语言:javascript
复制
$ sudo apt-get install git cmake

2. 从 jetson-inference 源上复制:

代码语言:javascript
复制
$ git clone http://github.com/dusty-nv/jetson-inference

3.配置cmake:

代码语言:javascript
复制
$ cd jetson-inference
$ mkdir build
$ cd build
$ cmake ../

4.编译项目:

代码语言:javascript
复制
$ cd jetson-inference/build
$ make

运行到这一步,可能会出现错误,提示nvidia.app.box.com链接不上,导致模块下载不下来。

我也没有什么特别好的解决方式,况且我的网络也已经了,但也是出了这个问题。在这步卡了半天,换了同事重复执行以上步骤几次后,居然就链接上了....

链接上后各种编译需要花费一些时间,但是等待的时间是值得的。如果没有意外,环境就配置好了。这个时候我们查看一下Jetson-inference下有哪些文件:

2

接下来我们开始用Imagenet来做图像分类。

首先,尝试使用imageNet控制台程序来测试一些示例图像中的imageNet识别。它加载一个图像,使用TensorRT和imageNet类来执行推断,然后覆盖分类并保存输出图像。

首先进入此目录:

代码语言:javascript
复制
$ cd jetson-inference/build/aarch64/bin

我们进到这个目录里也可以看到已经有不少图片

然后,用imagenet-console程序对一个示例图像进行分类。imagenet控制台接受两个命令行参数:输入图像的路径和输出图像的路径。

按照教程,我们去识别一个橙子

代码语言:javascript
复制
$ ./imagenet-console orange_0.jpg output_0.jpg

运行结果显示这个图案97%的可能性是橙子

举一反三,我们再测试一个文件夹里的图案,比如一个鸟的图案,它的文件名是qqq.jpg:

$ ./imagenet-console qqq.jpg output_0.jpg

运行结果显示这个图案99%的可能性是知更鸟类

你也可以测试其它的图案,会不会开始有点感觉了?

3

接下来我们测试实时摄像头识别演示

与上一个示例类似,实时图像识别演示在/aarch64/bin中被称为imagenet-照相机。它运行在实时的摄像机流上,取决于用户参数,加载google lenet或alexnet使用TensorRT。

代码语言:javascript
复制
$ ./imagenet-camera googlenet      
$ ./imagenet-camera alexnet       

TX2自带摄像头设备识别出的图案类别显示在窗口标题栏上。默认情况下,应用程序可以识别多达1000种不同类型的对象,因为google lenet和Alexnet在ILSVRC12 ImageNet数据库中进行了培训,该数据库包含1000类对象。您可以在数据/网络/ilsvrc12 synsetwords.txt中找到包含1000种对象的名称的映射。

来吧,应该是可以了。注意,TX2摄像头出厂时候镜头贴了一层保护膜,你可以把它去掉,显示会更清晰!

我放了一个招财猫储蓄罐在摄像头面前

显示器显示86%可能性是~~茶壶~~确实有点像茶壶啊!

大家可以玩起来了!

欢迎大家继续关注我们的公众号,更欢迎大家能跟我们一起做踩坑教程。

为了完成本次教程,Ladycat也贡献了力量!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档