python tensorflow库_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()

.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值