TensorFlow 2.0与1.0版本有很大差异,主要体现在以下几个方面:
1. API简化TensorFlow 2.0提供了Keras高阶API,极大地简化了模型的构建过程。你可以用极少的代码构建复杂的神经网络模型。而TensorFlow 1.0的API相对底层,需要大量的代码来定义各层节点及其连接。
2. Eager ExecutionTensorFlow 2.0默认启用Eager Execution模式,可以立即执行运算并直接获取结果。而TensorFlow 1.0默认构建静态计算图,需要在会话中运行才能得到运算结果。Eager Execution使得TensorFlow变得更加简单和人性化。
3. variables初始化
TensorFlow 2.0中的变量在定义时自动初始化,无需运行初始化操作。而在TensorFlow 1.0中,你需要定义变量初始化操作并在会话中运行。
4. 会话(Session)TensorFlow 2.0移除了会话的概念,直接构建和运行计算图。而TensorFlow 1.0需要在会话中运行运算才能获取结果。
5. TF Record数据输入TensorFlow 2.0中有Dataset API来处理TF Record等大数据,更加高效方便。TensorFlow 1.0读取TF Record数据相对复杂。
6. Keras Model.fit统一接口TensorFlow 2.0中的model.fit()提供了统一的训练接口,使模型训练简单易用。TensorFlow 1.0的训练过程相对复杂,需要定义训练运算、迭代变量、启动会话等步骤。