最新!TensorFlow 1.9.0正式版发布
2018年07月12日 由 浅浅 发表
471532
0
TensorFlow 1.9.0正式版发布了,下面是更新和改进的细节,更详细的信息请到网站查阅:github.com/tensorflow/tensorflow/releases/tag/v1.9.0
主要特点和改进
- 更新文档tf.keras:基于新Keras的入门和程序员指南页面。
- 为Keras 2.1.6 API更新tf.keras。
- 添加tf.keras.layers.CuDNNGRU和tf.keras.layers.CuDNNLSTM层。
- 将核心功能列的支持和损失添加到梯度boosted tree估计器中。
- Python接口用于TFLite优化转换器已扩展,命令行界面(toco,tflite_convert)再次包括在标准pip安装。
通过以下方式改进数据加载和处理文本:
- tf.decode_compressed
- tf.string_strip
- tf.strings.regex_full_match
为新的预制估算器添加了实验支持:
- tf.contrib.estimator.BaselineEstimator
- tf.contrib.estimator.RNNClassifier
- tf.contrib.estimator.RNNEstimator
distributions.Bijector API以新的API变化支持Bijectors。
突破性变化
- 如果你打开空变量范围,用variable_scope(tf.get_variable_scope(), ...)替换variable_scope('', ...)。
- 用于构建自定义操作的标头已从site-packages / external移至site-packages / tensorflow / include / external。
错误修复和其他更改
tfe.Network已弃用,请用tf.keras.Model。
分层变量名称在以下条件中已更改:
- 使用tf.keras.layers自定义变量范围。
- 在一个子类的tf.keras.Model使用tf.layers。
tf.data:
- Dataset.from_generator()现在接受一个args列表,以便创建嵌套的生成器。
- 当shuffle=Falsea或a seed通过时,Dataset.list_files()会产生确定的结果。
- tf.contrib.data.sample_from_datasets()并且tf.contrib.data.choose_from_datasets()可以更轻松地从多个数据集中抽样或确定性地选择元素。
- tf.contrib.data.make_csv_dataset() 现在支持引用字符串中的换行符,并删除两个不常用的参数。
- (C ++)DatasetBase::DebugString()现在为const。
- (C ++)DatasetBase::MakeIterator()已重命名为DatasetBase::MakeIteratorInternal()。
- 添加了(C ++)IteratorBase::Initialize()方法以支持在迭代器构造期间引发错误。
Eager Execution:
通过tf.GradientTape.stop_recording增加了暂停梯度计算的记录操作的功能。
更新了文档,介绍性笔记。
tf.keras:
- 将Keras代码移出_impl文件夹并删除API文件。
- tf.keras.Model.save_weights现在默认以TensorFlow格式保存。
- 启用数据集迭代器以传递给tf.keras.Modeltraining / eval方法。
TensorFlow调试器(tfdbg)
修复了TensorBoard调试器插件无法处理超过gRPC消息大小限制(4 MB)的总源文件大小的问题。
tf.contrib:
- tf.contrib.framework.zero_initializer支持ResourceVariable。
- 将“constrained_optimization”添加到tensorflow / contrib。
其他
- 添加GCS配置操作。
- 更改签名MakeIterator以启用传播错误状态。
- 两个Dirichlet分布的KL分歧。
- 对于超过EOF的某些读取,GcsFileSystem行为更一致。
- 更新tf.scan的基准以匹配eager和graph模式的范围。
- 为复杂dtypes修复tf.reduce_prod gradient了错误。
- 在变量中允许使用'.'(例如“hparams.parse('ab = 1.0')”),之前这会导致错误。这将对应于具有嵌入式’.’的属性名称。符号(例如'a.b'),只能间接访问(例如通过getattr和setattr)。要设置它,用户首先需要将变量显式添加到hparam对象(例如“hparams.add_hparam(name ='a.b',value = 0.0)”)。
- graph和eager模式下tf.scan的基准。
- 增加了对FFT,FFT2D,FFT3D,IFFT,IFFT2D和IFFT3D的complex128支持。
- 使ids独特nn.embedding_lookup_sparse,当批处理中存在重复的ID时,这有助于减少用于查找嵌入的RPC调用。
- 在boosted tree中支持指标列。
- 防止tf.gradients()通过整数张量反向传播。
- 将LinearOperator [1D,2D,3D] Circulant添加到tensorflow.linalg。
- Conv3D,Conv3DBackpropInput,Conv3DBackpropFilter现在可提供任意支持。
- 添加tf.train.Checkpoint用于读写基于对象的检查点。
- 添加了LinearOperatorKronecker,无密集实现克罗内克积。
- 允许LinearOperator进行广播。
- SavedModelBuilder现在将重复删除指向具有相同基本名称和相同内容的文件的资源名称。请注意,如果之前具有相同名称但内容不同的资源相互覆盖,则可能会导致新资源文件包含在SavedModels中。