python库--tensorflow

 

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

Tensort

张量

实例t

value创建一个常量tensor
dtype=None输出类型
shape=None返回tensor的形状
name=’Const’张量名
verify_shape=False是否保留输入数据的形状且不能被更改. True若shape与输入形状不一致则报错
t.devicestr表示tensor将被产生的设备名称
t.dtype 元素类型
t.graph 此tensor被哪个图所有
t.name 张量名
t.op 产生这个tensor作为输出的操作
t.shapeTensorShapetensor的形状
t.value_index 表示这个tensor在其操作结果中的索引
t.consumers()list 返回消耗这个tensor的操作列表
t.eval()ndarrayfeed_dict=None用于placeholder赋初始值{placeholder_object: value}
session=None用来计算此tensor的session
t.get_shape()TensorShape tensor的形状
t.set_shape()Noneshape更新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的时候才赋初始值

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

.nn.embedding_

lookup()

Tensorparams多维数据,
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_valueTensor 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=NoneTensorShape类型. 要是设置了, 那么初始的值会是这种形状
import_scope=None 
v.device 设备名称
v.dtype 数据类型
v.graph 存放变量的图
v.initial_valueTensor变量的初始值
v.initializer 变量的初始化器
v.name 变量名
v.op 产生这个variable作为输出的操作
v.assign()Variablevalue为变量指定一个新值(形状相同)
use_locking=False 
v.assign_add()Variabledelta, use_locking为这个变量加上一个值(形状相同)
v.assign_sub()Variabledelta, use_locking为这个变量减去一个值(形状相同)
v.count_up_to()Variablelimit上限值. 当Op运行时, 它试图将变量+1, 如果增加变量使其超过限制, 将会引发异常
v.eval() session=None在一个session里计算并返回变量值
v.get_shape()  返回变量的形状
v.initialized_value()Tensor 返回已经初始化变量的值
v.load()Variablevalue新的变量值. 把新值载入到变量里
session=None用来估算这个变量的Session
v.read_value()Tensor 返回这个变量的值
v.scatter_sub() sparse_delta 
use_locking=False 
v.set_shape()Variableshape改变变量形状
    
 .get_variable()Variablename新的或现有变量名(可用于变量复用)
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()VariablerefVeriable
  value跟ref同类型的Tensor
  validate_shape=NoneTrue: 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()Tensorname根据张量名返回tensor
g.is_feedable()booltensor判断tensor能否被feed
g.is_fetchable()booltensor_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返回指定维度最大值的位置
inputTensor
axis=None默认维度0
name=None操作名称
output_type=tf.int64tf.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=Faslea是否是稀疏矩阵
b_is_sparse=Fasleb是否是稀疏矩阵
    
随机值   
.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
shapetensor形状(某个分量可以是-1, 将将自动计算此值)
name=None操作的名称
.squeeze()   
.expand_dims()   
    

.reduce_max()

参考np.max

Tensorinput_tensor传入一个tensor或可转换为tensor的数据
axis=None(原reduction_indices)选择操作的维度, 默认操作全部数据
keep_dims=False是否保留原维度, 否则计算后维度降低
name=None张量名
.reduce_*Tensor参考.reduce_max参数参考np.*
    
基本神经网络组件
激活函数(输入输出维度一致)  
.nn.relu()Tensor计算修正线性单元
featurestensor
name=None操作的名称
.nn.relu6()   
.nn.crelu()   
.nn.elu()   
.nn.softsign()   
.nn.dropout()Tensor随机丢弃一部分神经元 (有助于防止过度拟合)
inputsTensor
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()Tensorsoftmax = tf.exp(logits) / tf.reduce_sum(tf.exp(logits), dim)
logitsTensor
dim=-1运算的维度, 默认最后一个维度
name=None操作名称
.nn.log_softmax()Tensorlogsoftmax = 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()

Tensorinputs张量输入
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)
value4DTensor, 需要’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_scopeVariable以及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 
    

 

    原文作者:spark
    原文地址: https://www.cnblogs.com/P--K/p/8134589.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