TensorFlow 2.7.0 rc1 发布

来源: OSCHINA
编辑: Alias_Travis
2021-10-27

TensorFlow 是一个用于机器学习的端到端开源平台。它有一个全面灵活的工具、库和社区资源所组成的生态,让开发人员轻松建立和部署由 ML 驱动的应用程序。

TensorFlow 最初用于进行机器学习和深度神经网络研究。但该系统具有足够的通用性,也适用于其他广泛的领域。

主要变化

  • tf.keras:
    • Model.fit()Model.predict()Model.evaluate()方法将不再把 (batch_size,)的输入数据上升为 (batch_size, 1)。这使得 Model子类能够在其 train_step()/ test_step()/ predict_step()方法中处理标量数据。
    • Model.to_yaml()keras.models.model_from_yaml方法已被替换为引发 RuntimeError,因为它们可能被滥用以导致任意代码执行。
    • LinearModelWideDeepModel被移至 tf.compat.v1.keras.models.命名空间( tf.compat.v1.keras.models.LinearModeltf.compat.v1.keras.models.WideDeepModel),其 experimental 端点( tf.keras.experimental.models.LinearModeltf.keras.experimental.models.WideDeepModel)被弃用。
    • 所有 tf.keras.initializers 类的 RNG 行为改变。这一变化将使初始化行为在 v1 和 v2 之间保持一致。
  • tf.lite:
    • 弃用 Makefile 构建:Makefile 用户需要将他们的构建迁移到 CMake 或 Bazel。
    • 弃用 tflite::OpResolver::GetDelegates。TfLite 的 BuiltinOpResolver::GetDelegates 所返回的列表现在总是空的。相反,建议使用新方法 tflite::OpResolver::GetDelegateCreators
  • TF Core:
    • tf.Graph.get_name_scope() 现在总是返回一个字符串。以前,当在 name_scope("")name_scope(None) 背景下调用时,它返回 None;现在它返回空字符串。
    • tensorflow/core/ir/ 包含了一个新的基于 MLIR 的 Graph dialect,与 GraphDef 同构,并将用于取代基于 GraphDef(例如 Grappler)的优化。
    • 弃用并删除了形状推理中的 attrs() 函数。现在所有的属性都应该通过名字来查询。
    • 以下 Python 符号是在 TensorFlow 的早期版本中被意外添加,现在已被删除。每个符号都有一个应该使用的替换,但注意替换的参数名称是不同的:
      • tf.quantize_and_dequantize_v4(在 TensorFlow 2.4 中引入),使用 tf.quantization.quantize_and_dequantize_v2 代替;
      • tf.batch_mat_mul_v3(在 TensorFlow 2.6 中引入),使用 tf.linalg.matmul 代替。
      • tf.sparse_segment_sum_grad(在 TensorFlow 2.6 中引入),使用 tf.raw_ops.SparseSegmentSumGrad代替。
    • 将 tensorflow::int64 重命名为 int_64_t(前者是后者的别名)。
  • 模块化文件系统的迁移:
    • 对 S3 和 HDFS 文件系统的支持已经迁移到了一个模块化文件系统,应该为 S3 和 HDFS 安装 tensorflow-io python 包,以便用获得 tensorflow 支持。

更多详情可查看:https://github.com/tensorflow/tensorflow/releases/tag/v2.7.0-rc1

 

展开阅读全文
3 收藏
分享
加载中
最新评论 (2)
深刻
2021-10-27 17:05
0
回复
举报
唉!我们的事又多了。。。
2021-10-27 11:24
0
回复
举报
更多评论
2 评论
3 收藏
分享
返回顶部
顶部