TensorFlow 1.0 重大功能及改善

XLA(实验版):初始版本的XLA,针对TensorFlow图(graph)的专用编译器,面向CPU和GPU。
TensorFlow Debugger(tfdbg):命令行界面和API。
添加了新的python 3 docker图像。
使pip包兼容pypi。TensorFlow现在可以通过 [pip install tensorflow] 命令安装。
更改了几个python API的调用方式,使其更类似 NumPy。
新的(实验版)Java API。
Android:全新人物检测+跟踪演示实现——“Scalable Object Detection using DNN”(带有额外的YOLO对象检测器支持)。
Android:全新基于摄像头的图像风格转换演示,使用了神经网络艺术风格转换技术。
  重大 API 变动
  为了帮助您升级现有的TensorFlow
Python代码以匹配以下API更改,我们准备了一个转换脚本,详见:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility
1、TensorFlow / models已经被移动到一个单独的github库。
2、除法和模运算符(/,//,%)现在匹配Python(flooring)语义。这也适用于 [tf.div] 和 [tf.mod]。要获取基于强制整数截断的行为,可以使用 [tf.truncatediv] 和      [tf.truncatemod]。
3、现在推荐使用 [tf.divide()] 作为除法函数。[tf.div()] 将保留,但它的语义不会回应 Python 3 或 [from future] 机制。
4、tf.reverse() 现在取轴的索引要反转。例如 [tf.reverse(a,[True,False,True])] 现在必须写为
[tf.reverse(a,[0,2])]。 [tf.reverse_v2()] 将保持到       TensorFlow 1.0 最终版。
5、[tf.mul,tf.sub ] 和 [tf.neg] 不再使用,改为 [tf.multiply],[tf.subtract] 和 [tf.negative]。
6、[tf.pack] 和 [tf.unpack] 弃用,改为 [tf.stack] 和 [tf.unstack]。
7、[TensorArray.pack] 和 [TensorArray.unpack] 在弃用过程中,将来计划启用 [TensorArray.stack] 和 [TensorArray.unstack]。

以下Python函数的参数在引用特定域时,全部改为使用 [axis]。目前仍将保持旧的关键字参数的兼容性,但计划在 1.0 最终版完成前删除。
1、tf.listdiff已重命名为tf.setdiff1d以匹配NumPy命名。
2、tf.inv已被重命名为tf.reciprocal(组件的倒数),以避免与np.inv的混淆,后者是矩阵求逆。
3、tf.round现在使用banker的舍入(round to even)语义来匹配NumPy。
4、tf.split现在以相反的顺序并使用不同的关键字接受参数。我们现在将NumPy order 匹配为tf.split(value,num_or_size_splits,axis)。
5、tf.sparse_split现在采用相反顺序的参数,并使用不同的关键字。我们现在将NumPy order
匹配为tf.sparse_split(sp_input,num_split,axis)。注意:我们暂时要求   tf.sparse_split
需要关键字参数。
6、tf.concat现在以相反的顺序并使用不同的关键字接受参数。特别地,我们现在将NumPy order匹配为tf.concat(values,axis,name)。
7、默认情况下,tf.image.decode_jpeg使用更快的DCT方法,牺牲一点保真度来提高速度。通过指定属性dct_method ='INTEGER_ACCURATE',可以恢复到旧版行为。
8、tf.complex_abs已从Python界面中删除。 tf.abs支持复杂张量,现在应该使用 tf.abs。
9、Template.var_scope属性重命名为.variable_scope
10、SyncReplicasOptimizer已删除,SyncReplicasOptimizerV2重命名为SyncReplicasOptimizer。
11、tf.zeros_initializer()和tf.ones_initializer()现在返回一个必须用initializer参数调用的可调用值,在代码中用tf.zeros_initializer()替换tf.zeros_initializer。
12、SparseTensor.shape已重命名为SparseTensor.dense_shape。与SparseTensorValue.shape相同。
13、分别替换tf.scalar_summary,tf.histogram_summary,tf.audio_summary,tf.image_summary与tf.summary.scalar, tf.summary.histogram,         tf.summary.audio, tf.summary.image。新的摘要ops以名字而不是标签作为它们的第一个参数,意味着摘要ops现在尊重TensorFlow名称范围。
14、使用tf.summary.FileWriter和tf.summary.FileWriterCache替换tf.train.SummaryWriter和tf.train.SummaryWriterCache。
15、从公共API中删除RegisterShape。使用C++形状函数注册。
16、Python API 中的 _ref dtypes 已经弃用。
17、在C++ API(in tensorflow/cc)中,Input,Output等已经从tensorflow::ops命名空间移动到tensorflow。
18、将{softmax,sparse_softmax,sigmoid} _cross_entropy_with_logits的arg order更改为(labels,predictions),并强制使用已命名的args。
  

Bug 修改及其他变动
1、新的运算 op:parallel_stack。
2、为RecordReader/RecordWriter 增加了 tf io 压缩选项常量。
3、添加了 sparse_column_with_vocabulary_file,指定将字符串特征转换为ID的特征栏(feature column)。
4、添加了index_to_string_table,返回一个将索引映射到字符串的查找表。
5、添加string_to_index_table,返回一个将字符串与索引匹配的查找表。
6、添加ParallelForWithWorkerId函数。
7、添加string_to_index_table,返回一个将字符串与索引匹配的查找表。
8、支持从contrib / session_bundle中的v2中的检查点文件恢复会话。
9、添加了tf.contrib.image.rotate函数,进行任意大小角度旋转。
10、添加了tf.contrib.framework.filter_variables函数,过滤基于正则表达式的变量列表。
11、make_template()可以添加 custom_getter_ param。
112、添加了关于如何处理recursive_create_dir现有目录的注释。
13、添加了QR因式分解的操作。
14、Python API中的分割和mod现在使用flooring(Python)语义。
15、Android:预构建的libs现在每晚构建。
16、Android: TensorFlow 推理库 cmake/gradle build 现在归在 contrib/android/cmake下面
17、Android:更强大的会话初始化(Session initialization)代码。
18、Android:当调试模式激活时,TF stats现在直接显示在demo和日志中
19、Android:全新/更好的 README.md 文档
20、saved_model可用作tf.saved_model。
21、Empty op 现在是有状态的。
22、提高CPU上ASSIGN运算的scatter_update的速度。
23、更改reduce_join,使其处理reduction_indices的方式与其他reduce_ops相同。
24、将TensorForestEstimator移动到contrib/tensor_forest。
25、默认情况下启用编译器优化,并允许在configure中进行配置。
26、使指标权重 broadcasting 更加严格。
27、添加新的类似队列的StagingArea和新运算 ops:stages 和 unstage。

tensorflow1.0中的改善的更多相关文章

  1. Hadoop 2.0 中的资源管理框架 - YARN(Yet Another Resource Negotiator)

    1. Hadoop 2.0 中的资源管理 http://dongxicheng.org/mapreduce-nextgen/hadoop-1-and-2-resource-manage/ Hadoop ...

  2. Apache Spark 2.2.0 中文文档

    Apache Spark 2.2.0 中文文档 - 快速入门 | ApacheCN Geekhoo 关注 2017.09.20 13:55* 字数 2062 阅读 13评论 0喜欢 1 快速入门 使用 ...

  3. [译] C# 5.0 中的 Async 和 Await (整理中...)

    C# 5.0 中的 Async 和 Await [博主]反骨仔 [本文]http://www.cnblogs.com/liqingwen/p/6069062.html 伴随着 .NET 4.5 和 V ...

  4. Spring.Net在Mvc4.0中应用的说明

    案例Demo:http://yunpan.cn/cJ5aZrm7Uybi3 访问密码 414b Spring.Net在Mvc4.0中应用的说明 1.引用dll 2.修改Global文件 (Spring ...

  5. WCF学习之旅—WCF4.0中的简化配置功能(十五)

    六 WCF4.0中的简化配置功能 WCF4.0为了简化服务配置,提供了默认的终结点.绑定和服务行为.也就是说,在开发WCF服务程序的时候,即使我们不提供显示的 服务终结点,WCF框架也能为我们的服务提 ...

  6. 看看C# 6.0中那些语法糖都干了些什么(终结篇)

    终于写到终结篇了,整个人像在梦游一样,说完这一篇我得继续写我的js系列啦. 一:带索引的对象初始化器 还是按照江湖老规矩,先扒开看看到底是个什么玩意. 1 static void Main(strin ...

  7. 看看C# 6.0中那些语法糖都干了些什么(中篇)

    接着上篇继续扯,其实语法糖也不是什么坏事,第一个就是吃不吃随你,第二个就是最好要知道这些糖在底层都做了些什么,不过有一点 叫眼见为实,这样才能安心的使用,一口气上五楼,不费劲. 一:字符串嵌入值 我想 ...

  8. FineUI(开源版)v6.0中FState服务器端验证的实现原理

    前言 1. FineUI(开源版)是完整开源,最早发起于 2008-04,下载全部源代码:http://fineui.codeplex.com/ 2. 你可以通过捐赠作者来支持FineUI(开源版)的 ...

  9. AppBox v6.0中实现子页面和父页面的复杂交互

    前言 1. AppBox是捐赠开源(获取源代码至少需要捐赠作者 1 元钱),基于的 FineUI(开源版)则是完整开源,网址:http://fineui.codeplex.com/ 2. 你可以通过捐 ...

随机推荐

  1. Sping Cloud 微服务框架学习

    Spring Cloud官方中文站 https://springcloud.cc

  2. <2013 07 29> 游泳

    7月12日,在巴塞罗那的海滩学会用狗刨式游泳. 7月14日,在尼斯-戛纳海滩继续练习,稍式蛙泳仰泳. 7月28日,在慕尼黑某湖边吃烧烤,下湖练习. 7月29日,在慕尼黑奥林匹克游泳馆学会了仰泳,稍试自 ...

  3. Jmeter关联技术

    JMeter:关联步骤 <1>录制成功,回放失败了: <2>录制两个业务相同的脚本,比对差别,找到动态数据,AptDiff_1.6.zip工具 <3>找到相应请求: ...

  4. 异动K线--庄家破绽

    <异动K线--庄家破绽(连载)> http://bbs.tianya.cn/post-stocks-612892-1.shtml ————马后炮分析,没有什么前瞻性.纯技术是害死许多钻牛角 ...

  5. classmethod和staticmethod区别

    实例方法:在类中,定义的方法,这个方法的第一个参数默认是实例对象,一般习惯使用self 类方法:在类中,定义的方法,这个方法的第一个参数默认是类对象,一般习惯用cls表示,用@classmethod装 ...

  6. 47求1+2+3+...+n

    题目描述 求1+2+3+...+n,要求不能使用乘除法.for.while.if.else.switch.case等关键字及条件判断语句(A?B:C). 用递归 public class Soluti ...

  7. php异常处理类

    <?php header('content-type:text/html;charset=UTF-8'); // 创建email异常处理类 class emailException extend ...

  8. linux 快速清空文件内容

    Tomcat 的catelina.out 如果不配置按照日期产生会在一个文件中产生大量的输出日志. 清除日志如果直接删除catelina.out将无法输出日志.如果想输出日志只能重启Tomcat才会产 ...

  9. spring data jpa是什么?

    JPA是一个Java编程语言接口规范,Hibernate ORM是JPA规范的一个实现.   Spring Data JPA能干什么 在开始之前,先举个简单的例子. 一张表user有三个字段,id.n ...

  10. Linux Shell基础 Bash常见命令 echo命令

    概述 shell中常见的命令echo. 输出命令:echo echo命令的输出内容如果没有特殊含义,则将原内容输出到屏幕:如果输出内容有特殊含义,则输出打印其含义. 命令格式如下: [root@loc ...