Deployment 使用Kubernetes运行深度学习模型

Deployment 使用Kubernetes运行深度学习模型,deployment,kubernetes,Deployment,Kubernetes,我正处于使用Kubernetes部署深度学习模型的阶段。我的问题如下: 1:kubernetes支持并行处理吗?。在对数据进行预处理后,需要使用不同的超参数集运行深度学习模型。有可能在不同的pod上并行运行它吗?它的python代码是什么 如果一个特定的pod在运行时出现故障或中断,它是否会使另一个pod(原始pod的副本)自动运行 此外,如果一个特定的pod达到GPU的一定百分比(阈值),它会使另一个pod自动运行吗 我需要你的帮助。我发现很多关于这个的教程。另外,正在寻找python代码来执

我正处于使用Kubernetes部署深度学习模型的阶段。我的问题如下:

1:kubernetes支持并行处理吗?。在对数据进行预处理后,需要使用不同的超参数集运行深度学习模型。有可能在不同的pod上并行运行它吗?它的python代码是什么

  • 如果一个特定的pod在运行时出现故障或中断,它是否会使另一个pod(原始pod的副本)自动运行

  • 此外,如果一个特定的pod达到GPU的一定百分比(阈值),它会使另一个pod自动运行吗

  • 我需要你的帮助。我发现很多关于这个的教程。另外,正在寻找python代码来执行所有这些操作


    谢谢

    这似乎之前没有对这个问题进行过研究,而且您也不是新成员-因此,对于未来,请尝试就您遇到的问题提出具体问题,因为这表明您在提出问题之前已经付出了努力。我将尝试从库伯内特斯的角度回答,因为我还没有机会对库伯内特斯进行深入学习

  • Kubernetes确实支持并行处理。集群是一组“独立”的节点,每个节点都有自己的内存和CPU,但它们通过网络连接,可以一起用来解决一个共同的任务。您可以有多个吊舱/作业运行您需要的内容。关于它的更多信息,请参见ML和关于Kubernetes的深入学习示例

  • 作为Kubernetes中的基本构建块,它也是集群上正在运行的进程的表示。它们就是我们所说的牛。我们认为它们是短暂的实体,可以随意替换或丢弃。通常的做法是不创建Pod本身,而是进行部署,以确保始终运行指定数量的Pod(当一个Pod死亡时,在其所在位置创建另一个Pod以保持指定数量)。您可以找到有关控制器的更多信息:

  • 他们可以负责复制和推出,并提供自我修复 集群范围内的功能

  • 我不确定GPU,因为我没有太多地使用它,但Kubernetes肯定可以根据CPU和内存进行扩展,您还可以设置资源和限制来控制它。我相信Cluster Autoscaler可以基于GPU进行扩展,因为GPU有一个特定的指标:
  • 集群中不同GPU的最小和最大数量,格式为 ::. 群集自动缩放器不会将群集扩展到 这些数字。可以通过多次。目前仅此标志 在GKE工作