In Pipcook, a Pipeline is a JSON-based description of a model's training process. It covers the entire lifecycle from sample collection to model evaluation.
A Pipeline is composed of the following components:
datasource: A script (via URI) responsible for sample collection.dataflow: An array of scripts (via URIs) that define data processing steps.model: A script (via URI) that defines the model architecture and training logic.artifact: A set of build plugins (e.g., pipcook-artifact-zip) called after training to transform, package, or deploy the output model.options: Configuration for the execution environment, including the framework version and train parameters (like epochs).
Scripts support http, https, and file protocols. Parameters for scripts are passed via URI query strings, while model-specific parameters can also be defined in options.train.
{
"specVersion": "2.0",
"datasource": "https://example.com/datasource.js?param=value",
"dataflow": [
"https://example.com/dataflow.js?size=224"
],
"model": "https://example.com/model.js",
"artifact": [{
"processor": "pipcook-artifact-zip@0.0.2",
"target": "/tmp/mobilenet-model.zip"
}],
"options": {
"framework": "tfjs@3.8",
"train": {
"epochs": 20,
"validationRequired": true
}
}
}