AI开发利器:HiLens Studio技术解读
摘要:传统的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)、删除项目等常用必要功能,在此不赘述。
项目管理界面
编码
当然了,还可以打开项目进行编码、调试,下面就是打开项目后的界面,容我稍作介绍。Studio的编辑界面是一个借鉴了VS Code风格的界面,具有一个成熟IDE所具有的常用功能,包括项目文件管理、实时语法加亮、实时警告/错误提醒、自动完成、代码折叠(代码块/函数等)、版本控制、错误提醒定位(点击Problems里面的条目可定位到问题位置)、一键编译(C++项目)等等。可通过下图有个整体概念:
编码界面
此外本编辑器还有一些高级编程特性,比如跳转到定义、格式化代码等,其中大部分的功能都支持快捷键直接使用,比如本人很喜欢的Alt+Shift+F就是格式化当前文件,具体可参考下图。
高级编码辅助工具
调试
当需要调试时——这是必须的——激动人心的时刻就来了,对于普通的电脑应用开发来说,单步调试是一个多么常见的手段对吧,但是对于嵌入式或者非PC终端来讲,业内当然也有相应的调试工具,不过可能是成本问题或者易用性方面的原因,这些工具看起来并不常用,所以业内很常见的做法就是最原始的调试方法,就是打印日志,通过分析日志来定位问题。如果你一开始就使用这种调试模式,也许感觉不到这份痛苦,但是对于从电脑应用开发进入嵌入式/非PC终端开发的兄弟来讲,这种调试方式的痛苦无疑更加的痛彻心扉!
对我本人来讲,这种感觉的曲线是这样的:
注:1)本研究样本数量:1人;研究方法:凭感觉。
2)0表示没感觉,负数表示痛苦程度,正数表示幸福程度。
有句话说得好,只有经历过失去才知道没失去时的痛苦也是一种幸福,HiLens Studio由于嵌入了性能无损的模拟器并支持技能视频输出,除了单步调试(这个理应把你的情绪拉到正数,比如2),还支持实时低时延HDMI视频输出,用起来幸福指数会高达6(或以上)!
开发者设置好断点(单击下图中红点的位置即设置了改行为断点)后可以通过快捷键F5或者”Debug->Start Debugging”进入调试模式。
调试模式界面
左边为调试面板,下方为实时日志输出,右边则是技能的HDMI视频输出的窗口,即技能在HiLens Kit中向HDMI显示器输出的内容,当我们调试时会在该窗口中输出,视频窗口可全屏或悬浮。该功能内置于HiLens Studio,省却了购买硬件及安装配置等环节,极大的方便了HiLens的开发者。
与华为云的整合
可以看到,HiLens Studio作为一个开放的开发环境,从端到端的AI技能开发流程上,针对每一个关键环节都有相应的安排,从新建项目的模板来源,到模型的导入/上传,到代码的开发调试,到技能的安装/发布以及项目的备份下载皆有相应的出口。
希望HiLens Studio能够给开发者们带来顺畅的开发体验,也恳请您能够给HiLens Studio团队提出宝贵的改进建议,感谢支持!
相关链接:
免责声明:本文采用轻松幽默的方式叙述,文中部分内容纯属胡扯,请仔细鉴别略过。
AI开发利器:HiLens Studio技术解读的更多相关文章
- [AI开发]将深度学习技术应用到实际项目
本文介绍如何将基于深度学习的目标检测算法应用到具体的项目开发中,体现深度学习技术在实际生产中的价值,算是AI算法的一个落地实现.本文算法部分可以参见前面几篇博客: [AI开发]Python+Tenso ...
- Google主推-Android开发利器——Android Studio,这可能是最全的AS教程!
Android Studio使用手册 "工欲善其事必先利其器" 作为一个Android开发人员来说,一款好的开发工具也是相当重要的,在相当长的时间礼,Google都是基于Eclip ...
- PHP开发利器zend studio常见问题解答
1.如何将zend studio 9的默认GBK编码设置为其它编码,例如UTF-8? 选择window菜单->Preferences->General->Workspace,在界面当 ...
- 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”
摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...
- [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git
[.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...
- Android零基础入门第13节:Android Studio配置优化,打造开发利器
原文:Android零基础入门第13节:Android Studio配置优化,打造开发利器 是不是很多同学已经有烦恼出现了?电脑配置已经很高了,但是每次运行Android程序的时候就很卡,而且每次安装 ...
- LiteAI四大技术"杀手锏",解锁物联网智能设备AI开发难关
你知道我们生活中常见的物联网智能设备融合AI技术后,会给我们带来什么样的智能交互体验?在我们指尖触碰的那一刹那背后隐藏的代码世界又是怎么样的呢? 今天就来和大家说说IoT智能设备轻松实现AI的奥秘! ...
- AI开发者十问:10分钟了解AI开发的基本过程
摘要:从AI开发模型.框架.工具,到提升开发效率的学习办法,为AI开发者逐一解答. 本文分享自华为云社区<10分钟了解AI开发的基本过程>,作者:简单坚持. 1.AI开发究竟在开发什么? ...
- [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...
随机推荐
- CollectionView的cell长按事件实现
原生cell没有长按事件,我们需要使用手势识别来绑定CollectionView.创建并绑定CollectionView如下: (void)viewDidLoad { [super viewDidLo ...
- TensorFlow从0到1之常量、变量和占位符详解(6)
最基本的 TensorFlow 提供了一个库来定义和执行对张量的各种数学运算.张量,可理解为一个 n 维矩阵,所有类型的数据,包括标量.矢量和矩阵等都是特殊类型的张量. TensorFlow 支持 ...
- 弹出框Alert
selenium提供了三个处理alert的方法 注意:首先需要切换窗口到alert driver.switch_to.alert() (1)点击确定按钮 driver.switch_to.alert. ...
- 深度学习中环境配置的一些经验总结(conda 常用命令)
前两个月参加了学校的国创项目,和一个外院的同学组队.课题是基于深度学习的新闻图片中网络暴力元素的检查. 6月末最后一门试考完,正式开始暑假,便有了大把时间搞这个国创项目(反正没有其他事干).两个组凑钱 ...
- vc++,MfC ,cstring与char相互转换知识
//mapName = mapString;//----------------------原始- string mapName; CString strtemp,strtemp2; //char t ...
- Python学习日志-02
(2)Python如何运行程序 Python解释器简介: Python不仅仅是一门编程语言,它也是一个名为解释器的软件包.解释器是一种让其他程序运行起来的程序.当你编写了一段Python程序,Pyth ...
- 一个老牌程序员说:做Java开发,怎么可以不会这 20 种类库和 API
- QT槽函数获取信号发送对象
Qt 在槽函数中获取信号发送对象 Qt中提供了一个函数 qobject_cast(QObject *object),可以通过这个函数判断信号发出对象 Qt 帮助文档的解释: Returns the g ...
- Jedis操作Redis实例
简介 Jedis Client是Redis官网推荐的一个面向java客户端,库文件实现了对各类API进行封装调用. Jedis源码工程地址:https://github.com/xetorthio/j ...
- Docker(三)Docker常用命令
Docker常用命令 帮助命令 # 显示 Docker 版本信息 docker version # 显示系统信息,包括镜像和容器的数量 docker info # 查看帮助文档 帮助文档地址:http ...