04 2022 档案

摘要:前一篇我们分析了MirroredStrategy 的基本架构和如何更新变量,本文我们来看看 MirroredStrategy 如何运行。具体希望了解的是,MirroredStrategy 通过什么方式在远端设备节点上运行训练方法(如何分发计算),MirroredStrategy 和我们之前分析的 TF 运行时怎么联系起来?和 master,worker 这些概念怎么联系起来? 阅读全文
posted @ 2022-04-26 08:03 罗西的思考 阅读(607) 评论(0) 推荐(1) 编辑
摘要:MirroredStrategy 策略通常用于在一台机器上用多个GPU进行训练。其主要难点就是:如何更新 Mirrored 变量?如何分发计算?本文我们看看其总体思路和如何更新变量。 阅读全文
posted @ 2022-04-19 18:37 罗西的思考 阅读(1320) 评论(0) 推荐(0) 编辑
摘要:在 TensorFlow 之中,分布式变量是在多个设备上创建的变量。Mirrored variable 和 SyncOnRead variable 是两个例子。本文就对分布式变量进行分析。 阅读全文
posted @ 2022-04-14 17:44 罗西的思考 阅读(1044) 评论(0) 推荐(0) 编辑
摘要:我们接下来介绍TensorFlow分布式Strategy的基础,本文会先看看Strategy的类体系和如何处理数据,下一篇看看如何处理变量。 阅读全文
posted @ 2022-04-12 14:21 罗西的思考 阅读(1396) 评论(1) 推荐(0) 编辑
摘要:本文以两篇官方文档为基础来学习TensorFlow如何进行分布式训练,借此进入Strategy世界。 阅读全文
posted @ 2022-04-10 09:50 罗西的思考 阅读(1270) 评论(1) 推荐(1) 编辑
摘要:当计算图在设备之间划分之后,跨设备的 PartitionGraph 之间可能存在着数据依赖关系,因此 TF 在它们之间插入 Send/Recv 节点,这样就完成数据交互。而在分布式模式之中,Send/Recv 通过 RpcRemoteRendezvous 完成数据交换,所以我们需要先看看 TF 之中的数据交换机制 Rendezvous。 阅读全文
posted @ 2022-04-06 15:52 罗西的思考 阅读(1065) 评论(1) 推荐(0) 编辑
摘要:前文中,Master 在流程之中先后调用了 gRPC 给远端 worker 发送命令,即,GrpcRemoteWorker 一共发了两个请求:RegisterGraphAsync,RunGraphAsync,本文我们就来看看 GrpcWorkerService 如何处理。 阅读全文
posted @ 2022-04-01 16:47 罗西的思考 阅读(658) 评论(0) 推荐(0) 编辑