AI开发利器:HiLens Studio技术解读

Stella981
• 阅读 430

摘要:传统的AI应用开发和部署意味着高成本和高门槛,借助HiLens Studio,AI应用开发和部署仅需要三步。

曾几何时,

在我们青春年少时,

当我们看到某篇AI的技术文章时,

心中总不免想要在一个合适的环境上试上一试,于是就去搜索,发现要先装个编程工具(如某款IDE),嗯,好,那就先装一个吧;哦?还要指定的操作系统?这个有点麻烦:D,那就去下载一个吧;不好意思,还得整一个XX框架?这这这…;天哪,还得有开发板/GPU?这开发板/GPU还要X千块钱?Fxxk,诚心不想让我实操一把是吧,好吧,你得逞了,我不玩了不行吗(即使你下定决心凑齐了这些工具,真正安装配置时还会碰到一堆的版本、兼容性、配置等等各种烦人的问题的)!

就这样我们可能错失了成为某方面的大牛的机会?虽然由于客观条件的限制,我们没有在那条路上走得更远,但是内心好像出现了一点愧疚的感觉,我是不是太轻易放弃了呢,我不应该是这个样子的,应该要想尽一切办法节衣缩食去实现我的理想……

应该没有那么严重吧,还有其它更好方法可以学的呢,有的,肯定会有的,我相信这一点,好像某个伟人说过,只要有需求就会有供给。

“无需安装环境,开通即用;HiLens Kit模拟器,无需购买开发板/GPU;集成HiLens Framework;自带AI模板……”,等等,这不就是我梦想中的开发环境的样子吗!我就说了嘛,只要有需求肯定会有供给的!(到底是伟人说的还是我说的?)

好吧,正经点,HiLens Studio(下称Studio)就是朝着你梦想中的AI开发平台的样子去打造的开发平台。

HiLens Studio六大优势

那么,HiLens Studio到底有嘀咩优势呢。

1、开通即用,无需搭建本地开发环境无需任何手工配置。集成DevOps,技术门槛很低!小白也能轻松上手(注意,我说的不是你,我知道你是高手,只是不想花时间在这些繁琐的事情上面而已,我怎么这么了解你呢,因为…高手嘛,英雄所见略同!)。

2、内置性能无损的模拟器,无需购买开发板/GPU,费用门槛很低!低收入人群也无障碍入门(注意,我说的不是你,我知道你很有钱,并不介意付出合适的价格,只是希望了解后再投入)。

3、端云统一开发框架。在HiLens Studio内开发的技能,可以同时在端及云的环境运行。

4、无缝对接云服务,便捷调用。对接华为云ModelArts、OCR、NLP、OBS等众多云服务,方便开发端云协同的AI应用。

5、提供常用技能模板,快速上手。我们预置了Python、C++的多个完整技能模板,里面包括模型、逻辑代码、测试数据等,数分钟即可开发出你的第一个技能。

6、节省硬件开发成本,方便移动办公。对于多人开发团队,大部分时间通过模拟器调试,特定场景下在硬件上调试,可减少购买硬件的数量,降低成本(没错,就是专门为贵司降成本考虑的)。

下面我们从项目管理、编码调试及与华为云的整合等三部分来介绍。

项目管理

进入Studio后(当前需要先开通公测),即可见到以下界面,与大部分的IDE不同,本Studio为开发者提供项目管理的功能。在这里除了查看已有的项目列表,您还可以新建项目(基于模板)、修改项目属性、发布技能(到技能市场)、安装技能(到HiLens Kit)、备份项目(到对象存储服务OBS)、删除项目等常用必要功能,在此不赘述。

AI开发利器:HiLens Studio技术解读

项目管理界面

编码

当然了,还可以打开项目进行编码、调试,下面就是打开项目后的界面,容我稍作介绍。Studio的编辑界面是一个借鉴了VS Code风格的界面,具有一个成熟IDE所具有的常用功能,包括项目文件管理、实时语法加亮、实时警告/错误提醒、自动完成、代码折叠(代码块/函数等)、版本控制、错误提醒定位(点击Problems里面的条目可定位到问题位置)、一键编译(C++项目)等等。可通过下图有个整体概念:

AI开发利器:HiLens Studio技术解读

编码界面

此外本编辑器还有一些高级编程特性,比如跳转到定义、格式化代码等,其中大部分的功能都支持快捷键直接使用,比如本人很喜欢的Alt+Shift+F就是格式化当前文件,具体可参考下图。

AI开发利器:HiLens Studio技术解读

高级编码辅助工具

调试

当需要调试时——这是必须的——激动人心的时刻就来了,对于普通的电脑应用开发来说,单步调试是一个多么常见的手段对吧,但是对于嵌入式或者非PC终端来讲,业内当然也有相应的调试工具,不过可能是成本问题或者易用性方面的原因,这些工具看起来并不常用,所以业内很常见的做法就是最原始的调试方法,就是打印日志,通过分析日志来定位问题。如果你一开始就使用这种调试模式,也许感觉不到这份痛苦,但是对于从电脑应用开发进入嵌入式/非PC终端开发的兄弟来讲,这种调试方式的痛苦无疑更加的痛彻心扉!

对我本人来讲,这种感觉的曲线是这样的:

AI开发利器:HiLens Studio技术解读

注:1)本研究样本数量:1人;研究方法:凭感觉。

2)0表示没感觉,负数表示痛苦程度,正数表示幸福程度。

有句话说得好,只有经历过失去才知道没失去时的痛苦也是一种幸福,HiLens Studio由于嵌入了性能无损的模拟器并支持技能视频输出,除了单步调试(这个理应把你的情绪拉到正数,比如2),还支持实时低时延HDMI视频输出,用起来幸福指数会高达6(或以上)!

开发者设置好断点(单击下图中红点的位置即设置了改行为断点)后可以通过快捷键F5或者”Debug->Start Debugging”进入调试模式。

AI开发利器:HiLens Studio技术解读

调试模式界面

左边为调试面板,下方为实时日志输出,右边则是技能的HDMI视频输出的窗口,即技能在HiLens Kit中向HDMI显示器输出的内容,当我们调试时会在该窗口中输出,视频窗口可全屏或悬浮。该功能内置于HiLens Studio,省却了购买硬件及安装配置等环节,极大的方便了HiLens的开发者。

与华为云的整合

AI开发利器:HiLens Studio技术解读

可以看到,HiLens Studio作为一个开放的开发环境,从端到端的AI技能开发流程上,针对每一个关键环节都有相应的安排,从新建项目的模板来源,到模型的导入/上传,到代码的开发调试,到技能的安装/发布以及项目的备份下载皆有相应的出口。

希望HiLens Studio能够给开发者们带来顺畅的开发体验,也恳请您能够给HiLens Studio团队提出宝贵的改进建议,感谢支持!

相关链接:

[HiLens Studio]

[HiLens主页]

[技术分享]HiLens Studio体验之旅

免责声明:本文采用轻松幽默的方式叙述,文中部分内容纯属胡扯,请仔细鉴别略过。

点击关注,第一时间了解华为云新鲜技术~

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
2年前
Duang,HUAWEI DevEco IDE全面升级啦
想感受全新UI带来的视觉及交互体验、HiKey970开发板调测、HiAIAPI推荐和收藏、深度AI模型分析等新功能,体验高清晰度和流畅度的远程AI真机调测吗?!(https://oscimg.oschina.net/oscnet/f4e1bb24ff00b8c6ea27f75370a53bfbacd.jpg)全新的UI设计
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
5个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这