tensorflow的架构

TensorFlow是一个跨平台库,支持大规模分布式训练和预测。它包括client、Distributed Master和Worker Services,通过C API和核心运行代码隔离。Client实现用户数据流图,Distributed Master裁剪子图并分配到Worker Services执行。Worker Services根据可用硬件调度graph ops,并与其他worker交互。分布式训练中,参数服务存储和更新模型参数。此外,TensorFlow提供了多种设备间的高效通信和优化的运算内核实现。
摘要由CSDN通过智能技术生成

tensorflow设计用于支持大规模分布式训练和预测,同时也足够灵活支持新模型和系统级优化。

tensorflow是一种跨平台库,不同级别的用户级别代码(python c++ client)通过C API和核心的运行代码隔离。

说明:

  • client
    • 实现用户定义数据流图(dataflow graph),并通过tf.session来执行;
  • Distributed Master
    • 通过Session.run()裁剪子图(sub graph);
    • 把子图分成多片(piece),运行在不同process/device上;
    • 把分片分布到不同worker service上运行;
    • 通过worker service启动不同片的执行;
  • Worker Services (每个task一个)
    • 通过适配可用的硬件(CPUs, GPUs)的kernel implementations安排graph ops的执行
    • 和其他worker ops交互结果(发送or接收)

在这里插入图片描述
上图展示了分布式环境中不同组件之间的交互,PS表示参数服务(parameter server):用来存储更新模型参数的,其他task用来优化这些参数并将更新发送给PS,这种划分在分布式训练上比较有用。

client

用户可以用多种语言,低级别高级别等API来开发client计算图。
客户端创建tf.session,然后把graph的定义发给Distributed Master,是通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值