paddlepaddle的缺点 paddlepaddle是什么( 四 )



paddlepaddle的缺点 paddlepaddle是什么

文章插图
当 master 进程被 Kubernetes 启动时,它进行如下操作:
1. 从 etcd 中取一个唯一的 master lock,以此避免多个 master 实例存在
2. 查看 etcd 中是否存在任务队列 。如果不存在,则新建一个任务队列;否则得到这个任务队列中的信息
3. 把自身的 ip 地址写进 etcd 中/master/addr 这个 key 中,便于后来的训练进程和自己通信
4. 开端口监听训练进程的任务需求,如果收到来自训练进程的任务请求,从任务队列中取任务分配之,并且更新任务队列 。
如果 master 进程因为任何原因死掉了,Kubernetes 会将它重启,从被重启到获取 etcd 的信息,获取训练进程的任务,这个过程一般是几分钟 。
  • 训练进程
训练进程
当训练进程被 Kubernetes 启动时,它进行如下操作:
1. 查看 etcd 中包含参数服务前缀 /ps/ 获取当前参数服务进程的数量并等待,直到该数量达到配置文件中的要求
2. 从 etcd 的/master/addr key 中获取 master 进程地址
3. 向 master 发起任务请求,根据任务开始训练程序
当训练进程死掉之后,Kubernetes 会将它重启,新起来的进程会重复上述工作直到开始新的训练工作 。
  • 参数服务进程
参数服务进程
当参数服务进程被 Kubernetes 启动时,它进行如下操作:
1. 从 etcd /ps_desired 中读取训练任务所需求的参数服务进程个数
2. 在 etcd /ps/<index>(/ps/0, /ps/1, ...)里找一个小于所需进程数里最大的还不存在的 id,并在 etcd 里创建这个 entry,以此作为自身的 id 。(如下图)

paddlepaddle的缺点 paddlepaddle是什么

文章插图
当第三个参数服务器加入时:

paddlepaddle的缺点 paddlepaddle是什么

文章插图
3. 参数服务进程会从自身对应的 etcd path 中找到已有的训练结果参数并且将它读入
4. 参数服务进程开始接收来自训练进程的请求 。
PaddlePaddle 的可视化—PaddlePaddleVisualDL
PaddlePaddleVisualDL 是 PaddlePaddle 自带的一个强大的可视化工具,也是一个 Web 应用程序套件 。PaddlePaddleVisualDL 目前支持 4 种可视化,即 SCALARS、IMAGES、GRAPHS、HISTOGRAMS 。这 4 种可视化的主要功能如下 。
● SCALARS:展示训练过程中的准确率、损失值、权重/偏置的变化情况 。
● IMAGES:展示训练过程中记录的图像 。
● GRAPHS:展示模型的数据流图,以及训练在各个设备上消耗的内存和时间 。
● HISTOGRAMS:展示训练过程中记录的数据的柱状图 。
PaddlePaddleVisualDL 通过运行一个本地服务器,来监听 8080 端口 。在浏览器发出请求时,分析训练时记录的数据,绘制训练过程中的图像 。而且 VisualDL 兼容 ONNX, 通过与 python SDK 的结合,VisualDL 可以兼容包括 PaddlePaddle, pytorch, mxnet, Caffe2 在内的大部分主流 DNN 平台 。而 Tensorboard 目前仅适用于 Tensorflow、Pytorch、MXNet 等 。

paddlepaddle的缺点 paddlepaddle是什么

文章插图
PaddlePaddleVisualDL 的可视化界面如下图所示 。

paddlepaddle的缺点 paddlepaddle是什么

文章插图
VisualDL 的使用
VisualDL 的使用方式非常简单,只需要下面三个过程:

paddlepaddle的缺点 paddlepaddle是什么

文章插图
VisualDL 的特性
VisualDL 的特性主要有下面 4 点: