训练
使用 TensorBoard 可视化 PyTorch 训练过程
· ☕ 4 分钟
1. 什么是 TensorBoard TensorBoard 主要是用来监控模型的各种指标的变化,比如 accuracy、loss、各种层的权重分布等。 TensorBoard 是 TensorFlow 的一个可视化工具,支持标量、文本、图像、音频、视频和 Embedding 等多种数据可视化,但是 PyTorch 也可以使用 TensorBoard。 2. 安装 tensorboard 1 pip install tensorboard 3. 使用

使用 PyTorch 在 MNIST 数据集训练模型
· ☕ 3 分钟
1. 创建训练脚本 创建训练脚本 mnist.py,内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Kubernetes 下的 DLRover 工作流程分析
· ☕ 13 分钟
本文使用的 DLRover 版本是 0.3.7 1. DLRover Operator 1.1 启动 ElasticJob 和 ScalePlan 的控制器 实现代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 创建 ElasticJob 的控制器 if err = controllers.NewElasticJobReconciler(mgr, masterImage).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ElasticJob") os.Exit(1) } // 创建 ScalePlan 的控制器 if err = controllers.NewScalePlanReconciler(mgr).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ScalePlan") os.Exit(1) } // 启动控制器 if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { setupLog.Error(err, "problem running manager") os.Exit(1) } 这部分代码是

分布式训练中的数据并行架构
· ☕ 5 分钟
1. Parameter Server 架构 在 Parameter Server 架构中,集群中的节点被分为两类,参数服务器节点(Parameter Server)和工作服务器节点(Worker)。 1.1 Parameter Server Parameter Server 用于存放模型的参数。 每个参数服务器节点负责管理和更新模型的一部分参数,而每个工作节点则只处理与其对应

使用 DLRover 托管作业进行弹性、容错训练
· ☕ 12 分钟
1. 分布式训练面临的问题 预估训练资源困难,无法自动化 需要多少算力、需要多少时间、需要多少带宽、需要多少 CPU、需要多少内存,如果没有足够的积累,很难估算准确。导致的结果就是,超额申请、超额分配,造成极大的资源浪费。 需要去沉淀和提供解决方案。 故