一、区别
- Eager Execution(即时执行):TensorFlow 2.x 默认启用 Eager Execution,这意味着你可以像使用 NumPy 一样立即执行操作,无需构建计算图。这种方式更直观和易于调试,也减少了许多样板代码。
- API 简化:TensorFlow 1.x 中存在多个不同的 API 来定义模型,如 tf.layers、tf.contrib.layers、tf.estimator 等。而 TensorFlow 2.x 引入了 tf.keras 高级 API,它提供了更简洁、一致的接口来定义模型,使得代码更易读、易用。
- 默认的模型保存和加载方式:TensorFlow 2.x 使用 tf.keras.models.save_model() 和 tf.keras.models.load_model() 来保存和加载模型。这种方式更加直观和方便,不再需要手动保存和加载变量。
- 动态图与静态图:TensorFlow 1.x 使用静态图(Static Graph)的方式,需要先构建计算图然后执行。而 TensorFlow 2.x 的 Eager Execution 支持动态图(Dynamic Graph),可以直接在运行时执行操作,更加灵活。
- 移除一些不推荐的功能和模块:TensorFlow 2.x 移除了一些不再推荐使用的功能和模块,如 tf.contrib、tf.flags、tf.app 等。这样可以使框架更加精简和易于维护。
- TensorFlow 2.x 与 Keras 的集成:TensorFlow 2.x 将 Ke