python库--tensorflow

方法 返回值类型 参数 说明
张量   
.constant()

Tensort

张量

实例t

value 创建一个常量tensor
dtype=None 输出类型
shape=None 返回tensor的形状
name='Const' 张量名
verify_shape=False 是否保留输入数据的形状且不能被更改. True若shape与输入形状不一致则报错
t.device str 表示tensor将被产生的设备名称
t.dtype   元素类型
t.graph   此tensor被哪个图所有
t.name   张量名
t.op   产生这个tensor作为输出的操作
t.shape TensorShape tensor的形状
t.value_index   表示这个tensor在其操作结果中的索引
t.consumers() list   返回消耗这个tensor的操作列表
t.eval() ndarray feed_dict=None 用于placeholder赋初始值{placeholder_object: value}
session=None 用来计算此tensor的session
t.get_shape() TensorShape   tensor的形状
t.set_shape() None shape 更新tensor的形状, verify_shape=False
       
.zeros() Tensor (shape, dtype=tf.float32, name=None) 按shape生成一个全0 tensor
.zeros_like() Tensor (tensor, dtype=None, name=None) 按tensor的shape创建一个新全0 tensor
.ones()   .ones_like() Tensor 参考上面两个, 创建全1 tensor
.fill() Tensor (dims, value, name=None) 值全为value, 形状为dims的tensor
.linspace() 1DTensor 创建包含num个元素, 且步长固定的tensor
start 起始值(包含)
stop 结束值(包含)
num 步长 = (stop - start) / (num-1)
name=None 张量名
.range() 1DTensor (start, limit, delta=1, name='range') 创建范围为[start, limit)步长为delta的tensor

.placeholder()

占位符(feed_dictation) run的时候才赋初始值

Tensor dtype 数据类型, 必须制定, 推荐float32(或1)
shape=None 指定返回张量的形状, None表示任意形状, 某一维为None则表示次维不做限制
name=None 张量名
       
       

.nn.embedding_

lookup()

Tensor params 多维数据,
ids 多维数据, 值为params的索引, 返回params的对应值
partition_strategy='mod'  
name=None 张量名
validate_indices=True  
max_norm=None  
       
 

.layers.dense()

全连接层

Tensor  
inputs 二维tensor
units 输出空间的维度(该层神经单元节点数)
activation及其以后参数同tf.layers.conv1d
       
变量   
.Variable()

Variable

变量

实例v

initial_value Tensor or Tensor_like. 变量的初始化值. 必须指定shape, 除非validate_shape=False
trainable=True 是否将该变量添加到图形集合`GraphKeys.TRAINABLE_VARIABLES`
collections=None 图表集合键的列表。新的变量被添加到这些集合中。默认为`[GraphKeys.GLOBAL_VARIABLES]`
validate_shape=True 是否允许变量初始化为未知形状的值
caching_device=None 描述设备的字符串, 表示哪个设备用来读取缓存. 默认是device
name=None 变量名
variable_def=None  
dtype=None 指定数据类型
expected_shape=None TensorShape类型. 要是设置了, 那么初始的值会是这种形状
import_scope=None  
v.device   设备名称
v.dtype   数据类型
v.graph   存放变量的图
v.initial_value Tensor 变量的初始值
v.initializer   变量的初始化器
v.name   变量名
v.op   产生这个variable作为输出的操作
v.assign() Variable value 为变量指定一个新值(形状相同)
use_locking=False  
v.assign_add() Variable delta, use_locking 为这个变量加上一个值(形状相同)
v.assign_sub() Variable delta, use_locking 为这个变量减去一个值(形状相同)
v.count_up_to() Variable limit 上限值. 当Op运行时, 它试图将变量+1, 如果增加变量使其超过限制, 将会引发异常
v.eval()   session=None 在一个session里计算并返回变量值
v.get_shape()     返回变量的形状
v.initialized_value() Tensor   返回已经初始化变量的值
v.load() Variable value 新的变量值. 把新值载入到变量里
session=None 用来估算这个变量的Session
v.read_value() Tensor   返回这个变量的值
v.scatter_sub()   sparse_delta  
use_locking=False  
v.set_shape() Variable shape 改变变量形状
       
 .get_variable() Variable name 新的或现有变量名(可用于变量复用)
