教程 3 / 5
搭建你自己的工作流
添加模块、连接它们、检查工作流,再存成一个有名字的版本。
先记住这一点
每根连线都有类型。一个模块的输出只能接到同类型的输入上,比如 Model plan 只能接到收 Model plan 的插口。控制台只会亮起能接的插口,所以你不用记规则;连完以后用“检查工作流”顺着线走一遍,就知道还缺哪根。
开始之前
步骤
第 1 步:从空白画布开始
在 Workflow 页选好项目,打开 Templates,选 Blank workflow,点 Start blank。你的任务和数据位置会保留;原来的模块可以用 Undo 找回来。
模板里还有 “Single step (no loop)”(只跑一次 Propose → Implement → Validate → Train & tune)、“Single loop with your own advice”(快速开始用的研究循环,Propose model 会读你的建议),以及 “Single research loop”(同样的循环,但 Propose model 的建议输入没接,建议框下会有提醒)。想省事可以从它们改起。
你应该看到:画布是空的,左边是模块列表。
第 2 步:添加模块
左边的列表按执行顺序排。Propose model 标着 Start here;Interpret results 和 Literature review 标着 Optional context,表示它们是给主线补充信息的。展开一个模块,能看到它收什么(Receives)、发什么(Sends)、能接到谁。把鼠标停在一种接法上会预览,点一下、按 Enter 或拖到画布上就加进来。
依次加上 Propose model、Implement、Validate、Train & tune。项目绑定了任务包时,运行会自己准备的输入(比如 Storage folder、Training settings)会自动接好。
你应该看到:画布上出现四张卡片:Propose model、Implement、Validate、Train & tune。
第 3 步:把模块连起来
点一个输出(或者从它拖出来),能接的输入会亮起来,再点那个输入就连上了。卡片上输出旁边的 + 会列出能接收这个输出的模块,选一个就直接加在右边、并且已经连好。
连不上时,控制台会说清两边的类型,比如 “Can't connect: Propose model sends Model plan; this input receives Design brief.” 插口的颜色和形状表示类型,可以点画布左下角的 Connector types 看图例。没接的可选输入会折叠成 “+N optional” 一行。
Train & tune 需要两样东西:Validate 的 Code verdict 和 Propose model 的 Model plan。每个插口的含义见参考页。
你应该看到:Propose model 的 Model plan 接到 Implement,Implement 的 Model code 接到 Validate,依此类推。
第 4 步:检查工作流
点画布上的 Check the workflow。一个小圆点按执行顺序沿着连线走一遍;有研究循环的话,最后还会走反馈线。碰到第一处断开,它就停下:那个插口出现淡红色圆圈,旁边写一句原因,比如 “Train & tune can't start: Code verdict is not connected.” 补上这根线,再检查一次。
这个检查只看画布上的连线。保存时控制台还会再做一次完整检查,那一次才算数。
你应该看到:一个小圆点顺着每根线走完,没有红圈。
第 5 步:(可选)加一个研究循环
循环需要一个读 Results analysis 的 Propose model,而第 2 步加的 Propose model 走的是 Start here 那种接法,没有这个输入,已有的输入也不能改接法。最省事的办法是直接用模板 “Single loop with your own advice”(快速开始用的就是它)。想自己搭的话,在空白画布上先加 Interpret results,再点它 Results analysis 输出旁边的 +,选 Propose model:这样加进来的 Propose model 用的就是接在 Interpret results 后面的接法,而且已经连好。接着照第 2、3 步加上 Implement、Validate、Train & tune 并连线。最后在 Research loop 面板点 Add research loop。这要求画布上正好有一个 Train & tune 和一个 Interpret results。轮数和停止条件的设法见教程 2。
你应该看到:Train & tune 和 Interpret results 之间多了一条反馈线。
第 6 步:保存一个有名字的版本
点 Save,看准确的 Python 改动,填 Version name(比如 “cnn-baseline-v1”),点 Save version。如果文件在你编辑时被别处改过,页面会提示 This workflow changed on disk,你可以选 Reapply my changes onto latest 保留自己的改动。
你应该看到:新版本出现在 Version history 里,Next: Run 可以点了。
控制台里还做不了的
适配器(比如 First passing selection)、汇总器(比如 Collect reviews)和路由在 1.1.0 里还不能在画布上搭。告诉你的编程助手你想要什么样的分支或汇总,它会写进工作流源文件,并从命令行运行。