05 - 编程框架机理

一、TensorFlow 设计原则

1. 高性能

TensorFlow 中的算子,设计过程中已经针对底层硬件架构进行了充分的优化。针对生成的计算图,TensorFlow 又提供了一系列的优化操作,以提升计算图的运行效率。TensorFlow 调度器可以根据网络结构特点,并发运行没有数据依赖的节点。

2. 易开发

TensorFlow 针对现有的多种深度学习算法,提取了大量的共性运算,并封装成算子。用户使用 TensorFlow 进行算法开发时,能够直接调用这些算子,很方便的实现算法。

3. 可移植

TensorFlow 可工作于各种类型的异构系统,对每个算子(例如矩阵乘法)提供在不同设备上的实现,使得统一的用户程序可以在不同硬件平台上执行。

二、TensorFlow 计算图机制

1. 计算图的自动求导

深度学习中通常采用梯度下降法来更新模型参数,但对于复杂模型,手动计算梯度
非常困难。目前大部分深度学习框架均提供自动梯度计算功能,用户只需描述前向计算的过程,由编程框架自动推导反向计算图,完成导数计算。

① 手动求解法(手动用链式法则求解出梯度公式,代入数值,得到最终梯度值),缺点:(1)需要手动编写梯度求解代码;(2)每次修改算法模型,都要

猜你喜欢

转载自blog.csdn.net/m0_51339444/article/details/130179307
05