前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Jetson NANO实现手语识别案例

用Jetson NANO实现手语识别案例

作者头像
GPUS Lady
发布2019-08-20 17:04:54
2.7K0
发布2019-08-20 17:04:54
举报
文章被收录于专栏:GPUS开发者

今天的案例来自于:

(首先是位丈夫,接着是位父亲.....这个简短的介绍怎么让小编觉得暖暖的呢?)

目前,云计算的经济利益偏向于短暂的工作负载而非永远在线的工作负载。一个短暂的例子是云功能,例如Amazon Lambda或GCP云功能或Azure功能。短期云功能比始终在线的云VM或永远在线的本地VM更具成本效益。另一个短暂的例子是临时使用云计算进行灾难恢复或机器学习(ML)模型培训。通常不需要D/R资源,也不需要ML GPU资源池。如果您的企业需要持续不断地拥有大量GPU资源,那么肯定是在内部而不是在云中构建。

花了很多时间使用99美元的Jetson Nano IoT设备,并发现使用临时云GPU是一种加速ML模型创建的经济有效的方法。

教我的Nano识别手语

GitHub上有一套优秀的手语训练图像。

我认为通过Jetson NANO相机的实时视频输入教NANO识别手语会很有趣.

NVIDIA DIGITS NVIDIA提供名为DIGITS的免费机器学习培训环境。DIGITS可以消除构建和测试机器学习模型带来了所有编程上的痛苦。DIGITS可以从源代码编译,在容器中运行,也可以作为AWS VM使用。为了熟悉DIGITS,我一直在Mac上的Ubuntu VM中从编译源运行它。NVIDIA DIGITS具有GPU感知功能(自然而然)。我的Ubuntu VM无法访问GPU,因此我的所有训练都是在vCPU上运行的,并没有尽可能高的性能。

图像加载比较 在我的笔记本电脑VM和我的云VM中将87,000个手语手的小图像加载到DIGITS数据集中并没有花那么长时间。在笔记本电脑VM中加载大约需要4分钟,在云VM中大约需要2分钟。

模型创建比较 模型创建是云VM(可访问NVIDIA GPU)的亮点。在模型创建期间,运行机器学习python代码,分析75%的图像以查找模式,然后针对其他25%的图像连续测试这些模式以进行验证,直到准确性最大化并且损失最小化。

在我的笔记本电脑VM上运行此模型创建估计完成时间为11天(!)。我放弃了那次运行并开始研究使用云虚拟机所需的时间和费用。推荐的NVIDIA DIGITS EC2实例类型为p2.xlarge,每小时费用约为0.90美元。我估计Cloud VM上的运行时间是8小时。与我购买一张价值几千美元的NVIDIA GPU卡相比,8美元对我来说是一个很好的经济价值。

云端训练,边缘部署

旦模型被训练,我可以将模型下载到我的Nano并关闭云VM以停止计费。值得庆幸的是,DIGITS使得下载模型变得简单。只需单击下载模型。

文件被格式化为gzipped tar文件,其命名约定为20190514-175338-623c_epoch_30.0.tar.gz。我将文件(tar xzvf)扩展为Nano上的“sign-language-model”目录。

Nano开发套件包括用于文件识别的工作源代码以及使用由DIGITS创建的Caffe模型的实时相机识别。你可以找到关于GitHub的代码和说明。

我所需要做的就是将一些参数传递给实时相机识别程序(imagenet-camera),以便加载下载的机器学习模型。

Jetson Nano将此模型缓存到内存中,并使用其128核GPU开始以每秒60帧的速度识别实时图像。高fps实时识别是Nano与其他物联网设备(如Raspberry Pi和Google Coral)的不同之处。

总结 并非所有在公共云中的工作负载都是最具成本效益或性能最高的, 有些是。需要定义每个工作负载的要求以及内部部署和云数据中心的功能,以确定每个工作负载的正确位置。在我的项目里,我几个小时都无法访问本地NVIDIA GPU,因此在云VM中租用NVIDIA GPU是有道理的。我也听到过“在云中训练,在边缘部署”的建议,这似乎是测试这个概念的一个很好的理由。任务完成!

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档