TensorFlow 1.11.0 已正式发布!
精品文章,第一时间送达
来源:Google
转载自:Tensorflow,未经允许不得二次转载
TensorFlow 1.11.0 版本正式发布啦!
本文将为大家介绍此版本的一些重大改变、主要功能和改进、Bug 修复以及其他变化。
主要特点和改进
Nvidia GPU:
-
现在(根据 TensorFlow 1.11)预构建的二进制文件是针对 cuDNN 7.2 和 TensorRT 4 构建的。请查看升级的安装指南:Installing TensorFlow on Ubuntu(https://www.tensorflow.org/install/install_linux#tensorflow_gpu_support)
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] (https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/distribute) 了解更多细节
添加 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,张天启, 张晓飞……
你也许还想看:
● 福利 | 近期 github 机器学习热门项目top5(文末免费送数据集)
欢迎扫码关注:
原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2018/09/30/20e11e7b93/