第4章 TensorFlow基础知识
本章主要参考TensorFlow官方网站上的新手入门[1]和扩展教程[2],讲解TensorFlow的基本概念。本章从系统架构、设计理念、编程模型、常用API、存储与加载模型、线程及队列、加载数据、自定义操作等多个方面进行讲解,相信通过本章的学习,读者会对TensorFlow的全貌有一个基本的认识。本章的学习对理解TensorFlow的原理和实战非常重要,读者需要用心揣摩。
4.1 系统架构
图4-1给出的是TensorFlow的系统架构,自底向上分为设备层和网络层、数据操作层、图计算层、API层、应用层,其中设备层和网络层、数据操作层、图计算层是TensorFlow的核心层。[3]
下面就自底向上详细介绍一下TensorFlow的系统架构。最下层是网络通信层和设备管理层。网络通信层包括gRPC(google Remote Procedure Call Protocol)和远程直接数据存取(Remote Direct Memory Access,RDMA),这都是在分布式计算时需要用到的。设备管理层包括TensorFlow分别在CPU、GPU、FPGA等设备上的实现,也就是对上层提