版本1.5.0
打破变化
现在预构建的二进制文件是针对CUDA 9和cuDNN 7构建的。
从1.6版本开始,我们的预编译的二进制文件将使用AVX指令。 这可能会破坏老式CPU上的TF。
主要特点和改进
Eager execution 预览版本现在可用。
TensorFlow Lite:dev 预览版现在可用。
CUDA 9和cuDNN 7支持。
加速线性代数(XLA):
添加
complex64
对XLA编译器的支持。bfloat
现在支持已添加到XLA基础架构。使
ClusterSpec
传播与XLA设备一起工作。使用决定性执行程序来生成XLA图。
tf.contrib
:
添加
tf.contrib.distributions.bijectors.MaskedAutoregressiveFlow
。添加
tf.contrib.distributions.bijectors.Permute
。添加
tf.contrib.distributions.bijectors.Gumbel
。添加
tf.contrib.distributions.bijectors.Reshape
。支持形状推理(即包含-1的形状)在Reshape双向注射器中。
添加
tf.contrib.distributions.Autoregressive
。使
tf.contrib.distributions
QuadratureCompound类支持批处理tf.contrib.distributions.RelaxedOneHotCategorical
dtype
从论据推断。让
tf.contrib.distributions
正交家人参数quadrature_grid_and_prob
VSquadrature_degree
。auto_correlation
添加到tf.contrib.distributions
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
:
添加
streaming_precision_recall_at_equal_thresholds,
一个计算 流式精度和召回O(num_thresholds+size of predictions)
时间和空间复杂度的方法。更改
RunConfig
默认行为,不设置随机种子,使 分布式工作人员随机行为独立随机。我们期望这 通常可以提高培训绩效。依赖于决定论的模型 应该明确地设置一个随机种子。替代的实施
tf.flags
有absl.flags
。添加对
CUBLAS_TENSOR_OP_MATH
fp16 GEMM的支持在NVIDIA Tegra设备上添加对CUDA的支持
错误修复和其他更改
文档更新:
说明你只能在64位机器上安装TensorFlow。
添加了一个简短的文档,解释如何
Estimator
保存检查点。为
tf2xla
该桥所支持的操作添加文档。修复较小的输入错误的DOC
SpaceToDepth
和DepthToSpace
。更新的文档的评论中
mfcc_mel_filterbank.h
和mfcc.h
至 澄清,输入域被平方幅度谱和加权 是线性幅度谱进行(SQRT的输入)。更改
tf.contrib.distributions
文档字符串的示例使用tfd
别名 ,而不是ds
,bs
。修复docstring拼写错误
tf.distributions.bijectors.Bijector
。tf.assert_equal
不再提高ValueError.
它现在提高了InvalidArgumentError,
记录。更新入门文档和API介绍。
Google云端存储(GCS):
为GCS客户端添加用户空间DNS缓存。
为GCS文件系统定制请求超时。
改进GCS文件系统缓存。
Bug修复:
修正分区整型变量得到错误形状的问题。之前
修正Adadelta的CPU和GPU实现中的正确性错误。
修复 导入到作用域
import_meta_graph
时处理分区变量的错误 。警告:这可能打破装载关卡 图形使用后保存分区变量import_meta_graph
与 非空import_scope
的说法。修复离线调试器中阻止查看事件的错误。
将该
WorkerService.DeleteWorkerSession
方法添加到gRPC接口, 以修复内存泄漏。确保您的主服务器和工作服务器运行 相同版本的TensorFlow,以避免兼容性问题。修复BlockLSTM单元的窥视孔实现中的bug。
通过投射dtype
log_det_jacobian
来匹配log_prob
in 修复bugTransformedDistribution
。修复
import_meta_graph
处理分区变量时的错误确保
tf.distributions.Multinomial
不下溢log_prob
。 在这个变化之前,整型变量的所有分区都 用未分区变量的形状初始化; 在这个改变之后他们被 正确地初始化。
其他:
为bfloat16添加必要的形状util支持。
添加一个方法来使用MonitoredSession的步骤函数运行ops。
添加
DenseFlipout
概率层。ignore_live_threads
列车上有新的标志。如果设置为True
,它 会忽略 在成功完成培训后拆除基础结构时保持运行的线程,而不是抛出RuntimeError。重新标准化
DenseVariational
为其他概率 图层的更简单的模板。tf.data
现在支持tf.SparseTensor
数据集元素中的组件。现在可以迭代
Tensor
s。允许
SparseSegmentReduction
ops缺少段ID。修改自定义导出策略以说明多维稀疏浮动 拆分。
Conv2D
,Conv2DBackpropInput
,Conv2DBackpropFilter
现在支持任意 与GPU和cuDNNv6支持扩张术。Estimator
现在支持Dataset
:input_fn
可以返回一个Dataset
而不是Tensor
s。添加
RevBlock
可逆残留层的高效内存实现。减少BFCAllocator内部碎片。
添加
cross_entropy
和kl_divergence
到tf.distributions.Distribution
。添加
tf.nn.softmax_cross_entropy_with_logits_v2
可以反向 标签的标签。GPU后端现在
ptxas
用来编译生成的PTX。BufferAssignment
协议缓冲区转储现在是确定性的。更改嵌入操作使用并行版本
DynamicStitch
。添加对稀疏多维特征列的支持。
加快只有1个值的稀疏浮点列的情况。
允许稀疏浮动分割以支持多值特征列。
添加
quantile
到tf.distributions.TransformedDistribution
。添加对GPU的
NCHW_VECT_C
支持tf.depth_to_space
。添加对GPU的
NCHW_VECT_C
支持tf.space_to_depth
。
API更改
将
SqueezeDims
属性重命名Axis
为Squeeze操作的C ++ API。Stream::BlockHostUntilDone
现在返回Status而不是bool。次要重构:移动统计文件
stochastic
到common
和删除stochastic
。
版本1.4.0
主要特点和改进
tf.keras
现在是TensorFlow核心API的一部分。tf.data
现在是 TensorFlow核心API的一部分。
API现在受到向后兼容性保证。
有关从
tf.contrib.data
API 迁移的指南主要的新功能包括
Dataset.from_generator()
(用于 从Python生成器构建输入管道)以及 应用自定义转换函数的Dataset.apply()
方法 。已经添加了几个自定义转换函数,包括
tf.contrib.data.batch_and_drop_remainder()
和tf.contrib.data.sloppy_interleave()
。
添加
train_and_evaluate
简单的分布式Estimator
培训。添加
tf.spectral.dct
用于计算DCT-II。添加Mel频率倒谱系数支持
tf.contrib.signal
(与GPU和渐变支持)。添加一个自检的
importtensorflow
Windows DLL问题。tf.depth_to_space
在GPU上添加NCHW支持。TensorFlow调试器(tfdbg):
添加
eval
命令以允许评估 tfdbg命令行界面中的任意Python / numpy表达式。可用性改进:将经常使用的过滤器张
has_inf_or_nan
是 现在被添加到Session
默认包装和挂钩。所以 客户不需要再打电话.add_tensor_filter(tf_debug.has_inf_or_nan)
了。
SinhArcsinh(标量)分配添加到
contrib.distributions
。使
GANEstimator
开源。Estimator.export_savedmodel()
现在包括 可以从服务输入接收器和所有可用的 ExportOutputs 构建的所有有效的服务签名。例如,分类器可以提供回归和 预测风格的输出,除了分类风格的输出。 从这些签名构建允许TF服务使用 不同的API(分类,回归和预测)来兑现请求。此外,serving_input_receiver_fn()
现在可以指定 可以充当输入的节点的替代子集。这允许例如产生 接受原始的分类器的预测签名Tensors
而不是序列化的tf.Example
。添加
tf.contrib.bayesflow.hmc
。添加
tf.contrib.distributions.MixtureSameFamily
。请
Dataset.shuffle()
始终默认每次迭代之后重新洗牌。添加
tf.contrib.bayesflow.metropolis_hastings
。添加
log_rate
参数tf.contrib.distributions.Poisson
。扩展
tf.contrib.distributions.bijector
API来处理一些非内射 变换。Java的:
泛型(例如
Tensor<Integer>
)用于改进类型安全 。支持多维字符串张量。
支持
tf.contrib
在Linux 和OS X 上加载自定义操作(比如多)
我们所有的预先构建的二进制文件都是用CUDA 8和cuDNN 6构建的。 我们预计将会推出CUDA 9和cuDNN 7的TensorFlow 1.5。
错误修复和其他更改
tf.nn.rnn_cell.DropoutWrapper
现在更关心退出LSTM 状态。具体来说,它不再掉落一个c
(记忆)状态LSTMStateTuple
。新的行为导致 LSTM和叠加LSTM的适当的退出行为。这个错误修复遵循 已发表文献的建议,但是是行为改变。国家退出行为 可以通过新的dropout_state_filter_visitor
参数来定制。已删除
tf.contrib.training.python_input
。同样的行为,在一个更 灵活和可重复的包中,可以通过新的tf.contrib.data.Dataset.from_generator
方法!修正了
tf.contrib.distributions.Affine
错误地计算log-det-jacobian。修正
tf.random_gamma
不正确的处理非批处理,标量绘制。解决了TensorForest TreePredictionsV4Op中的竞争条件。
Google云存储文件系统,Amazon S3文件系统和Hadoop文件 系统支持现在是默认构建选项。
自定义操作库必须链接到libtensorflow_framework.so (安装在
tf.sysconfig.get_lib()
)。更改
RunConfig
默认行为,不设置随机种子,使 分布式工作人员随机行为独立随机。我们期望这 通常可以提高培训绩效。依赖于决定论的模型 应该明确地设置一个随机种子。
打破API的变化
tf.contrib.data.rejection_resample()
功能的签名已被 更改。现在它返回一个可以用作参数的函数Dataset.apply()
。删除
tf.contrib.data.Iterator.from_dataset()
方法。Dataset.make_initializable_iterator()
改为使用。删除很少使用和不必要的
tf.contrib.data.Iterator.dispose_op()
。以非向后兼容的方式重新排序一些TFGAN丢失功能。
已知的问题
在Python 3中,
Dataset.from_generator()
不支持Unicode字符串。 您必须先将任何字符串转换为字节对象,然后再从 生成器中生成字符串。
版本1.3.0
主要特点和改进
向Tensorflow库添加罐头估计器。添加估算的列表:
DNNClassifier
DNNRegressor
LinearClassifier
LinearRegressor
DNNLinearCombinedClassifier
DNNLinearCombinedRegressor
。
我们所有的预编译的二进制文件都是用cuDNN 6编译的。我们预计会发布带有cuDNN 7的TensorFlow 1.4。
importtensorflow
现在变得更快了。将文件缓存添加到GCS文件系统,并为文件内容配置最大过时性。这允许跨越关闭/开放边界缓存文件内容。
添加了一个轴参数
tf.gather
。添加了一个
constant_values
关键字参数tf.pad
。添加
Dataset.interleave
转换。添加
ConcatenateDataset
连接两个数据集。增加了对TensorFlow for Poets培训脚本的Mobilenet支持。
使用可配置的块大小和数量将块缓存添加到GCS文件系统。
添加SinhArcSinh bijector。
增加了
Dataset.list_files
API。为云端TPU引入新的操作和Python绑定。
添加TensorFlow-iOS CocoaPod与tensorflow-android对称。
介绍ClusterResolvers的基础实现。
统一TensorShape和PartialTensorShape的内存表示。因此,张量现在最多有254个维度,而不是255个。
更改了对LIBXSMM的引用以使用版本1.8.1。
TensorFlow调试器(tfdbg):
显示数字张量值的摘要和
-s
标志以指令print_tensor
或pt
。用curses UI中的
print_feed
orpf
命令和可点击的链接显示feed值。运行时分析器在操作级别和Python源代码行级别与
run-p
命令。
统计分布库的初始版本
tf.distributions
。GPU内核和速度改进的一元
tf.where
和tf.nn.top_k
。单调注意包装添加到
tf.contrib.seq2seq
。增加
tf.contrib.signal
了一个信号处理原语库。添加了
tf.contrib.resampler
包含CPU和GPU操作的图像可微分重采样。
打破API的变化
tf.RewriterConfig
在1.2版本候选版本中可用(从未在实际版本中)之后,从Python API中删除。图形重写仍然可用,只是不能tf.RewriterConfig
。而是添加一个明确的导入。突破对
tf.contrib.data.Dataset
期望嵌套结构的API的改变。列表现在转换为tf.Tensor
隐式。您可能需要将列表的使用更改为现有代码中的元组。另外,现在支持作为嵌套结构的字典。
对contrib API的更改
添加tf.contrib.nn.ranksampledsoftmax_loss,这是一个可以改善排名损失的softmax变体。
tf.contrib.metrics
。{streamingcovariance,streamingpearson_correlation}修改为返回nan,当他们看到小于或等于1个单位的重量。添加时间序列模型来贡献。有关详细信息,请参阅contrib / timeseries / README.md。
在tensorflow / contrib / lite / schema.fbs中添加FULLY_CONNECTED Op
已知的问题
Bazel 0.5.3的Tensorflow_gpu编译失败。
错误修复和其他更改
在python中使用int64张量索引切片时修复
strides
和begin
dtype不匹配。改进的卷积填充文档。
添加一个标签常量gpu,以提供GPU支持的图形。
saved_model.utils
现在透明地支持SparseTensors。非最大抑制的更有效的实现。
除了它已经支持的在线L2之外,还增加了对FtrlOptimizer收缩类型L2的支持。
修正矩计算中的负方差。
展开UniqueOp基准测试以涵盖更多的碰撞案例。
改善Mac上GCS文件系统的稳定性。
为HloCostAnalysis添加时间估算。
修复了Estimator中的错误,即构造函数中的params不是用户提供的深层拷贝。这个错误无意中使用户在创建Estimator之后突变了参数,导致潜在的未定义行为。
添加了没有检查save_path中
saver.restore
。在device_mgr中以其原有名称注册设备,以简化向集群规范传播配置的转换。
VectorExponential添加到分布。
使用bitwiseand,bitwiseor,bitwise_xor和invert函数添加一个按位模块。
添加固定网格ODE集成例程。
允许将界限传递给ScipyOptimizerInterface。
正确性将fft_length参数修正为 tf.spectral.rfft&tf.spectral.irfft。
使用“预测”方法导出的模型签名将不再将其输入和输出密钥静静地忽略并重写为“输入”和“输出”。如果模型在1.2之前以不同的名称导出,并且现在以tensorflow / serving服务,它将使用“输入”和“输出”接受请求。从1.2开始,这样的模型将接受在导出期间指定的密钥。因此,使用“输入”和“输出”的推理请求可能开始失败。为了解决这个问题,可以更新任何推理客户端,用教练代码使用的实际输入和输出密钥发送请求,或者相反,更新教练代码,分别命名输入和输出Tensors的输入和输出。使用“分类”和“回归”的签名 方法不受这种变化的影响; 他们将继续像以前一样标准化他们的输入和输出键。
将内存中缓存添加到数据集API。
将数据集迭代器中的默认endofsequence变量设置为false。
[性能]
tf.layers.conv2d
使用nn.biasadd将usebias = True提高2倍时的性能。更新iOS示例以使用CocoaPods,并移至tensorflow / examples / ios。
在
tf.summary
操作中添加family =属性以允许控制Tensorboard中用于组织摘要的选项卡名称。当配置GPU时,不要求--config = cuda,而是在configure脚本中请求时自动为GPU创建。
修正CPU / GPU多项式中小概率的不正确采样。
在会话中添加list_devices()API以列出群集中的设备。此外,此更改还会增强ListDevices主API以支持指定会话。
允许使用超参数化的可分卷积。
TensorForest多回归错误修复。
Framework现在支持armv7,现在cocoapods.org显示正确的页面。
为CocoaPods创建iOS框架的脚本。
TensorFlow的Android版本现在被推送到jcenter,以便更轻松地集成到应用程序中。
TensorFlow调试器(tfdbg):
修复了防止tfdbg在多GPU设置下运行的错误。
修复了阻止tfdbg使用的错误
tf.Session.make_callable
。
有什么问题请及时与小编联系;辛苦帮忙转发
原文:github.com/tensorflow/tensorflow/releases/tag/v1.5.0