DevOps与机器学习的集成:使用Jenkins自动调整模型的超参数

   日期:2020-06-04     浏览:88    评论:0    
核心提示:任务描述创建使用Dockerfile安装Python3和Keras或NumPy的容器映像当我们启动镜像时,它应该会自动开始在容器中训练模型。使用Jenkins中的buildpipeline插件创建job1、job2、job3、job4和job5的作业链Job1:当一些开发人员将repo推送到Github时,自动拉Githubrepo。Job2:通过查看代码或程序文件,Jenkins应该自动启动安装了相应的机器学习工具或软件的映像容器,以部署代码并开始培训(例如,如果代码使用

任务描述

  1. 创建使用Dockerfile安装Python3和Keras或NumPy的容器映像

  2. 当我们启动镜像时,它应该会自动开始在容器中训练模型。

  3. 使用Jenkins中的build pipeline插件创建job1、job2、job3、job4和job5的作业链

  4. Job1:当一些开发人员将repo推送到Github时,自动拉Github repo。

  5. Job2:通过查看代码或程序文件,Jenkins应该自动启动安装了相应的机器学习工具或软件的映像容器,以部署代码并开始培训(例如,如果代码使用CNN,那么Jenkins应该启动已经安装了CNN处理所需的所有软件的容器)。

  6. Job3:训练你的模型和预测准确性或指标。

  7. Job4:如果度量精度低于95%,那么调整机器学习模型架构。

  8. Job5:重新训练模型或通知正在创建最佳模型

  9. 为monitor创建一个额外的job6:如果应用程序正在运行的容器。由于任何原因失败,则此作业应自动重新启动容器,并且可以从上次训练的模型中断的位置开始。


首先创建docker镜像:

# docker build -t  deephub/optml:1.0 .

创建完后可以开始编写任务

Job 1

这里使用ngrok作为样例来为github webhooks payload url建一个隧道,这样我们的内网github就可以发布到公网上。除了ngrok以外可以选择其他服务。

# ./ngrok http 8080




Job 2

此作业将在容器未启动时触发启动,或者在job1成功生成时触发。


Job 3

当job2生成成功时,将触发此作业。这项工作是第一次训练模型,并检查模型的准确性是否大于95%。如果大于95%,则将模型保存到相应位置。


Job 4

当job3构建成功时,将触发此job。这项工作检查模型的准确性是否大于95%。如果它大于95%,那么它将不做任何事情,否则它将运行模型的另一个训练,以调整和调整模型的超参数,使模型的精度>95。


Job 5

当job4生成成功时,将触发此作业。在调整模型之后,此作业检查模型的准确性是否大于95%。如果它大于95%,那么它将发出通知并发送邮件,否则它将什么也不做。


Job 6

此作业将使用Poll SCM触发,它将在容器停止时进行检查,然后通过触发job2重新启动容器,否则不执行任何操作。


至此,所有的任务创建完成可以开始使用了

作者:ANKUR DHAKAR

代码地址:https://github.com/A4ANK/Integrating-DevOps-with-ML

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服