TensorFlow 1.11.0 已正式发布!

来源 | TensorFlow 公众号

TensorFlow 1.11.0 版本正式发布啦!

本文将为大家介绍此版本的一些重大改变、主要功能和改进、Bug 修复以及其他变化。

主要特点和改进

Nvidia GPU:

  • 现在(根据 TensorFlow 1.11)预构建的二进制文件是针对 cuDNN 7.2 和 TensorRT 4
    构建的。请查看升级的安装指南:Installing TensorFlow on
    Ubuntu(www.tensorflow.org/install/ins…

Google Cloud TPU:

  • 针对 Google Cloud TPU 上的 Keras 的实验性 tf.data 集成
  • 在 Google Cloud TPU 上对 Eager Execution 进行试验性/预览支持

分布式策略:

  • 为 tf.keras 添加 multi-GPU 分布式策略支持。fit,evaluate,predict 开始支持分布式
  • 在 Estimator 中添加 multi-worker 的分布式策略支持和独立客户端支持。 查看 [README]
    (github.com/tensorflow/…) 了解更多细节

添加 C, C++, 和 Python 函数来查询内核

重大改变

Keras:

  • tf.keras 的 RandomUniform,RandomNormal 和 TruncatedNormal
    初始化程序的默认值已更改,以保证与外部 Keras 中的默认值相匹配
  • 重大改变:运行 Sequential 模型的 model.get_config() 方法,现在返回 config
    dictionary(与其他模型实例保持一致),不再返回基础层的配置列表

Bug 修复以及其他变化

C++:

  • 更改了 SessionFactory::NewSession 的签名,使其能够对错误给出详细的信息

tf.data:

  • tf.contrib.data.make_csv_dataset() 去除了 num_parallel_parser_calls 参数
  • 如果参数没有匹配的文件,则 tf.data.Dataset.list_files() 在初始化时会报异常
  • 为了清晰起见,将 BigTable 类别重新命名为 BigtableTable
  • 记录 Cloud Bigtable API 的使用情况
  • 添加 tf.contrib.data.reduce_dataset,可用于将数据集减少到单个元素
  • 泛化 tf.contrib.data.sliding_window_batch

INC:

  • 对三角求解进行了运行上的改进

tf.contrib:

  • 为 tf.keras.layers.LocallyConnected2D 和
    tf.keras.layers.LocallyConnected1D 添加了 implementation 参数。
    新模式(implementation =
    2)在执行前向传播时以单个密集矩阵的乘积来进行,这在某些场景下会带来显著加速(但在某些场景下可能会导致性能降低 - 请参阅
    docstring)。 该选项还允许使用 padding = same
  • 添加了新文档来说明 tf.fill 和 tf.constant 之间差异
  • 实验性地添加了 IndexedDatasets
  • 使用 lite proto 运行时添加选择性注册目标
  • 为 TensorFlow Lite Java 添加简单的 Tensor 和 DataType 类别
  • 添加对 uint32 和 uint64 的 bitcasting 的支持
  • 添加了一个 Estimator 子类,该子类可以从SavedModel(SavedModelEstimator)创建
  • 添加叶形索引模式作为参数
  • 从 tf.contrib.image.transform 的输入中允许不同的输出形状
  • 将 StackedRNNCell 的 state_size 顺序更改为自然顺序。为保持现有行为,用户可以在构造
    StackedRNNCell 时添加 reverse_state_order = True
  • 弃用 self.test_session(),以支持 self.session() 或 self.cached_session()
  • 直接导入 tensor.proto.h(传递导入将很快从 tensor.h 中删除)
  • Estimator.train() 现在支持开箱即用的 tf.contrib.summary。* 每次调用.train()
    现在都会创建一个单独的 tfevents 文件,不再重新使用共享文件
  • 修复 FTRL 优化器 L2 的收缩性能:L2 收缩项的梯度不应该在累加器中终止
  • 修复 toco 在 Windows 上编译/执行的 bug
  • 添加了 GoogleZoneProvider 类别,以检测 TensorFlow 程序的各部分在 Google Cloud Engine
    运行的位置
  • 现在可以安全地在 nullptr 上调用任何 C API 的 TF_Delete * 函数
  • 将 Android 上的一些错误信息记录到日志
  • 匹配 TFLite 中的 FakeQuant 数字,以提高 TFLite 量化推理模型的准确性
  • GCS 文件系统的可选存储桶位置检查
  • StringSplitOp 和 StringSplitV2Op 的性能得到加强
  • 正则表达式替换操作的性能得到提高
  • 如果 if.write() 失败,TFRecordWriter 现在会报错
  • TPU:TPUClusterResolvers 集群解析器将会提供更详细有用的错误消息
  • 不推荐使用 SavedModelBuilder 方法添加 MetaGraphs 的 legacy_init_op 参数。 请改用等效的
    main_op 参数。我们现在在构建 SavedModel 时明确会检查单个 main_op 或 legacy_init_op,而在以前对
    main_op 的检查仅在加载时进行
  • 现在可以在 RunConfig 中配置用于 Estimator 培训的协议
  • 三角数的求解性能得到提高
  • 将 TF 和 Keras 的 RNN 单元的 API 进行了统一。为 Keras 和 TF 的 RNN 单元添加了新的
    get_initial_state() 方法,这个方法未来将替代现有的 zero_state() 方法
  • 更新了 Keras 中变量的初始化
  • 在 tensorflow / contrib 中更新 “constrained_optimization”
  • 提升树算法:添加修剪模式
  • tf.train.Checkpoint 默认情况下不删除旧的检查点
  • tfdbg:调试时,缓存的 Tensor 数据所占用的磁盘空间上限为 100 GB。 允许添加环境变量
    TFDBG_DISK_BYTES_LIMIT 来调整此上限值

感谢我们的贡献者

本次的发布离不开 Google 以下许多同仁的贡献:
Aapeli, adoda, Ag Ramesh, Amogh Mannekote, Andrew Gibiansky, Andy Craze, Anirudh Koul, Aurelien Geron, Avijit, Avijit-Nervana, Ben, Benjamin H. Myara, bhack, Brett Koonce,张天启, 张晓飞…、

最后,请大家点击 “www.tensorflowers.cn/t/6838”,查看完整版本说明。

你可能感兴趣的:(TensorFlow 1.11.0 已正式发布!)