shape=None 新变量或现有变量的形状
dtype=None 新变量或现有变量的类型
initializer=None 变量的初始值设定项
regularizer=None  
trainable=True 是否将变量添加到图形集合
collections=None 图形集合键列表
caching_device=None  
partitioner=None  
validate_shape=True 是否允许变量初始化为未知形状的值
use_resource=None  
custom_getter=None  
       
    将value赋给ref来更新ref
.assign() Variable ref Veriable
    value 跟ref同类型的Tensor
    validate_shape=None True: value需和ref形状相同(默认)
    False: ref将对value的形状进行引用
    use_locking=None  
    name=None 操作的名称
       
.global_variables()     返回全局变量
.local_variables()     返回局部变量
.variables_ initializer()   var_list 待初始化变量列表
name='init' 操作的名称
.global_variables_ initializer() Op   (替换tf.initialize_all_variables()的新方法)返回一个初始化所有全局变量的操作. 类似variables_initializers(global_variables())
.local_variables_ initializer() Op   返回一个初始化所有局部变量的操作
       
Graph(图)   
.get_default_graph()     返回默认图
.Graph() 实例g   创建一个图
g.building_function      
g.finalized     若此图被终止了则返回True
g.graph_def_versions      
g.seed     此图的图层随机种子
g.version      
g.add_to_collection()    
name  
value  
g.as_default() with...:   将此图设为默认, 其包含的张量将在此图中
g.device()   matmul_on_gpu 参见tf.device
g.finalize()     结束这个Graph, 使得它只读
g.get_all_collection_ key() list   返回Graph中的collection列表
g.get_operation_ by_name()   name 根据操作名返回操作
g.get_operations() list   返回图中操作列表
g.get_tensor_by_ name() Tensor name 根据张量名返回tensor
g.is_feedable() bool tensor 判断tensor能否被feed
g.is_fetchable() bool tensor_or_op 判断tensor或op能否被取到
g.name_scope()     参考tf.name_scope()
       
Session
.InteractiveSession() 实例s 创建一个新的session并设为默认
target='' 连接执行引擎, 默认in-process
graph=None 要计算的graph
config=None  
.Session() 实例s 创建一个新的session, 包含了操作对象执行的环境
target='' 连接执行引擎, 默认in-process
graph=None 要计算的graph
config=None  
s.graph     "投放"到session中的图
s.graph_def     图的描述
s.sess_str      
s.run()   运行操作计算tensor
fetches 图中的一个元素, 或元素列表. 或一个字典, 返回也将是字典, key不变, 值变为运算后的值
feed_dict=None 用于placeholder赋初始值
options=None  
run_metadata=None  
s.close()     关闭这个session
s.as_default() with...:   将此对象设为默认的session
       
优化器Optimizer(tf.train)
.Optimizer()     优化器类的基类(基本不用)
       
.GradientDescent Optimizer() Op 创建一个梯度下降算法的优化器
learning_rate 要是用的学习率
use_locking=False  
name='GradientDescent' 操作的名称
Op.compute_ gradients()    
loss 待减小的值
var_list=None 默认GraphKey.TRAINABLE_VARIABLES
gate_gradients= GATE_OP  
aggregation_method=N  
colocate_gradients_with_ ops=False  
grad_loss=None  
       
.AdadeltaOptimizer   实现了Adadelta算法的优化器, 可以算是Adagrad算法的改进版
learning_rate=0.001 学习率
rho=0.95 衰减率
epsilon=1e-08  
use_locking=False  
name='Adadelta' 操作的名称
       
.AdagradOptimizer   实现了Adagrad算法的优化器
learning_rate 学习率
initial_accumulator_ value=0.1  
use_locking=False  
name='Adagrad' 操作的名称
       
.Momentum Optimizer()      
       
.AdamOptimizer()      
       
数学函数(Math)点击跳转到官方API(有墙)
       
