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
1.5.0 正式版
重大更新
预构建的二进制文件现在是针对 CUDA 9 和 cuDNN 7 构建的。
从版本 1.6 开始,我们的预构建二进制文件将使用 AVX 指令。这也许会破坏较旧 CPUs 上的 TF。
主要功能和提升
Eager execution:预览版现在可用。
TensorFlow Lite:dev 预览版现在可用。
支持 CUDA 9 和 cuDNN 7
加速线性代数(XLA):
添加 complex64 支持到 XLA 编译器。
bfloat 支持现已添加到 XLA 架构。
使 XLA 和 XLA 一起工作。
通过决定性执行程序来生成 XLA 图。
tf.contrib:
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。
添加 tf.contrib.bayesflow.layers,一个概率(神经)层的集合。
添加 tf.contrib.bayesflow.halton_sequence。
添加 tf.contrib.data.make_saveable_from_iterator。
添加 tf.contrib.data.shuffle_and_repeat。
添加新的自定义转换: tf.contrib.data.scan()。
tf.contrib.distributions.bijectors:
添加 tf.contrib.distributions.bijectors.MaskedAutoregressiveFlow。
添加 tf.contrib.distributions.bijectors.Permute。
添加 tf.contrib.distributions.bijectors.Gumbel。
添加 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 添加支持。
Bug 修复与其他更新
文档更新:
明确你只能在 64 位机上安装 TensorFlow。
添加一个短文件解释 Estimators 如何保存检查点。
为由 tf2xla 桥支持的操作添加文档。
修改 SpaceToDepth 和 DepthToSpace 文件中的小的书写错误。
更新 mfcc_mel_filterbank.h 和 mfcc.h 中的文档命令,说明输入域是幅度谱的平方,权重
是在线性幅度谱(输入的 sqrt)上完成的。
修复 tf.distributions.bijectors.Bijector 中的文档字符串书写错误。
tf.assert_equal 不再引发 ValueError。它现在引发 InvalidArgumentError,如文档所述。
更新「开始」文件和 API 介绍。
谷歌云存储 (GCS):
为 GCS 客户端添加用户空间 DNS 缓存。
为 GCS 文件系统自定义请求超时。
优化 GCS 的文件系统缓存。
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 进行初始化;经过修复之后,可以正确地初始化。
其它
添加必要的 shape 直到支持 bfloat16。
添加一种运行 ops 的方式,在 MonitoredSession 中使用阶跃函数。
添加 DenseFlipout 概率层(probabilistic layer)。
添加一种新的 flag:ignore_live_threads,可用于训练过程。如果将其设为 True,在成功完成训练之后,它会在拆除基础建设时忽略仍在运行的线程,而不会返回 RuntimeError。
重新标准化 DenseVariational,以作为其它概率层的更简化模板。
tf.data 现在在数据集元素中支持 tf.SparseTensor。
可以进行遍历 Tensor 的计算。
允许 SparseSegmentReduction ops 拥有丢失的 segment IDs。
修改自定义导出策略以包含多维稀疏浮点数分裂(multidimensional sparse float
splits)。
由于 GPU 和 cuDNNv6 的支持,Conv2D、Conv2DBackpropInput、Conv2DBackpropFilter 现在支持任意的扩张。
Estimator 现在支持 Dataset:input_fn 可以返回 Dataset 而不是 Tensors。
添加 Revblock,一个可逆残差层的节省内存的实现。
减少 BFCAllocator 的内部碎片。
添加 cross_entropy 和 kl_divergence 到 tf.distributions.Distribution 中。
添加 tf.nn.softmax_cross_entropy_with_logits_v2,以允许标签的反向传播。
GPU 后端现在使用 ptxas 以编译生成的 PTX。
BufferAssignment 的协议缓存转储(protocol buffer dump)现在已确定。
改变 embedding op 以利用 DynamicStitch 的并行版本。
添加对稀疏多维特征列(sparse multidimensional feature columns)的支持。
加速仅有一个值的稀疏浮点数列(sparse float columns)的案例。
允许稀疏浮点数分裂(sparse float splits)以支持多价特征列(multivalent feature columns)。
添加 quantile 到 tf.distributions.TransformedDistribution。
在 GPU 上添加对 tf.depth_to_space 的 NCHW_VECT_C 支持。
在 GPU 上添加对 tf.space_to_depth 的 NCHW_VECT_C 支持。
API 变化
将 SqueezeDims 属性在 C++ API 中重命名为 Axis,作为 Squeeze op。
Stream::BlockHostUntilDone 返回 Status,而不是布尔值。
Minor refactor:将 stats 文件从 stochastic 移动到 common 并删除 stochastic。