Pipcook is an open-source project guided by strong principles, aiming to be modular and flexible on user experience. It is open to the community to help set its direction.
- Modular the project includes some of projects that have well-defined functions and APIs that work together.
- Swappable the project includes enough modules to build what Pipcook has done, but its modular architecture ensures that most of the modules can be swapped by different implementations.
Pipcook is intended for Web engineers looking to:
- learn what's machine learning.
- train their models and serve them.
- optimize own models for better model evaluation results, like higher accuracy for image classification.
If you are in the above conditions, just try it via installation guide.
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.
Note: In Pipcook, each pipeline has only one role, which is to output the above-trained model you need. That is to say, the last stage of each pipeline must be the output of the trained model, otherwise, this Pipeline is invalid.
Pipcook Bridge to Python
With it, developers can use packages such as
Prepare the following on your machine:
Install the command-line tool for managing Pipcook projects:
$ npm install -g @pipcook/cli
Then run a pipeline:
$ pipcook run https://cdn.jsdelivr.net/gh/alibaba/[email protected]/example/pipelines/bayes.v2.json
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:
You will see a web page prompt in your browser, and there is a MNIST showcase on the home page and play around there.
If you want to train a model to recognize MNIST handwritten digits by yourself, you could try the examples below.
|Name||Description||Open in Colab|
|mnist-image-classification||pipeline for classific MNIST image classification problem.||N/A|
|databinding-image-classification||pipeline example to train the image classification task which is
to classify imgcook databinding pictures.
|object-detection||pipeline example to train object detection task which is for component recognition
used by imgcook.
|text-bayes-classification||pipeline example to train text classification task with bayes||N/A|
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 https://cdn.jsdelivr.net/gh/alibaba/[email protected]/example/pipelines/mobilenet.v2.json -o output
After the above pipeline is completed, you have already trained a model at the current
output/model directory, it's a tensorflow.js model.
Clone this repository:
$ git clone [email protected]:alibaba/pipcook.git
Install dependencies, e.g. via npm:
$ npm install
After the above, now build the project:
$ npm run build
- Developer Documentation English | 中文
- Project Guide
Or searched via the group number: 30624012.
Download DingTalk (an all-in-one free communication and collaboration platform) here: English | 中文