上QQ阅读APP看书,第一时间看更新
1.4 核心组件
TensorFlow的核心组件(Core Runtime)如图1-1所示,主要包括分发中心(Distributed Master)、执行器(Dataflow Executor)、内核应用(Kernel Implementation)以及最底端的网络层(Networking Layer)和设备层(Device Layer)。
图1-1 核心组件结构图
分发中心从输入的数据流图中剪取子图,将其划分为操作片段并启动执行器。分发中心处理数据流图时会进行预设定的操作优化,包括公共子表达式消去、常量折叠等。
执行器负责图操作在进程和设备中的运行、收发其他执行器的结果。执行器在调度本地设备时会选择进行并行计算和GPU加速。
内核应用负责单一的图操作,包括数学计算、数组操作、控制流和状态管理操作。内核应用使用Eigen执行张量的并行计算;cuDNN库等执行GPU加速,此外用户可以在内核应用中注册额外的内核以提升基础操作。