2015 年 11 月份,谷歌宣布开源了深度学习框架 TensorFlow,一年之后,TensorFlow 就已经成长为了 GitHub 上最受欢迎的深度学习框架(参见机器之心文章《),尽管那时候 TensorFlow 的版本号还是 v0.11。现在,TensorFlow 的一岁生日之后两个月,TensorFlow 社区终于决定将 TensorFlow 的版本号升至 1.x,并也已于昨日发布了 TensorFlow 1.0.0-alpha,其新增了实验性的 Java API,并且提升了对 Android 的支持。 发布地址 官网:https://www.tensorflow.org/versions/r1.0/ GitHub:https://github.com/tensorflow/tensorflow/releases 主要特性和提升 TensorFlow Debugger (tfdbg):命令行接口和 API 增加新的 python 3 docker 镜像 使 pip 包兼容 pypi。现在可以通过 pip install tensorflow 命令来安装 TensorFlow 了 Android:人员检测+跟踪演示,是通过使用了深度神经网络的可扩展目标检测实现的 Android:预构建的 libs 现在每晚(nightly)构建 新的(实验性的)Jave API:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java API 的重要更改 TensorFlow/models 被移到了一个单独的 GitHub repository. 除法和取模运算符(/, //, %)现已匹配 Python(flooring)语义。这也适用于 tf.div 和 tf.mod。为了获取强制的基于整数截断的行为,你可以使用 tf.truncatediv 和 tf.truncatemod. tf.divide 现在是推荐的除法函数。tf.div 还将保留,但其语义将不会响应 Python 3 或 from future 机制. tf.reverse 现在是将轴的索引反转。例如,tf.reverse(a, [True, False, True]) 现在必须写成 tf.reverse(a, [0, 2])。tf.reverse_v2() 暂时保留,直到 1.0 final 版. tf.mul、tf.sub 和 tf.neg 被弃用,现在使用的是 tf.multiply、tf.subtract 和 tf.negative. tf.pack 和 tf.unpack 被启用,现在使用的是 tf.stack 和 tf.unstack. TensorArray.pack 和 TensorArray.unpack 将被启用,取而代之的是 TensorArray.stack 和 TensorArray.unstack. 以下 Python 函数有参数修改,以在引用特定维度时使用 axis. 我们目前基于兼容性的考量而保留了原来的关键词参数,但我们将在 1.0 final 版中移除它们。 tf.argmax: dimension 变成 axis tf.argmin: dimension 变成 axis tf.count_nonzero: reduction_indices 变成 axis tf.expand_dims: dim 变成 axis tf.reduce_all: reduction_indices 变成 axis tf.reduce_any: reduction_indices 变成 axis tf.reduce_join: reduction_indices 变成 axis tf.reduce_logsumexp: reduction_indices 变成 axis tf.reduce_max: reduction_indices 变成 axis tf.reduce_mean: reduction_indices 变成 axis tf.reduce_min: reduction_indices 变成 axis tf.reduce_prod: reduction_indices 变成 axis tf.reduce_sum: reduction_indices 变成 axis tf.reverse_sequence: batch_dim 变成 batch_axis, seq_dim 变成 seq_axis tf.sparse_concat: concat_dim 变成 axis tf.sparse_reduce_sum: reduction_axes 变成 axis tf.sparse_reduce_sum_sparse: reduction_axes 变成 axis tf.sparse_split: split_dim 变成 axis tf.listdiff 已被重命名为 tf.setdiff1d 以匹配 NumPy 命名. tf.inv 已被重命名为 tf.reciprocal(分量互逆)以避免和矩阵求逆的 np.inv 混淆 tf.round 现在使用了四舍六入五留双规则语义,以匹配 NumPy. tf.split 现在以相反的顺序取参数,j2直播,并使用了不同的关键词。特别地,我们现在将 NumPy 顺序匹配成了 tf.split(value, num_or_size_splits, axis). tf.sparse_split 现在以相反的顺序取参数,并使用了不同的关键词。特别地,我们现在将 NumPy 顺序匹配成了 tf.sparse_split(sp_input, num_split, axis). 注意:现在我们暂时让 tf.sparse_split 需要关键词参数. 启用 tf.concat 运算符,现在请暂时切换成 tf.concat_v2 . 在 Beta 版中,我们将更新 tf.concat 以匹配 tf.concat_v2 的参数顺序. tf.image.decode_jpeg 默认使用更快的 DCT 方法. 速度的提升牺牲了一点保真度。你可以通过特定属性 dct_method='INTEGER_ACCURATE'来恢复原来的行为. tf.complex_abs 已被从 Python 接口移除. 应该使用 tf.abs,它支持复数张量. 模板.var_scope 属性重命名为 .variable_scope SyncReplicasOptimizer 被移除,SyncReplicasOptimizerV2 重命名为 SyncReplicasOptimizer. (责任编辑:本港台直播) |