『TensorFlow』0.x_&_1.x版本框架改动汇总

基本数值运算

  • 除法和模运算符(/,//,%)现在匹配 Python(flooring)语义。这也适用于 [tf.div] 和 [tf.mod]。要获取基于强制整数截断的行为,可以使用 [tf.truncatediv] 和 [tf.truncatemod]。
  • 现在推荐使用 [tf.divide()] 作为除法函数。[tf.div()] 将保留,但它的语义不会回应 Python 3 或 [from future] 机制
  • [tf.mul,tf.sub ] 和 [tf.neg] 不再使用,改为 [tf.multiply],[tf.subtract] 和 [tf.negative]。
  • tf.complex_abs已从Python界面中删除。 tf.abs支持复杂张量,现在应该使用 tf.abs。

tensorboard相关

  • 分别替换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名称范围。
  • 使用tf.summary.FileWriter和tf.summary.FileWriterCache替换tf.train.SummaryWriter和tf.train.SummaryWriterCache。

参数名修改

以下Python函数的参数在引用特定域时,全部改为使用 [axis]。目前仍将保持旧的关键字参数的兼容性,但计划在 1.0 最终版完成前删除。

  • 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

其他

其他暂时接触不多的API修改

  • TensorFlow / models已经被移动到一个单独的github库。
  • tf.reverse() 现在取轴的索引要反转。例如 [tf.reverse(a,[True,False,True])] 现在必须写为 [tf.reverse(a,[0,2])]。 [tf.reverse_v2()] 将保持到 TensorFlow 1.0 最终版。
  • [tf.pack] 和 [tf.unpack] 弃用,改为 [tf.stack] 和 [tf.unstack]。
  • [TensorArray.pack] 和 [TensorArray.unpack] 在弃用过程中,将来计划启用 [TensorArray.stack] 和 [TensorArray.unstack]。
  • tf.listdiff 已重命名为 tf.setdiff1d 以匹配 NumPy 命名。
  • tf.inv 已被重命名为 tf.reciprocal(组件的倒数),以避免与 np.inv 的混淆,后者是矩阵求逆。
  • tf.round 现在使用 banker 的舍入(round to even)语义来匹配 NumPy。
  • tf.split现在以相反的顺序并使用不同的关键字接受参数。我们现在将NumPy order 匹配为tf.split(value,num_or_size_splits,axis)。
  • tf.sparse_split现在采用相反顺序的参数,并使用不同的关键字。我们现在将NumPy order 匹配为tf.sparse_split(sp_input,num_split,axis)。注意:我们暂时要求 tf.sparse_split 需要关键字参数。
  • tf.concat现在以相反的顺序并使用不同的关键字接受参数。特别地,我们现在将NumPy order匹配为tf.concat(values,axis,name)。
  • 默认情况下,tf.image.decode_jpeg使用更快的DCT方法,牺牲一点保真度来提高速度。通过指定属性dct_method =‘INTEGER_ACCURATE‘,可以恢复到旧版行为。
  • Template.var_scope属性重命名为.variable_scope
  • SyncReplicasOptimizer已删除,SyncReplicasOptimizerV2重命名为SyncReplicasOptimizer。
  • tf.zeros_initializer()和tf.ones_initializer()现在返回一个必须用initializer参数调用的可调用值,在代码中用tf.zeros_initializer()替换tf.zeros_initializer。
  • SparseTensor.shape已重命名为SparseTensor.dense_shape。与SparseTensorValue.shape相同。
  • 从公共API中删除RegisterShape。使用C++形状函数注册。
  • Python API 中的 _ref dtypes 已经弃用。
  • 在C++ API(in tensorflow/cc)中,Input,Output等已经从tensorflow::ops命名空间移动到tensorflow。
  • 将{softmax,sparse_softmax,sigmoid} _cross_entropy_with_logits的arg order更改为(labels,predictions),并强制使用已命名的args。
时间: 2024-10-24 01:18:10

『TensorFlow』0.x_&_1.x版本框架改动汇总的相关文章

『TensorFlow』TFR数据预处理探究以及框架搭建

TFRecord文件书写效率对比(单线程和多线程对比) 准备工作, # Author : Hellcat # Time : 18-1-15 ''' import os os.environ["CUDA_VISIBLE_DEVICES"]="-1" ''' import os import glob import numpy as np import tensorflow as tf import matplotlib.pyplot as plt np.set_pri

『TensorFlow』常用函数实践笔记

查询列表: 『TensorFlow』函数查询列表_数值计算 『TensorFlow』函数查询列表_张量属性调整 『TensorFlow』函数查询列表_神经网络相关 经验之谈: 节点张量铺设好了之后,只要不加sess.run(),可以运行脚本检查张量节点是否匹配,无需传入实际数据流. 'conv1'指节点,'conv1:0'指节点输出的第一个张量. sess上下文环境中的函数调用即使不传入sess句柄,函数体内也存在于默认的sess环境中,可以直接sess.run(). image_holder

『TensorFlow』函数查询列表_神经网络相关

神经网络(Neural Network) 激活函数(Activation Functions) 操作 描述 tf.nn.relu(features, name=None) 整流函数:max(features, 0) tf.nn.relu6(features, name=None) 以6为阈值的整流函数:min(max(features, 0), 6) tf.nn.elu(features, name=None) elu函数,exp(features) - 1 if < 0,否则featuresE

『TensorFlow』迁移学习_他山之石,可以攻玉

目的: 使用google已经训练好的模型,将最后的全连接层修改为我们自己的全连接层,将原有的1000分类分类器修改为我们自己的5分类分类器,利用原有模型的特征提取能力实现我们自己数据对应模型的快速训练.实际中对于一个陌生的数据集,原有模型经过不高的迭代次数即可获得很好的准确率. 实战: 实机文件夹如下,两个压缩文件可以忽略: 花朵图片数据下载: 1 curl -O http://download.tensorflow.org/example_images/flower_photos.tgz 已经

『TensorFlow』以GAN为例的神经网络类范式

1.导入包: import os import time import math from glob import glob from PIL import Image import tensorflow as tf import numpy as np import ops # 层函数封装包 import utils # 其他辅助函数 2.简单的临时辅助函数: def conv_out_size_same(size, stride): # 对浮点数向上取整(大于f的最小整数) return i

『TensorFlow』读书笔记_降噪自编码器

『TensorFlow』降噪自编码器设计 之前学习过的代码,又敲了一遍,新的收获也还是有的,因为这次注释写的比较详尽,所以再次记录一下,具体的相关知识查阅之前写的文章即可(见上面链接). # Author : Hellcat # Time : 2017/12/6 import numpy as np import sklearn.preprocessing as prep import tensorflow as tf from tensorflow.examples.tutorials.mni

『TensorFlow』slim高级模块

『TensorFlow』徒手装高达_主机体框架开光版_Google自家AlexNet集成&slim高级模块学习 辅助函数 slim.arg_scope() slim.arg_scope可以定义一些函数的默认参数值,在scope内,我们重复用到这些函数时可以不用把所有参数都写一遍,注意它没有tf.variable_scope()划分图结构的功能, with slim.arg_scope([slim.conv2d, slim.fully_connected], trainable=True, act

『TensorFlow』分布式训练_其二_多GPU并行demo分析(待续)

建议比对『MXNet』第七弹_多GPU并行程序设计 models/tutorials/image/cifar10/cifer10_multi_gpu-train.py # Copyright 2015 The TensorFlow Authors. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file exc

『TensorFlow』简单的数学计算&amp;张量操作

tf.pow() tf.sqrt() tf.add() tf.add_n() tf.subtract()        :减法 tf.matmul()         :矩阵乘法 tf.reduce_sum()  :求和 tf.reduce_mean():求均值,直接给源码定义中的注释 For example: ```python # 'x' is [[1., 1.] # [2., 2.]] tf.reduce_mean(x) ==> 1.5 tf.reduce_mean(x, 0) ==>