Jetson TX2入门之ImageNet图像分类

版权声明:转载请声明原作者并请附带本文链接,谢谢合作! https://blog.csdn.net/Q_QuanTing/article/details/81034258

Jetson TX2入门之ImageNet图像分类


简介

准备好去深入深度学习了吗?只需要两天哦。Nvidia 官方提供了所有我们需要的工具,其中包括简单上手的教程、软件源码以及已经训练好的网络模型(ImageNet和DetectNet的例子)。在这篇教程中,你将能够在Jetson TX2上加载和运行预先训练好的神经网络模型,还能够知道如何去用自己的数据集去重新训练神经网络。在我这篇文章中,我将把官方的教程搬运过来,不过翻译能力有限,还是详细内容请看原文教程。原文链接如下:

Two days to a demo

这篇将介绍如何在Jetson TX2实现图像分类功能。

关于深度学习的网络类型种类丰富,包括识别网络、检测网络、定位网络以及分割网络。在本教程中的第一个深度学习内容是使用“ImageNet”实现图像分类。

步骤

1. 环境

Jetson TX2 需要刷个机,刷完之后就有很多必要的工具了,可以看看我的这篇文章:

Jetson TX2 开箱配置+刷机+跑demo(常见坑总结)

2. 安装

2.1 已测环境

现在需要下载Nvidia给的源码,这些源码已经在以下几个Jetson板子上测试过了。

> Jetson TX2 - JetPack 3.0 / L4T R27.1 aarch64 (Ubuntu 16.04 LTS)
> Jetson TX1 - JetPack 2.3 / L4T R24.2 aarch64 (Ubuntu 16.04 LTS)
> Jetson TX1 - JetPack 2.3.1 / L4T R24.2.1 aarch64 (Ubuntu 16.04 LTS)
补一个我测试成功的:
> Jetson TX2 - JetPack 3.2.1 / L4T R28.2.1 aarch64 (Ubuntu 16.04 LTS)

2.2 安装git和cmake

为了获取源码,请确保安装了git和cmake:

$ sudo apt-get install git cmake

2.3 下载jetson-inference

使用git命令克隆jetson-inference:

$ git clone https://github.com/dusty-nv/jetson-inference

2.4 配置CMake

使用 CMake命令配置:

$ cd jetson-inference
$ mkdir build
$ cd build
$ cmake ../

注意:当cmake命令运行时,将会运行一个CMakePrebuild.sh的脚本,请确保有足够的权限用来安装,同时这个脚本需要从服务器下载网络模型,请在联网环境下进行。(我大概花了40分钟下载)

2.5 完成编译

请确保你在jetson-inference/build目录下

$ cd jetson-inference/build            # omit if pwd is already /build from above
$ make

2.6 目录结构

根据体系结构,程序包将构建为armhf或aarch64,具有以下目录结构:

|-build
    \aarch64        (64-bit)
        \bin            where the sample binaries are built to
        \include        where the headers reside
        \lib            where the libraries are build to

或则是:

|-build
    \armhf   (32-bit)
        \bin            where the sample binaries are built to
        \include        where the headers reside
        \lib            where the libraries are build to

3. 使用“ImageNet”进行图像分类

这个“ImageNet”对象,我们能够输入图片,它将给出这张图片中的物体名称以及可能性。“ImageNet”是一个已经接受过1000中物体训练过的网络,其中包括“AlexNet”和“GoogleNet”。为了能够使用“ImageNet”,Nvidia提供了一个imagenet-console命令和一个imagenet-camera命令。

在Jetson TX2上使用console命令

可以使用imagenet-console命令在一些示例图像上测试imageNet识别。 它将会先加载图像,然后使用TensorRT和imageNet类来执行推理,然后覆盖分类并保存输出图像。

使用前请先进入 aarch64/bin 目录

$ cd jetson-inference/build/aarch64/bin

imagenet-console接受2个命令行参数:输入图像的路径和输出图像的路径

$ ./imagenet-console Siberian-Husky-On-White-01.jpg Siberian-Husky-On-White-01_Output

输入图像:

输出图像:

这里的哈士奇是我自己找的,可以使用Nvidia自己带的图片进行测试:

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

在Jetson TX2上使用camera命令

接下来就是直接使用板载摄像头进行实时的视频分类了。和上一个类似的使用前请先进入 aarch64/bin 目录。

$ ./imagenet-camera googlenet   # to run using googlenet
$ ./imagenet-camera alexnet    # to run using alexnet

以上两个任意选一个就可以了。

(未完待更~~~)

最后

希望对大家有所帮助!:-)

猜你喜欢

转载自blog.csdn.net/Q_QuanTing/article/details/81034258