cat metrics.txt >>report.md # addour confusion matrix to report.md
cml-publishconfusion_matrix.png --md >> report.md # send the report to GitHub fordisplay
cml-send-comment report.md
记住,.yaml如今包含更多详细配置信息,例如特殊的Docker容器和环境变量,以及一些要运转的新代码。每个CML项目中的容器及环境变量的详细信息都是固定的,用户无需操作,只关注代码就行。
将这些CML函数添加就任务流中,我们便在CI系统中创立了更残缺的反应循环:
树立一个Git分支,在分支上更新代码。
自动训练模型并生成度量(准确率)和可视化(混杂矩阵)。
将这些结果嵌入到Pull Request中的可视报告。
当你和队友还在思索更新能否有助于完成建模目的时,各种可参照的可视化表盘就曾经新颖出炉了。另外,该报告经过Git衔接到确切项目版本(数据和代码)、训练所用效劳器及效劳器的日志。无比详细!任务空间不再总是漂浮着与代码有关的图表了。
这就是CI在数据迷信项目中的基本概念。明白一下,这只是运用CI的最复杂的实例。实践操作中很能够遇到各种更为复杂的状况。CML也有一些特性,可帮你运用贮存在GitHub库之外的大数据集(运用DVC)并在云端停止训练,而非在默许的GitHub Actions效劳器训练。这意味着能运用GPU和其它专业设置。
例如,我用GitHub Actions创立一个项目以部署EC2 GPU,然后训练神经作风转换模型。这是我的CML报告:
还可运用本人的Docker容器,进一步模拟
CI对机器学习的最后思索
总结一下,DevOps不是一种特定技术。它既是实际,又是一系列准绳和实际,用于彻底重建开发软件进程,其高效性在于处置了团队任务及测试新代码的系统性瓶颈。
未来,数据迷信愈加成熟,掌握在机器学习项目中运用DevOps准绳的人就愈加炙手可热——薪资可观,组织影响力大。继续集成是DevOps的基础,也是已知的树立具有牢靠自动化、快速测试和团队自治文明的最有效办法之一。
GitHub Actions或GitLab CI之类的系统可完成CI。可运用这些效劳构建自动模型训练系统。其益处颇多:
代码、数据、模型和训练基础(硬软件环境)都是git版本。
自动化任务、停止高频测试并失掉迅速反应(运用CML即可拿到可视化报告)。从长期看,这无疑会减速项目开展。
CI系统让每个团队成员都能看就任务停顿。大家无需绞尽脑汁搜集最佳运转的代码、数据及模型。
图源:unsplash
一旦入了坑,一键git commit就能自动停止模型训练、记载并报告,相对让你乐翻天。举动起来,觉得棒极了!
(责任编辑:admin)