.argmax() Tensor 返回指定维度最大值的位置
input Tensor
axis=None 默认维度0
name=None 操作名称
output_type=tf.int64 tf.int32或tf.int64
.argmin() Tensor 同.argmax但作用相反
       
.matmul() Tensor 计算矩阵的积  
a,b 需要计算的两个矩阵
transpose_a=False 是否将a计算前进行转置
transpose_b=False 是否将b计算前进行转置
adjoint_a=False 是否将a计算前进行共轭转置
adjoint_b=False 是否将b计算前进行共轭转置
a_is_sparse=Fasle a是否是稀疏矩阵
b_is_sparse=Fasle b是否是稀疏矩阵
       
随机值   
.random_normal() Tensor 返回一个指定形状,被随机正态分布值填充的tensor
shape 指定返回张量的形状
mean=0.0 正态分布的均值
stddev=1.0 正态分布的标准差
dtype=tf.float32 输出类型: float32, float64, int32或int64
seed=None 随机数种子
name=None 张量名
.truncated_normal() Tensor 返回一个指定形状,被截断正态分布(truncated normal distribution)值填充的tensor(参数同上)
.random_unifrom()

Tensor

服从均值分布的随机数, 区间为[minval, maxval)
shape 指定返回张量的形状
minval=0 随机值范围的下界(默认[0, 1))
maxval=None 随机值范围的上界(int则必须指定此值)
dtype, seed, name 同上
.random_shuffle()  Tensor  在第一个维度随机打乱顺序(可在随机梯度下降的时候用)
value 待打乱的tensor
seed, name 同上
       
形状相关操作
.shape() Tensor 返回输入Tensor的形状
input 输入的Tensor
name=None 操作的名称
out_type=tf.int32 输出数据的数据类型
.shape_n()      
.size()   返回输入Tensor的元素数量(参数同tf.shape)
.rank()   (input, name=None)返回tensor的维度数
.reshape() Tensor 改变一个tensor的形状
tensor 输入tensor
shape tensor形状(某个分量可以是-1, 将将自动计算此值)
name=None 操作的名称
.squeeze()      
.expand_dims()      
       

.reduce_max()

参考np.max

Tensor input_tensor 传入一个tensor或可转换为tensor的数据
axis=None(原reduction_indices) 选择操作的维度, 默认操作全部数据
keep_dims=False 是否保留原维度, 否则计算后维度降低
name=None 张量名
.reduce_* Tensor 参考.reduce_max参数 参考np.*
       
基本神经网络组件
激活函数(输入输出维度一致)    
.nn.relu() Tensor 计算修正线性单元
features tensor
name=None 操作的名称
.nn.relu6()      
.nn.crelu()      
.nn.elu()      
.nn.softsign()      
.nn.dropout() Tensor 随机丢弃一部分神经元 (有助于防止过度拟合)
inputs Tensor
rate=0.5 丢包率
noise_shape=None  
seed=None 随机种子
training=False  
name=None 操作名称
.nn.bias_add()      
.sigmoid()      
.tanh()      
       
分类      
.nn.sigmoid_cross_ entropy_with_logits()      
.nn.softmax() Tensor softmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), dim)
logits Tensor
dim=-1 运算的维度, 默认最后一个维度
name=None 操作名称
.nn.log_softmax() Tensor logsoftmax = logits - log(reduce_sum(exp(logits), dim))
参数同.nn.softmax()  
.nn.softmax_cross_ entropy_with_logits() Tensor 计算交叉熵(禁止使用位置参数)(损失函数, 越小模型越优)
labels=None 有效概率分布
logits=None 估计概率分布
dim=-1 维度, 默认最后一个维度
name=None 操作名称
.nn.sparse_softmax_ cross_entropy_with_ logits()      
.nn.weighted_cross_ entropy_with_logits()      
       
各种卷积网络
基本卷积操作      

.layers.conv1d()

