Tensorflow1.5更新:CUDA9与cuDNN7

昨天,谷歌在 GitHub 上正式发布了 TensorFlow 的最新版本 1.5.0,并开源了其代码。支持 CUDA 9 和 cuDNN 7 被认为是本次更新的最重要部分。
GitHub 地址:https://github.com/tensorflow/tensorflow/releases/tag/v1.5.0
源代码(zip):https://github.com/tensorflow/tensorflow/archive/v1.5.0.zip
源代码(tar.gz):https://github.com/tensorflow/tensorflow/archive/v1.5.0.tar.gz

主要功能和提升

Eager execution:预览版现在可用。
TensorFlow Lite:dev 预览版现在可用。
支持 CUDA 9 和 cuDNN 7
加速线性代数(XLA):
1.添加 complex64 支持到 XLA 编译器。
2.bfloat 支持现已添加到 XLA 架构。
3.使 XLA 和 XLA 一起工作。
4.通过决定性执行程序来生成 XLA 图。
tf.contrib:
1.tf.contrib.distributions:
添加 tf.contrib.distributions.Autoregressive。
使 tf.contrib.distributions QuadratureCompound 类支持批处理。
从参数中推断 tf.contrib.distributions.RelaxedOneHotCategorical dtype。
通过 quadrature_grid_and_prob vs quadrature_degree 使 tf.contrib.distributions 正交族参数化。
添加 auto_correlation 到 tf.contrib.distributions。
1.添加 tf.contrib.bayesflow.layers,一个概率(神经)层的集合。
2.添加 tf.contrib.bayesflow.halton_sequence。
3.添加 tf.contrib.data.make_saveable_from_iterator。
4.添加 tf.contrib.data.shuffle_and_repeat。
5.添加新的自定义转换: tf.contrib.data.scan()。
tf.contrib.distributions.bijectors:
添加 tf.contrib.distributions.bijectors.MaskedAutoregressiveFlow。
1.添加 tf.contrib.distributions.bijectors.Permute。
2.添加 tf.contrib.distributions.bijectors.Gumbel。
3.添加 tf.contrib.distributions.bijectors.Reshape。
支持 Reshape bijector 中的 shape 推理(即,包含-1 的 shape)。
添加 streaming_precision_recall_at_equal_thresholds,一种计算流式精确度和时间、空间复杂度为 O(num_thresholds + size of predictions) 的调用的方法。
更改 RunConfig 默认行为,不设置随机种子,使随机行为在分布式工作器上独立地随机。我们期待这可以普遍提高训练表现。依赖决定论的模型应明确设置一个随机种子。
通过 absl.flags 替换 tf.flags 的实现。
在 fp16 GEMM 中为 CUBLAS_TENSOR_OP_MATH 添加支持。
在 NVIDIA Tegra 计算卡上为 CUDA 添加支持。

文档更新

明确你只能在 64 位机上安装 TensorFlow。
添加一个短文件解释 Estimators 如何保存检查点。
为由 tf2xla 桥支持的操作添加文档。
修改 SpaceToDepth 和 DepthToSpace 文件中的小的书写错误。
更新 mfcc_mel_filterbank.h 和 mfcc.h 中的文档命令,说明输入域是幅度谱的平方,权重
是在线性幅度谱(输入的 sqrt)上完成的。
修复 tf.distributions.bijectors.Bijector 中的文档字符串书写错误。
tf.assert_equal 不再引发 ValueError。它现在引发 InvalidArgumentError,如文档所述。
更新「开始」文件和 API 介绍。

Bug修复

修复之前出现的整数变量分区后变成错误的 shape 的 bug。
修复 Adadelta 的 CPU 和 GPU 实现的准确度 bug。
修复当导入到 scope 时,import_meta_graph 处理分区变量时出现的 bug。警告:在以非空 import_scope 变量应用 import_meta_graph 之后,这可能会破坏带已保存分区变量图的加载中的检查点。
修复离线 debugger 中阻止查看事件的 bug。
添加 WorkerService.DeleteWorkerSession 方法到 gRPC 接口,修复内存泄漏。确保你的主服务器和辅助服务器在相同版本的 TensorFlow 上运行,以避免兼容性问题。
修复 BlockLSTM cell 的 peephole 实现中的 bug。
通过重写 log_det_jacobian 的 dtype 以在 TransformedDistribution 中匹配 log_prob。
确保 tf.distributions.Multinomial 不会在 log_prob 中下溢。在此之前,一个整数变量的所有分区会以非分区变量的 shape 进行初始化;经过修复之后,可以正确地初始化。