前言:
Tensorflow是Google推出的机器学习开源神器,对Python有着良好的语言支持,支持CPU,GPU和Google TPU等硬件,并且已经拥有了各种各样的模型和算法。目前,Tensorflow已被广泛应用于文本处理,语音识别和图像识别等多项机器学习和深度学习领域。
基本框架
分为三层:应用层、接口层和核心层
应用层:
提供了机器学习相关的训练库、预测库和针对Python、C++和Java等变成语言的编程环境,类似于web系统的前端,主要实现了对计算图的构造。
接口层:
对Tensorflow功能模块的封装,便于其它语言平台的调用。
核心层:
最重要的部分,包括设备层、网络层、数据操作层和图计算层,执行应用层的计算。
1.设备层
包括Tensorflow在不同硬件设备上的实现,主要支持CPU、GPU和Mobile等设备,在不同硬件设备上实现计算命令的转换,给上层提供统一的接口,实现程序的跨平台功能。
2.网络层
网络层主要包括RPC和RDMA通信协议,实现不同设备之间的数据传输和更新,这些协议都会在分布式计算中用到。
3.数据操作层
以tensor为处理对象,实现tensor的各种操作和计算。
4.图计算层
包括分布式计算图和本地计算图的实现,实现图的创建、编译、优化和执行等。