8000 GitHub - DingXinH5Publicity/pipcook: Front-End Algorithm Engineering Platform based on Tensorflow.js
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

DingXinH5Publicity/pipcook

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pipcook

A JavaScript application framework for machine learning and its engineering.

npm npm GitHub repo size

Builds

< 8000 td>pipeline
Build Types Status
tests
release
documentation
docker

Why Pipcook

With the mission of enabling JavaScript engineers to utilize the power of machine learning without any prerequisites and the vision to lead front-end technical field to the intelligention. Pipcook is to become the JavaScript application framework for the cross-cutting area of machine learning and front-end interaction.

We are truly to design Pipcook's API for front-end and machine learning applications, and focusing on the front-end area and developed from the JavaScript engineers' view. With the principle of being friendly to JavaScript, we will push the whole area forward with the machine learning engineering. For this reason we opened an issue about machine-learning application APIs, and look forward to you get involved.

What's Pipcook

Pipcook can be divided into the following 3 layers from top to bottom.

Pipcook Application

It defines flexible and intuitive APIs to build machine-learning application, even though you don't know the details of algorithm.

Pipcook Core

It's used to represent ML pipelines consisting of Pipcook plugins. This layer ensures the stability and scalability of the whole system, and uses a plug-in mechanism to support rich functions including: dataset, training, validations and deployment.

Pipcook Bridge to Python

For JavaScript engineers, the most difficult part is the lack of a mature machine learning toolset in the ecosystem. To this end, we have opened up the interaction between Python and Node.js at the bottom and can easily call some missing APIs.

Quick start

Setup

Prepare the following on your machine:

Installer Version range
Node.js >= 12
Python >= 3.6
npm >= 6.1

Install the command-line tool for managing Pipcook projects:

$ npm install -g @pipcook/pipcook-cli

Initialize a project:

$ mkdir pipcook-example && cd pipcook-example
$ pipcook init

Occuring the download problems? We use tuna mirror to address this issue:

$ pipcook init --tuna

Playground

If you are wondering what you can do in Pipcook and where you can check your training logs and models, you could start from Pipboard

$ pipcook board

You will see a web page prompt in your browser, and there is a MNIST showcase on the home page and play around there.

Pipelines

If you want to train a model to recognize MNIST handwritten digits by yourself, you could try the examples below.

See here for complete list, and it's easy and quick to run these examples. For example, to do a MNIST image classification, just run the following to start the pipeline:

$ pipcook run examples/pipelines/mnist-image-classification.json

NOTICE: The last two examples are using Boa (pipcook python bridge layer). Boa is not responsible for installing specific python packages currently. You can use pipcook bip as an alias for pip and install packages. To make pipeline-object-detection working, please make sure you have dependencies specified in detectron2 installation reference. See here for more information about Boa.

After the above pipeline is finished, you have already trained an awesome model and we have generated the prediction logics for you to use your model. This prediction package is stored in pipcook-output/[pipeline-id]/deploy. It's an independent npm package and can be easily integrated in your exsiting system. To just start a prediction server locally, you can run

$ pipcook serve <path of deploy folder>

After the prediction server is started, you can use following requests to make prediction

curl --request POST 'http://localhost:7682' \
--header 'Content-Type: application/json' \
--data-raw '{
  "data": "<local path of an image>"
}'

Documentation

Please refer to English | 中文

Developers

Clone this repository:

$ git clone git@github.com:alibaba/pipcook.git

install dependencies, e.g. via npm:

$ npm install

After the above, now build the project:

$ npm run build

Community

DingTalk

Download DingTalk (an all-in-one free communication and collaboration platform) here: English | 中文

Gitter Room

Who's using it

License

Apache 2.0

About

Front-End Algorithm Engineering Platform based on Tensorflow.js

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 60.0%
  • Python 19.6%
  • JavaScript 8.0%
  • TypeScript 8.0%
  • CMake 3.4%
  • CSS 0.7%
  • Other 0.3%
0