近日,一年一度的PyTorch开发者大会召开。
在会上,Meta(原名 Facebook)发布了PyTorch Live,这是一套可以为移动端用户提供人工智能体验的工具。
PyTorch Live支持一种编程语言JavaScript,可以为Android和iOS两个移动端操作系统开发应用程序,还能为更广泛的PyTorch社区提供定制机器学习模型的服务。
目前,PyTorch Live已经开源,版本号v0.1.1。
https://github.com/pytorch/live
PyTorch Live开源项目中包括PyTorch Live命令行界面(即torchlive-cli),一个依赖PyTorch Mobile库在移动设备上进行推理的React Native包,以及一个React Native模板,还有一些可以在移动设备上部署的示例。
PyTorch官网声称,PyTorch Live是一个十分易于使用的工具库,使用PyTorch Live可以帮助开发者在几分钟内成功构建一个手机端机器学习演示APP。
PyTorch这些年
2017年1月,Meta 发布了一个基于Torch的开源机器学习库PyTorch。
自2015年以来,TensorFlow一直占据上风,但是PyTorch在发布后也逐渐升温,在开发人员社区中快速普及。
近几年,PyTorch 成为机器学习领域增长最迅猛的开源项目之一。Meta 透露,2019年的时候,该平台的贡献者数量就同比增长超过50% ,增长近1200人。
而基于 PyTorch 中的PyTorch Mobile,PyTorch Live就可以允许开发者在 PyTorch 生态系统中完成从训练模型到部署模型的全过程,而且它还提供了可用于创建可视化用户界面的 React Native 库。
PyTorch Mobile在2019年10月发布,在此之前,Meta发布了Caffe2go,这是一个基于Caffe2机器学习框架,并针对移动端CPU和GPU进行特别优化的全新框架。
值得一提的是,不管开发人员想在移动设备或是其他边缘设备上运行PyTorch Mobile,都是可以的。甚至PyTorch Mobile也可以运行在服务器上。
Meta AI 软件工程师 Roman Radle表示,「如果你想展示一个运行在 Android 和 iOS 移动端上的模型,就需要花费数天时间来配置项目和构建用户界面。有了 PyTorch Live,开发成本降低了一半,而且你也不需要有太多Android开发和iOS开发的经验 」。
PyTorch Live内置工具
目前,PyTorch Live的beta测试版只支持苹果macOS操作系统。不过,对Windows和Linux系统的支持很快也会有。
PyTorch Live有几个依赖包需要先安装。
一个是Node.js。如果还没有装Node.js的话,可以从Node.js官方网站下载或者通过Homebrew安装(即brew install node)。
另外一个是Xcode。如果想在iOS模拟器或iOS设备上运行PyTorch Live应用,就需要从苹果应用商店安装Xcode。PyTorch Live目前支持Xcode 12.5或更高版本。
在开发过程中,配置环境可能是个既繁琐又困难的事。
PyTorch Live提供了一个安装例程,可以自动安装所需的依赖项。它将自动尝试安装以下库和工具:
- Homebrew
- OpenJDK
- Yarn
- Watchman
- Android Command Line Tools
- Android SDK
- Android SDK Manager
- Android Virtual Device Manager
- Android Emulator
- CocoaPods
PyTorch Live 工具包提供了一个命令行界面(CLI)和一个数据处理 API。
CLI 使开发人员能够建立一个移动开发环境,并引导开发人员去构建移动应用程序项目。
至于数据处理 API,它集成了 PyTorch Live API 中的自定义模型,这些模型可以内置到 Android 和 iOS 的移动端应用程序中。
目前,PyTorch Live已经支持的功能有:
1.图像分类
对相册里的照片进行分类
对相机拍摄到的物体进行实时分类
2.目标检测
3.手写数字识别
4.语言问答
用户也可以自行定制一些别的小功能。
未来,Meta 计划让社区通过 PyTorch Live 发现与共享 PyTorch 的模型和演示,并且还会提供一个可定制的数据处理 API 和支持音频与视频数据的机器学习工具。
Radle表示,「让开发人员更容易地开发移动应用程序,并向社区展示机器学习模型是我们的初衷。同时,这也是一个机会,通过建立一个由研究人员和移动开发人员组成的蓬勃发展的社区,他们才能共享和使用模型,可以进行思想碰撞和交流。」
PyTorch 的任务是加速从研究原型到生产部署的过程。随着移动端机器学习生态系统的不断发展,PyTorch Live的发布比以往任何时候都更加重要。
因此,有网友将PyTorch Live称为 「Game changer!」