摘要:传统的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团队提出宝贵的改进建议,感谢支持!

相关链接:

[HiLens Studio]

[HiLens主页]

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

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

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

AI开发利器:HiLens Studio技术解读的更多相关文章

  1. [AI开发]将深度学习技术应用到实际项目

    本文介绍如何将基于深度学习的目标检测算法应用到具体的项目开发中,体现深度学习技术在实际生产中的价值,算是AI算法的一个落地实现.本文算法部分可以参见前面几篇博客: [AI开发]Python+Tenso ...

  2. Google主推-Android开发利器——Android Studio,这可能是最全的AS教程!

    Android Studio使用手册 "工欲善其事必先利其器" 作为一个Android开发人员来说,一款好的开发工具也是相当重要的,在相当长的时间礼,Google都是基于Eclip ...

  3. PHP开发利器zend studio常见问题解答

    1.如何将zend studio 9的默认GBK编码设置为其它编码,例如UTF-8? 选择window菜单->Preferences->General->Workspace,在界面当 ...

  4. 华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

    摘要:针对企业AI开发应用中面临的痛点和难点,为大家带来从实践出发帮助企业构建成熟高效的AI开发流程解决方案. 在数字化转型浪潮席卷全球的今天,AI技术已经成为行业公认的升级重点,正在越来越多的领域为 ...

  5. [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git

    [.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...

  6. Android零基础入门第13节:Android Studio配置优化,打造开发利器

    原文:Android零基础入门第13节:Android Studio配置优化,打造开发利器 是不是很多同学已经有烦恼出现了?电脑配置已经很高了,但是每次运行Android程序的时候就很卡,而且每次安装 ...

  7. LiteAI四大技术"杀手锏",解锁物联网智能设备AI开发难关

    你知道我们生活中常见的物联网智能设备融合AI技术后,会给我们带来什么样的智能交互体验?在我们指尖触碰的那一刹那背后隐藏的代码世界又是怎么样的呢? 今天就来和大家说说IoT智能设备轻松实现AI的奥秘! ...

  8. AI开发者十问:10分钟了解AI开发的基本过程

    摘要:从AI开发模型.框架.工具,到提升开发效率的学习办法,为AI开发者逐一解答. 本文分享自华为云社区<10分钟了解AI开发的基本过程>,作者:简单坚持. 1.AI开发究竟在开发什么? ...

  9. [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

随机推荐

  1. 非线性规划的Matlab 解法

    编写M 文件fun1.m 定义目标函数 function f=fun1(x); % 定义目标函数 f=sum(x.^)+; % .^2是矩阵中的每个元素都求平方.^2是求矩阵的平方或两个相同的矩阵相乘 ...

  2. unittest实现用例运行失败截图

    把这个方法放到父类basecase(unittest.TestCase)就行了 #coding: utf-8 import unittest, random, os, traceback from s ...

  3. 034.Kubernetes集群安全-Secret

    一 secret概述 1.1 secret作用 Secret对象,主要作用是保管私密数据,比如密码.OAuth Tokens.SSH Keys等信息.将这些私密信息放在Secret对象中比直接放在Po ...

  4. 多线程高并发编程(11) -- 非阻塞队列ConcurrentLinkedQueue源码分析

    一.背景 要实现对队列的安全访问,有两种方式:阻塞算法和非阻塞算法.阻塞算法的实现是使用一把锁(出队和入队同一把锁ArrayBlockingQueue)和两把锁(出队和入队各一把锁LinkedBloc ...

  5. Maven全局配置文件settings.xml详解(转)

    Maven全局配置文件settings.xml详解   目录 一.概要 1.settings.xml的作用2.settings.xml文件位置3.配置的优先级 二.settings.xml元素详解 1 ...

  6. JAVA设计模式 3【创建型】理解工厂模式与抽象工厂模式

    上一节我们已经学习了原型模式,稍微复习一下:通过重写Object 类的clone() 方法实现浅克隆,浅克隆也要实现Cloneable 标记接口.而深克隆则是将对象通过序列化和反序列化 的方式进行创建 ...

  7. 半导体质量管理_Stargate

    监控您的SPC活动 生产质量指标概述 应定期评估统计信息,以便您可以更好地利用统计过程控制.通过这种方式,您可以快速发现质量缺陷并采取适当的措施做出反应.LineWorks STARGATE提供了生产 ...

  8. 初探numpy——广播和数组操作函数

    numpy广播(Broadcast) 若数组a,b形状相同,即a.shape==b.shape,那么a+b,a*b的结果就是对应数位的运算 import numpy as np a=np.array( ...

  9. ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors

    ORA-04063: package body "DBSNMP.BSLN_INTERNAL" has errors 问题描述: 警告日志出现报错: Sun Jun 21 00:00 ...

  10. Nuxt使用axios跨域问题解决方法

    Nuxt 是 Vue 项目服务器端渲染(SSR)解决方案.而在使用时,就会遇到前后端分离情况下的域名或端口不一致导致的跨域问题.本文将介绍如何通过设置代理解决 Nuxt 与 axios 集成的跨域问题 ...