Tensor inputs 张量输入
filters 整数, 输出空间的维数(即, 卷积核的数量)
kernel_size 一个整数或一个整数的元组/列表, 指定1D卷积窗的长度
strides=1 一个整数或一个整数的元组/列表, 指定卷积的步幅长度
padding='valid' 'valid'或'same'不区分大小写
data_format= 'channels_last'  
dilation_rate=1  
activation=None 激活函数, 默认线性激活
ues_bias=True 是否使用偏置
kernel_initializer=None 卷积核初始化
bias_initializer= tf.zeros_initializer() 偏置初始化, 默认初始化为0
kernel_regularizer=None 卷积核化的正则化
bias_regularizer=None 偏置项的正则化
activity_regularizer=None 输出的正则化函数
kernel_constraint=None  
bias_constraint=None  
trainable=True 该层的参数是否参与训练, True则变量加入到图集合中
name=None 该层的名称
reuse=None 是否重复使用参数
       

.layers.conv2d()

Tensor 二维卷积
参数同.layers.conv1d, 只列出不同
kernel_size 一个整数或2个整数的元组/列表, 指定2D卷积窗口的高度和宽度. 一个整数表示高=宽
strides 一个整数或2个整数的元组/列表, 指定沿高度和宽度的步幅长度
dilation_rate  
       
.nn.conv2d() Tensor 二维卷积
input 输入
filter [滤波器高,滤波器宽,深度(同输入),滤波器个数(输出的深度 )]
strides 滑动步长, 一般为[1, x_strides, y_strides, 1]
padding 'SAME'会有0填充, 使步长为1时保持输入输出尺寸不变, 而'VALID'则采取丢弃
use_cudnn_on_gpu=N  
data_format=None 指明输入数据和输出数据的格式. 'NHWC': 数据存储格式为[batch, in_height, in_width, in_channels]; 'NCHW': 数据存储格式为[batch, in_channels, in_height, in_width]
name=None 操作的名称
       
.nn.atrous_conv2d() Tensor 空洞卷积(没有stride参数, 因为被固定为了1)
value 4DTensor, 需要'NHWC'格式
filters [滤波器高,滤波器宽,深度(同输入),滤波器个数(输出的深度 )]
rate 插入(rate-1)数量的'0'
padding 'VALID'或'SAME'. 'VALID'返回:[batch, height-2*(filter_width-1), width-2*(filter_height-1), out_channels]的Tensor; 'SAME'返回:[batch, height, width, out_channels]的Tensore
name=None 操作的名称
       
池化操作(Pooling)     
.nn.avg_pool() Tensor 平均
value [batch, height, width, channels]
ksize 滤波器形状, 一般二维图像为[1,高,宽,1]
strides 步长, 一般为[1, x_strides, y_strides, 1]
padding 'VALID'或'SAME'
date_format='NHWC' 'NHWC'或'NCHW'
name=None 操作名
.nn.max_pool()      
.nn.max_pool_with_ argmax()      
.nn.avg_pool3d()      
.nn.max_pool3d()      
.nn.fractional_avg_ pool()      
.nn.fractional_max_ pool()      
.nn.pool()      
       
.device() with...: '/cpu:0' 指定运算设备为CPU, 即使多个CPU也不区分.
'/gpu:n' 多个GPU的名称是不同的, 第一个为'/gpu:0'
       
.name_scope() with...: name 在其下使用Variable, 变量名(V_n)前会被加上'name/...'且相同V_n会自动添加后缀加以区分, 使用get_variable, V_n不会变化, 且出现相同V_n会报错
default_name=None 如果`name`参数是`None`,则使用默认名称
values=None  
.variable_scope() with...as sc:

name_or_scope Variable以及get_variable变量名(V_n)前面都会被加上'name/...'但只有Variable的V_n会自动加后缀区分, 而在get_variable重复V_n前面加上sc.reuse_variables()可实现变量复用(指向同一变量)不加则报错
default_name=None 如果`name_or_scope`参数是`None`,则使用默认名称
values=None  
initializer=None 此范围内变量的默认初始值设定项
regularizer=None 此范围内的变量的默认regularizer
caching_device=None 此范围内的变量的默认缓存设备
partitioner=None 此范围内变量的默认分区程序
custom_getter=None 这个范围内的变量的默认自定义getter
reuse=None  
dtype=None 在此作用域中创建的变量类型
use_resource=None  
       
原文地址:https://www.cnblogs.com/P--K/p/8134589.html