在GitHub仓库的操作选项卡中找到以上内
就这么复杂!只需更新代码,并把更新提交到数据库,任务流就自动执行。
回到第一步提到的特殊的.yaml文件——快速看一个。随意命名,文件后缀是.yaml即可,并将其贮存在.github/workflows中。如:
# .github/workflows/ci.yamlname: train-my-model
on: [push]jobs:
run:
runs-on: [ubuntu-latest]
steps:
- uses: actions/checkout@v2
- name: training
run: |
pip install -r requirements.txt
python train.py
指令多如云,但大少数都是从一个Action到另一个Action——大可照搬这份GitHubActions指南,记得在“运转”段填写任务流就好。
若文件在项目库中,只需GitHub检测到代码更新(经过推送变更),GitHub Actions便会部署Ubuntu效劳器,尝试执行安装需求的命令并运转Python脚本。请留意,项目仓库中必须有任务流程所需文件——在这里为requirements.txt和train.py!
失掉更好的反应
自动训练很酷,但对一切的结果来说,采用易于了解的格式也很重要。如今,GitHub Actions允许拜访纯文本格式的效劳器日志。
GitHub Actions日志的打印输入示例
但了解模型功用是个顺手的活儿。模型和数据都是高维且非线性的——若无图片,了解这二者太难了。
我可以展现一种将数据可视化放入CI循环的办法。近几个月,我在Iterative.ai的团队(做数据版本控制)不断在研讨工具包,助力GitHub Actions和GitLab CI在机器学习项目中的运用,称为继续机器学习(Continuous Machine Learning ,简称CML)。这是开源且收费的。
团队的基本理念是:“用GitHub Actions训练机器学习模型”。我们曾经树立了一些函数,可给出更详细的报告而非一个成功/失败的通知。CML有助于在报告中放置图片和表格,如这个SciKit-learn生成的混杂矩阵:
在GitHub中点Pull Request即显示此报告
为了制造报告,GitHub Actions执行Python模型训练脚本,用CML函数把模型准确率和混杂矩阵写入markdown文件。然后CML把markdown文件传到GitHub。
修正后的.yaml文件包含以下任务流(新添加的行以粗体突出显示)。
name: train-my-model
on: [push]
jobs:
run:
runs-on: [ubuntu-latest]
container: docker://dvcorg/cml-py3:latest
steps:
- uses: actions/checkout@v2
- name: training
env:
repo_token: ${{secrets.GITHUB_TOKEN }}
run: |
# train.py outputs metrics.txtand confusion_matrix.png
pip3 install -rrequirements.txt
python train.py
# copy the contents ofmetrics.txt to our markdown report
(责任编辑:admin)