配角转成主角
最早追溯到TensorFlow 1.10版本,那个时候TensorFlow由于强大的深度学习计算能力被众多的深度学习从业人员所使用和称道。但是盛名之下还是有一些小的确定让人诟病,例如程序编写的困难、代码格式和其他深度学习框架有较大差异、运行时占用资源较多等。
TensorFlow开发组为了解决这些问题,在TensorFlow 1.10版本的时候就引入了一种新的程序运行机制——TensorFlow Eager Execution。其目的是为了解决程序开发人员使用TensorFlow深度学习框架时学习坡度不是很友善的问题,同时也为了增加程序编写的方便,使用了一种新的、简化的TensorFlow运行机制Eager Execution。结果一经推出就大受好评,使得很多原先使用别的机器学习框架的程序编写人员、机器学习爱好者转而投入到TensorFlow的怀抱中。
TensorFlow Eager Execution(动态图)是一个命令式的编程环境,不建立图而是立即运算求值:运算返回具体值替换(以前的)先构建运算图然后执行的机制。使得(使用)TensorFlow和调试模型变得简单,而且减少了多余(模板化、公式化)的操作。
动态图是一个灵活的机器学习平台,用于研究和实验,提供以下功能:
- 直观的接口:基于Python数据结构,方便编码使用。快速迭代小模型和小数据;
- 调试简单:直接调用ops来检查运行模型和测试变更。使用标准Python调试工具进行即时错误报告;
- 自然控制流:使用Python控制流替换图控制流,简化动态模型规范。
从整体上可以认为,TensorFlow 2.0是一个新的开始,从更为细节的角度、从模型设计和程序编写者的角度出发,去开发和编写对应的代码,其目的是简化流程并让使用者更加把关注点聚焦在模型的设计上,而不是代码写作的细节和实现上。
因此为了使读者更好地掌握TensorFlow 2.0程序设计步骤和方法,作者对第1版的内容做了全面的更新,重写了部分章节,也删除了不太重要的以及与本书目的不是非常贴切的内容,再次出版本书,也希望能够给读者带来更好的学习体验。
作者
2020年5月