in packages/cli/src/runtime.ts [124:141]
async train(): Promise<void> {
logger.info('running data source script');
let datasource = await this.costa.runDataSource(this.scripts.datasource);
logger.info('running data flow script');
if (this.scripts.dataflow) {
datasource = await this.costa.runDataflow(datasource, this.scripts.dataflow);
}
logger.info('running model script');
const standaloneRT = createStandaloneRT(datasource, this.workspace.modelDir);
await this.costa.runModel(standaloneRT, this.scripts.model, this.pipelineMeta.options);
await fs.writeJson(path.join(this.workspace.modelDir, constants.PipelineFileInModelDir), this.pipelineMeta);
logger.info(`pipeline finished, the model has been saved at ${this.workspace.modelDir}`);
for (const artifact of this.artifactPlugins) {
logger.info(`running artifact ${artifact.options.processor}`);
await artifact.artifactExports.build(this.workspace.modelDir, artifact.options);
logger.info('done');
}
}