PyTorch支持Kubernetes集群

PyTorch 支持Kubernetes集群

Pytorchs是另外一个开源的深度学习软件包,Pytorch可以在Kubernetes之中运行。该POC基于 TFJob operator,目前还处于概念验证阶段。
参考:

pytorch-operator 项目支持pytorch。该代码库还是体验阶段,用于启动该 proposal 的支持。

环境要求

目前,PyTorch是通过Helm的支持安装的,这与Kubeflow采用的ksonnet是不一致的,不过以后helm和Ksonnet将会合并,从而最终架构将走向统一。

使用 PyTorch Operator

运行下面的指令,部署 operator 到当前上下文的命名空间(或通过--namespace=kubeflow指定):

RBAC=true #set false if you do not have an RBAC cluster
helm install pytorch-operator-chart -n pytorch-operator --set rbac.install=${RBAC} --wait --replace

对 POC 例程,我们使用包含分布式训练脚本的 configmap 来进行:

kubectl create -f examples/mnist/configmap.yaml

创建 PyTorchJob 资源来启动训练过程:

kubectl create -f examples/mnist/pytorchjob.yaml

现在,你应该已经可以看到任务(job)按照指定的复制数(replicas)运行起来。

kubectl get pods -a -l pytorch_job_name=example-job

训练任务将运行大约 10 epochs,耗时 5-10 分钟(CPU集群)。在运行时可以查看日志。通过下面的方法可以看到日志的输出,了解训练的运行状态:

PODNAME=$(kubectl  get pods -a -l pytorch_job_name=example-job,task_index=0 -o name)
kubectl logs -f ${PODNAME}

例程的输出:

Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz
Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz
Processing...
Done!
Rank  0 , epoch  0 :  1.2753884393269066
Rank  0 , epoch  1 :  0.5752273188915842
Rank  0 , epoch  2 :  0.4370715184919616
Rank  0 , epoch  3 :  0.37090928852558136
Rank  0 , epoch  4 :  0.3224359404430715
Rank  0 , epoch  5 :  0.29541213348158385
Rank  0 , epoch  6 :  0.27593734307583967
Rank  0 , epoch  7 :  0.25898529327055536
Rank  0 , epoch  8 :  0.24815570648862864
Rank  0 , epoch  9 :  0.22647559368756534

转载于:https://my.oschina.net/u/2306127/blog/1817835

KinD是一种用于在本地或云环境中运行Kubernetes集群的工具。它提供了一种简单的方式来创建、管理和销毁Kubernetes集群。KinD使用Docker容器来模拟Kubernetes节点,并使用Kubernetes本身来管理这些节点。通过使用KinD,您可以在本地或云环境中快速搭建和测试PyTorch模型。 在PyTorch中,有关量化的官方文档和介绍可以在PyTorch官方文档和博客中找到。\[1\]您可以在PyTorch官方文档的quantization部分了解有关量化的详细信息。此外,PyTorch的官方源码可以在GitHub上找到。\[2\] 在PyTorch中,torch.unsqueeze()函数用于在指定位置添加一个维度为1的维度。例如,如果有一个形状为(3,)的张量,使用torch.unsqueeze()函数在位置0添加一个维度,它将变为形状为(1, 3)的张量。\[3\] 如果您想在PyTorch中将模型导出为ONNX格式,可以使用torch.onnx.export()函数。这个函数可以将PyTorch模型导出为ONNX模型,以便在其他框架或设备上使用。\[3\] 希望这些信息对您有帮助!如果您有任何其他问题,请随时提问。 #### 引用[.reference_title] - *1* [pytorch量化](https://blog.csdn.net/weixin_45919003/article/details/130115760)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [PyTorch详细教程](https://blog.csdn.net/m0_37605642/article/details/128984754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值