笔记关键词检索?

在所有笔记中搜索你感兴趣的关键词!

tf.layers.dense()

dense:全连接层
相当于添加一个层,即初学的add_layer()函数

tf.layers.dense(
inputs,
units,
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)

inputs:该层的输入。
units: 输出的大小(维数),整数或long。
activation: 使用什么激活函数(神经网络的非线性层),默认为None,不使用激活函数。
use_bias: 使用bias为True(默认使用),不用bias改成False即可。
kernel_initializer:权重矩阵的初始化函数。 如果为None(默认值),则使用tf.get_variable使用的默认初始化程序初始化权重。
bias_initializer:bias的初始化函数。
kernel_regularizer:权重矩阵的正则函数。
bias_regularizer:bias的的正则函数。
activity_regularizer:输出的的正则函数。
kernel_constraint:由优化器更新后应用于内核的可选投影函数(例如,用于实现层权重的范数约束或值约束)。 该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状)。 在进行异步分布式培训时,使用约束是不安全的。
bias_constraint:由优化器更新后应用于偏差的可选投影函数。
trainable:Boolean,如果为True,还将变量添加到图集collectionGraphKeys.TRAINABLE_VARIABLES(参见tf.Variable)。
name:名字
reuse:Boolean,是否以同一名称重用前一层的权重。

............

tf.layers.conv2d()

功能:2D 卷积层
结构:

conv2d(inputs, filters, kernel_size,
strides=(1, 1),
padding='valid',
data_format='channels_last',
dilation_rate=(1, 1),
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=<tensorflow.python.ops.init_ops.Zeros object at 0x000002596A1FD898>,
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None)
参数:
inputs:Tensor 输入
filters:整数,表示输出空间的维数(即卷积过滤器的数量)
kernel_size:一个整数,或者包含了两个整数的元组/队列,表示卷积窗的高和宽。如果是一个整数,则宽高相等。
strides:一个整数,或者包含了两个整数的元组/队列,表示卷积的纵向和横向的步长。如果是一个整数,则横纵步长相等。另外, strides 不等于1 和 dilation_rate 不等于1 这两种情况不能同时存在。
padding:"valid" 或者 "same"(不区分大小写)。"valid" 表示不够卷积核大小的块就丢弃,"same"表示不够卷积核大小的块就补0。 "valid" 的输出形状为"valid" 的输出形状为其中, 为输入的 size(高或宽), 为 filter 的 size, 为 strides 的大小, 为向上取整。
data_format:channels_last 或者 channels_first,表示输入维度的排序。

dilation_rate:一个整数,或者包含了两个整数的元组/队列,表示使用扩张卷积时的扩张率。如果是一个整数,则所有方向的扩张率相等。另外, strides 不等于1 和 dilation_rate 不等于1 这两种情况不能同时存在。

activation:激活函数。如果是None则为线性函数。
use_bias:Boolean类型,表示是否使用偏差向量。
kernel_initializer:卷积核的初始化。
bias_initializer:偏差向量的初始化。如果是None,则使用默认的初始值。
kernel_regularizer:卷积核的正则项
bias_regularizer:偏差向量的正则项
activity_regularizer:输出的正则函数
kernel_constraint:映射函数,当核被Optimizer更新后应用到核上。Optimizer 用来实现对权重矩阵的范数约束或者值约束。映射函数必须将未被影射的变量作为输入,且一定输出映射后的变量(有相同的大小)。做异步的分布式训练时,使用约束可能是不安全的。
bias_constraint:映射函数,当偏差向量被Optimizer更新后应用到偏差向量上。
trainable:Boolean类型。
name:字符串,层的名字。
reuse:Boolean类型,表示是否可以重复使用具有相同名字的前一层的权重。
返回值:
输出 Tensor
异常抛出:
ValueError:if eager execution is enabled.

............

tf.get_collection()

............

tf.layers.conv2d_transpose()

功能:2D反卷积
定义:

tf.layers.conv2d_transpose(
inputs,
filters,
kernel_size,
strides=(1, 1),
padding='valid',
data_format='channels_last',
activation=None,
use_bias=True,
kernel_initializer=None,
bias_initializer=tf.zeros_initializer(),
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None
)
参数:

inputs:输入张量.
filters:整数,输出空间的维数(即卷积中的滤波器数).
kernel_size:一个元组或2个正整数的列表,指定过滤器的空间维度;可以是单个整数,以指定所有空间维度的相同值.
strides:一个元组或2个正整数的列表,指定卷积的步幅;可以是单个整数,以指定所有空间维度的相同值.
padding:一个"valid"或"same"(不区分大小写).
data_format:一个字符串,一个channels_last(默认)或channels_first;输入中维度的排序;channels_last对应于具有形状(batch, height, width, channels)的输入侧,而channels_first对应于具有形状(batch, channels, height, width)的输入侧.
activation:激活功能,将其设置None为保持线性激活.
use_bias:布尔值,表示该层是否使用偏差.
kernel_initializer:卷积内核的初始化程序.
bias_initializer:偏置向量的初始化器;如果为None,将使用默认初始值设定项.
kernel_regularizer:卷积内核的可选正则化程序.
bias_regularizer:偏置矢量的可选正则化程序.
activity_regularizer:输出的可选正则化函数.
kernel_constraint:由一个Optimizer更新后应用于内核的可选投影函数(例如,用于实现层权重的范数约束或值约束),该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状).在进行异步分布式培训时,使用约束是不安全的.
bias_constraint:由一个Optimizer更新后应用于偏差的可选投影函数.
trainable:布尔值,如果为True,还将变量添加到图产品集合GraphKeys.TRAINABLE_VARIABLES中.
name:字符串,图层的名称.
reuse:布尔值,是否以同一名称重用前一层的权重.

