前端开发者的机器学习平台Pipcook产品介绍

为什么选择 Pipcook

以让 JavaScript 工程师在没有任何先决条件的情况下利用机器学习的力量为使命,并以引领前端技术领域走向智能化为愿景。Pipcook将成为机器学习和前端交互交叉领域的 JavaScript 应用程序框架。

我们真正为前端和机器学习应用设计Pipcook的API,并专注于前端领域,从JavaScript工程师的角度进行开发。本着对JavaScript友好的原则,我们将通过机器学习工程推动整个领域向前发展。出于这个原因,我们打开了一个关于 机器学习应用程序 API 的问题,期待您的参与。

什么是 Pipcook

该项目提供的子项目包括机器学习管道框架、管理工具、用于机器学习的 JavaScript 运行时,这些也可以用作与其他项目结合的构建块。

原则

Pipcook是一个以强大原则为指导的开源项目,旨在实现模块化和灵活的用户体验。它对社区开放,以帮助确定其方向。

  • 模块化项目包括一些具有良好定义的功能和可协同工作的 API 的项目。
  • Swappable该项目包含足够的模块来构建 Pipcook 所做的事情,但其模块化架构确保大多数模块可以通过不同的实现进行交换。

观众

Pipcook面向希望:

  • 学习什么是机器学习。
  • 训练他们的模型并为他们服务。
  • 优化自己的模型以获得更好的模型评估结果,例如更高的图像分类精度。

如果您处于上述情况,请通过安装指南尝试。

子项目

Pipcook 管道

它用于表示由 Pipcook 脚本组成的 ML 管道。该层保证了整个系统的稳定性和可扩展性,并采用插件机制支持数据集、训练、验证、部署等丰富的功能。

Pipcook 管道通常由许多脚本组成。通过不同的脚本和配置,最终输出给我们的是一个 NPM 包,里面包含训练好的模型和可以直接使用的 JavaScript 函数。

注意:在Pipcook中,每个pipeline只有一个作用,就是输出你需要的上面训练好的模型。也就是说每个pipeline的最后一个stage必须是训练好的模型的输出,否则这个Pipeline是无效的。

Pipcook 桥接 Python

对于 JavaScript 工程师来说,最困难的部分是生态系统中缺乏成熟的机器学习工具集。在 Pipcook 中,有一个名为 [Boa][ https://github.com/imgcook/boa ]的模块,它通过使用 N-API桥接CPython的接口来提供对 Python 包的访问。

有了它,开发人员可以使用的包,例如numpyscikit-learnjiebatensorflow,或者在Node.js的任何其他Python生态通过JavaScript运行。

快速开始

设置

在您的机器上准备以下内容:

安装程序 版本范围
节点.js >= 12.17
新产品经理 >= 6.14.4

安装用于管理Pipcook项目的命令行工具:

$ npm install -g @pipcook/cli

然后运行一个管道:

$ pipcook 运行 https://cdn.jsdelivr.net/gh/alibaba/pipcook@main/example/pipelines/text-classification-bayes.json

操场

如果您想知道在Pipcook 中可以做什么以及在哪里可以查看您的训练日志和模型,您可以从Pipboard开始:

打开 https://pipboard.imgcook.com

您将在浏览器中看到一个网页提示,主页上有一个 MNIST 展示并在那里播放。

管道

如果你想训练一个模型来自己识别 MNIST 手写数字,你可以试试下面的例子。

名称 描述 在 Colab 中打开
mnist-图像分类 分类 MNIST 图像分类问题的管道。 不适用
数据绑定图像分类 训练图像分类任务的管道示例,即
imgcook数据绑定图片进行分类。
前端开发者的机器学习平台Pipcook产品介绍
物体检测 用于训练对象检测任务的管道示例,该任务
用于 imgcook 使用的组件识别。
前端开发者的机器学习平台Pipcook产品介绍
文本贝叶斯分类 使用贝叶斯训练文本分类任务的管道示例 不适用

有关完整列表,请参见此处,运行这些示例既简单又快捷。例如,要进行 MNIST 图像分类,只需运行以下命令即可启动管道:

$ pipcook 运行 https://cdn.jsdelivr.net/gh/alibaba/pipcook@main/example/pipelines/image-classification-mobilenet.json -o 输出

上述管道完成后,您已经在当前output/model目录训练了一个模型,它是一个 tensorflow.js 模型。

社区

钉钉

前端开发者的机器学习平台Pipcook产品介绍

或者通过群号搜索:30624012。

在这里下载钉钉(一个多合一的免费沟通和协作平台):English |中文

上一篇:【直播回顾】MaxCompute 技术公开课第二季


下一篇:聊一聊播放器在一对一直播系统源码中的作用