对于典型的连续集成环境,您可以配置一个能够执行编译和测试批处理的环境(代理、从.)由调度器(主机、服务器.)协调
但是,如果您的“客户端”环境是用于在不同配置下执行模型培训的图形处理单元( Graphics Processing Unit,GPU)集群呢?有什么不同吗?或者您是否只是让head集群节点合并一个Jenkins从节点?(或竹子代理商等)
发布于 2018-02-25 08:12:43
既然您是在谈论CI/CD,我想您有可能在这些配置中自动化模型培训。让我们调用能够执行train_model_config_A、train_model_config_B等操作的脚本。
然后,您可以有一个包装器脚本,该脚本检查用于选择所需的客户端环境的环境变量,并调用相应的train_model_config_<blah>脚本。理想情况下,将培训的结果(无论是什么)转换为一个或多个及格/失败类型的结果。然后,这样的包装脚本可以集成在一个CI/CD管道中,就像一个定制的测试步骤/阶段(甚至一个构建步骤,如果它产生任何您想要存档的工件)。就像在包含一些非通用硬件的测试床上执行的任何测试一样。换句话说,CPU集群并没有真正的区别。
如果可以在其他主机上执行train_model_config_<blah>脚本(因此也可以执行包装器脚本)并远程控制GPU,则可能不需要直接在GPU集群上安装从服务器--然后可以在其他主机上安装从服务器,从而使GPU集群可以自由地只执行其内容。
https://devops.stackexchange.com/questions/2002
复制相似问题