返回:
输出张量.
可能引发的异常:

ValueError:如果启用了eager执行.

............

tf.layers.batch_normalization()

功能:层的批量标准化
定义:

tf.layers.batch_normalization(
inputs,
axis=-1,
momentum=0.99,
epsilon=0.001,
center=True,
scale=True,
beta_initializer=tf.zeros_initializer(),
gamma_initializer=tf.ones_initializer(),
moving_mean_initializer=tf.zeros_initializer(),
moving_variance_initializer=tf.ones_initializer(),
beta_regularizer=None,
gamma_regularizer=None,
beta_constraint=None,
gamma_constraint=None,
training=False,
trainable=True,
name=None,
reuse=None,
renorm=False,
renorm_clipping=None,
renorm_momentum=0.99,
fused=None,
virtual_batch_size=None,
adjustment=None
)
参数:

inputs:张量输入.
axis:一个int,应该是规范化的轴(通常是特征轴);例如,在使用data_format="channels_first"的Convolution2D图层之后,在BatchNormalization中设置axis=1为.
momentum:移动平均线的动量.
epsilon:小浮点数添加到方差以避免除以零.
center:如果为True,则添加beta到规范化张量的偏移量;如果为False,则忽略beta.
scale:如果为True,则乘以gamma;如果为False,则不使用gamma.当下一层是线性的(例如,nn.relu)时,这可以被禁用,因为缩放可以由下一层完成.
beta_initializer:beta权重的初始化程序.
gamma_initializer:gamma权重的初始化程序.
moving_mean_initializer:移动平均值的初始化程序.
moving_variance_initializer:移动方差的初始化程序.
beta_regularizer:β权量的可选正规化器.
gamma_regularizer:gamma权重的可选正规化器.
beta_constraint:由Optimizer更新后应用于beta权重的可选投影函数(例如,用于实现层权重的范数约束或值约束).该函数必须将未投影的变量作为输入,并且必须返回投影变量(必须具有相同的形状).在进行异步分布式培训时,使用约束是不安全的.
gamma_constraint:由Optimizer更新后应用于gamma权量的可选投影功能.
training:可以是Python布尔值或TensorFlow布尔标量张量(例如,占位符);表示是否在训练模式下返回输出(使用当前批次的统计数据进行规范化)或在推理模式下(使用移动统计数据规范化);注意:确保正确设置此参数,否则您的训练/推理将无法正常工作.
trainable:Boolean,如果为True,也会将变量添加到图集合GraphKeys.TRAINABLE_VARIABLES中(请参阅tf.Variable).
name:String,图层的名称.
reuse:Boolean,是否以同一名称重用前一层的权重.
renorm:是否使用批量重整化(https://arxiv.org/abs/1702.03275).这会在培训期间增加额外的变量 对于此参数的任一值,推断都是相同的.
renorm_clipping:一个字典,可以将键'rmax','rmin','dmax'映射到用于剪辑重新校正的Tensors标量.校正(r, d)被用作corrected_value = normalized_value * r + d,以r限幅为[RMIN,RMAX],和d为[-dmax,DMAX];丢失的rmax,rmin,dmax分别设定为inf,0,inf.
renorm_momentum:动量被用于更新移动平均值和标准偏差,使用renorm;不同于momentum,这会影响训练,既不会太小(会增加噪音)也不会太大(这会产生过时的估计);请注意,momentum仍然应用于获取推理的均值和方差.
fused:如果为None或者True,则使用更快、更融合的实现;如果为False,请使用系统推荐的实现.
virtual_batch_size:一个int,默认情况下,virtual_batch_size是None,这表示在整个批次中执行批量规范化;如果virtual_batch_size不是None,则执行“Ghost Batch Normalization”,创建虚拟子批次,每个子批次分别进行规范化(具有共享的gamma,beta和移动统计数据);必须在执行期间划分实际批量大小.
adjustment:一个函数,它包含输入张量(动态)形状的Tensor,并返回一对(scale, bias)以应用于规范化值(在gamma和β之前),仅在训练期间.例如,如果axis == - 1,adjustment = lambda shape: ( tf.random_uniform(shape[-1:], 0.93, 1.07), tf.random_uniform(shape[-1:], -0.1, 0.1))则将规范化值向上或向下缩放7%,然后将结果移动到最多0.1(对每个特征进行独立缩放和偏移,但在所有示例中共享),最后应用gamma或beta;如果为None,不应用调整;如果指定了virtual_batch_size,则无法指定.

返回:
输出张量.
可能引发的异常:

ValueError:如果启用了急切(eager)执行.

............

tf.convert_to_tensor()

............

RNN相关API

............

np.hstack、np.vstack(水平与垂直合并)

............

Tensorflow常用相关方法

判断
相等:tf.equal()

小于等于:tf.less_equal()

条件赋值:tf.where()

取最大值:tf.maximum()
数学
加法:tf.add()

减法:tf.subtract()

平方:tf.square()

正态分布随机数:tf.random_normal()

截断正态分布随机数:tf.truncated_normal()

生成具有均匀分布的张量的初始化器:tf.random_uniform_initializer()

计算张量 x、y 对应元素差平方:tf.squared_difference()

张量赋值:tf.assign()
赋值运算
创建所有元素都为1的张量:tf.ones()

将tensor对象放入同一个集合:tf.add_to_collection()

将list中的数值相加:tf.add_n()
类型
数据类型转换:tf.cast()

将数据类型转换成可用的tensor类型:tf.convert_to_tensor()
控制
控制依赖:tf.control_dependencies

什么都不做:tf.no_op()
矩阵
矩阵常量:tf.constant()

矩阵乘法:tf.matmul()

矩阵点乘:tf.multply()

连接矩阵:tf.concat()

展平操作:tf.layers.flatten()

张量切割:tf.split()
统计
聚合均值:tf.reduce_mean()

求指定维度上的均值:tf.reduce_sum()

按维度计算最大值的下标:tf.argmax()
构图
创建变量层管理器:tf.variable_scope()

创建占位符号:tf.placeholder()
初始化
均匀分布初始化:tf.uniform_unit_scaling_initializer
训练
普通梯度下降优化:tf.train.AdamOptimizer()

梯度下降优化:tf.train.GradientDescentOptimizer()

Adadelta算法梯度下降优化:tf.train.AdadeltaOptimizer()

分类训练:tf.nn.softmax()

分类训练:tf.nn.softmax_cross_entropy_with_logits()

全连接层处理:tf.layers.dense()

Dropout:tf.layers.dropout()

测量离散分类任务中的概率误差:tf.nn.sparse_softmax_cross_entropy_with_logits

返回所有需要训练的变量:tf.trainable_variables()

梯度裁剪:tf.clip_by_global_norm()

梯度:tf.gradients()

定义超参:tf.contrib.training.HParams()

创建RMSProp算法优化器:tf.train.RMSPropOptimizer()

层的批量标准化:tf.layers.batch_normalization()

Relu激活函数:tf.nn.relu()

2D卷积:tf.layers.conv2d()

2D反卷积:tf.layers.conv2d_transpose()

从集合中取出变量:tf.get_collection()
CNN
计算张量的2-D卷积:tf.nn.conv2d()

添加偏值项:tf.nn.bias_add()

最大池化:tf.nn.max_pool()
RNN
选取一个张量里面索引对应的元素:tf.nn.embedding_lookup()

LSTM细胞:tf.nn.rnn_cell.BasicLSTMCell()

LSTM细胞:tf.nn.rnn_cell.LSTMCell()

GRU细胞:tf.nn.rnn_cell.GRUCell()

DropoutWrappert:tf.nn.rnn_cell.DropoutWrapper()

RNNCell合并:tf.nn.rnn_cell.MultiRNNCell()

创建RNNCell指定的递归神经网络:tf.nn.dynamic_rnn()
文件目录
文件读取:tf.io.read_file()

文件或目录是否存在:tf.gfile.Exists()

创建目录:tf.gfile.MakeDirs()
图像
通用图像文件解码:tf.image.decode_image()

JPG图像文件解码:tf.image.decode_jpeg()

PNG图像文件解码:tf.image.decode_png()

图像尺寸调整:tf.image.resize()

图像剪切:tf.image.resize_with_crop_or_pad()

图像等比例裁剪:tf.image.central_crop()

图像填充:tf.image.pad_to_bounding_box()

图像指定位置裁剪:tf.image.crop_to_bounding_box()

图像90度旋转:tf.image.rot90()

图像左右翻转:tf.image.flip_left_right()

图像上下翻转:tf.image.flip_up_down()

图像转置:tf.image.transpose()

图像数值类型转换:tf.image.convert_image_dtype()

将像从RGB转换为HSV:tf.image.rgb_to_hsv()

将像从HSV转换为RGB:tf.image.hsv_to_rgb()

将像从RGB转换为GRAY灰度:tf.image.rgb_to_grayscale()

调整图像亮度:tf.image.adjust_brightness()

调整图像色调:tf.image.adjust_hue()

调整图像颜色饱和度:tf.image.adjust_saturation()

调整图像对比度:tf.image.adjust_contrast()

调整图像Gamma系数:tf.image.adjust_gamma()

图像归一化:tf.image.per_image_standardization()

............

随机生成函数

............