运行在浏览器中的深度学习框架,开源了
输入输出处理:也叫做推理前后处理,对于前端工程师来说,图像、视频流等数据处理是一件很麻烦的事情,知识专业度比较高,Paddle.js提供了强大的输入输出处理能力以减少这部分开发的成本,Web前端工程师可以直接调用相应的推理前后处理方法将数据高效进行处理,使得工程师可以专注于业务的开发。 在线推理:在线推理部分包括神经网络加载、神经网络在线优化、算子分配与数据初始化、预热与执行推理计算等部分。为了保证在浏览器等Web前端环境下能够应用在视频级的场景下,借助于硬件加速技术,结合模型量化压缩方案,代码深度精简,并且在线推理部分采用了多种技术手段针对神经网络执行效率和算子计算性能进行了系统性的优化,保证达到在浏览器上实时执行效果丝滑流畅。 极其简单的使用AI能力 不同于其他的实现方式,在网页中实现AI能力其实可以做到非常的简单,不依赖于发布版本,可以满足高速迭代产品经常更新的特点。而且不需要集成、编译等复杂的开发形式,只需要引入Paddle.js就可以让你的网页拥有AI能力,通过网络加载AI模型,简单的进行输入和输出的业务开发就可以实现非常智能化的效果。接下来,我们一起在网页上实现一个具有AI能力的页面应用。 第一步,引入代码库 通过npm i 安装Paddle.js代码库,在代码中import引入即可,也可以直接通过script的src引用Paddle.js,在你的应用中创建Paddle对象实例后你的代码就可以使用AI能力了。 import Paddle from paddlejs const paddle = new Paddle(); 第二步,加载模型 模型是AI能力最重要的部分之一,通过加载模型使得网页应用可以执行相应的AI能力,不同的模型体积不同,为了能够较快的加载模型,Paddle.js 支持模型的分片并行化加载和利于网络传输的数据压缩能力。 paddle.load() 第三部,设置输入 对于在网页上进行在线推理预测需要一般需要设置输入内容,后续的交互依靠于输入处理的结果,特别是实时场景需要将输入内容处理成符合要求的标准输入数据并控制传入节奏,这些对于业务开发都是非常具有挑战的,Paddle.js提供了对于输入数据的处理的封装,将这部分工作简单化,甚至对于业务开发来说只是简单的传入数据获取结果就可以,提升了易用性。 const input = io.process({}); 第四部,执行并输出效果 将输入传入并执行Paddle对象的execute方法解可以很快地得到执行结果,而且开发者根本不需要人为地去设定使用具体的backend去进行计算,在线推理部分会自动根据用户场景选择最快的方式进行计算。 paddle.execute(input); 将计算结果放入相应的推理后处理方法就会很容易地得到目标效果,在浏览器网页中实现智能化的能力只需要这几个步骤,使用门槛非常的低。具体的完整详细的应用开发可以访问paddle.js项目,上面有很多JavaScript实现智能化的例子。 未来展望 对于未来的发展,随着硬件设备的性能大幅提升,浏览器内的智能化效果将会越来越流畅,能够完成的效果也会越来越复杂,Paddle.js的后续发展也会主要立足于三个方面点来看。 第一,继续优化浏览器内执行速度,增加算子覆盖,能力延伸到更加复杂的多模型执行场景; 第二,提供更加完善的用户工具链,继续降低用户的使用成本; 第三,把握未来的趋势,面向未来做技术布局。 最后,Web AI势必会对web发展产生深远的影响,期待能和大家一起打造功能完善,性能极致,简单易用的web端在线推理引擎,欢迎访问Paddle.js开源项目,多提宝贵意见。
(编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |