tf.nn.conv2d(
input,
filter,
strides,
padding,
use_cudnn_on_gpu=True,
data_format='NHWC',
name=None
)
input(必选):tensor类型,是一个 4 维的 tensor,即 [ batch, in_height, in_width, in_channels ](若 input 是图像,[ 训练时一个batch 的图片数量, 图片高度, 图片宽度, 图像通道数 ])。
filter(必选) :tensor类型,是一个 4 维的 tensor,即 [ filter_height, filter_width, in_channels, out_channels ](若 input 是图像,[ 卷积核的高度,卷积核的宽度,图像通道数(输入图像通道数),卷积核个数(输出图像通道数) ]),filter 的 in_channels 必须和 input 的in_channels 相等。
strides(必选):list类型,长度为 4 的 list,卷积时候在 input 上每一维的步长,一般 strides[0] = strides[3] = 1。
padding(必选):string类型,只能为 " VALID "," SAME " 中之一,这个值决定了不同的卷积方式。VALID 图像不做边界扩展;SAME:图像做边界扩展,进行0填充。
use_cudnn_on_gpu:bool类型,是否使用 cudnn 加速,默认为 true。
data_format:string类型。
name:string类型,运算名称。
tf.layers.conv2d功能与tf.nn.conv2d类似。
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=,
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
trainable=True,
name=None,
reuse=None)
input(必选):tensor类型,是一个 4 维的 tensor,即 [ batch, in_height, in_width, in_channels ](若 input 是图像,[ 训练时一个batch 的图片数量, 图片高度, 图片宽度, 图像通道数 ])。
filters(必选):整数,表示输出空间的维数(即卷积核的数量)。
kernel_size(必选):一个整数,或者包含了两个整数的元组/队列,表示卷积模板的高和宽。如果是一个整数,则宽高相等。
strides:一个整数,或者包含了两个整数的元组/队列,表示卷积的纵向和横向的步长。如果是一个整数,则横纵步长相等。另外,strides不等于1 和dilation_rate不等于1 这两种情况不能同时存在。
padding:string类型,只能为 " valid "," same " 中之一,不区分大小写,这个值决定了不同的卷积方式。valid图像不做边界扩 展;same:图像做边界扩展,进行0填充。
data_format:channels_last 或者 channels_first,表示输入维度的排序。
dilation_rate:一个整数,或者包含了两个整数的元组/队列,表示使用扩张卷积时的扩张率。如果是一个整数,则所有方向的扩张率相等。另外,strides 不等于1 和 dilation_rate 不等于1 这两种情况不能同时存在。
activation:激活函数。如果是None则为线性函数。
use_bias:bool型,表示是否使用偏差向量。
kernel_initializer:卷积核的初始化。
bias_initializer:偏差向量的初始化。如果是None
,则使用默认的初始值。
kernel_regularizer:卷积核的正则项。
bias_regularizer:偏差向量的正则项。
activity_regularizer:输出的正则函数。
kernel_constraint:映射函数,当核被 Optimizer 更新后应用到核上。Optimizer 用来实现对权重矩阵的范数约束或者值约束。映射函数必须将未被影射的变量作为输入,且一定输出映射后的变量(有相同的大小)。做异步的分布式训练时,使用约束可能是不安全的。
bias_constraint:映射函数,当偏差向量被 Optimizer 更新后应用到偏差向量上。
trainable:bool类型。
name:string类型,层的名字。
reuse:bool类型,表示是否可以重复使用具有相同名字的前一层的权重。
tf.nn.max_pool(
value,
ksize,
strides,
padding,
data_format='NHWC',
name=None
)
value(必选):tensor类型,4 维的张量,即 [ batch, height, width, channels ],数据类型为 tf.float32。
ksize(必选):list类型,池化窗口的大小,长度为 4 的 list,一般是 [1, height, width, 1],因为不在 batch 和 channels 上做池化,所以第一个和最后一个维度为 1。
strides(必选):list类型,池化窗口在每一个维度上的步长,一般 strides[0] = strides[3] = 1。
padding(必选):string类型,只能为 " VALID "," SAME " 中之一,这个值决定了不同的池化方式。VALID 不对图像做边界扩展;SAME:对图像进行边界扩展,0填充。
data_format:只能是 " NHWC ", " NCHW ",默认" NHWC "。
name:string类型,运算名称。
tf.layers.max_pooling2d功能与tf.nn.max_pool类似。
tf.layers.max_pooling2d(
inputs,
pool_size,
strides,
padding='valid',
data_format='channels_last',
name=None
)
inputs(必选):tensor类型,是一个 4 维的 tensor,即 [ batch, in_height, in_width, in_channels ](若 input 是图像,[ 训练时一个batch 的图片数量, 图片高度, 图片宽度, 图像通道数 ])。
pool_size(必选):一个整数,或者包含了两个整数的元组/队列,表示池化模板的高和宽。如果是一个整数,则宽高相等。
strides:一个整数,或者包含了两个整数的元组/队列,表示卷积的纵向和横向的步长。如果是一个整数,则横纵步长相等。另外,strides不等于1 和dilation_rate不等于1 这两种情况不能同时存在。
padding:string类型,只能为 " valid "," same " 中之一,不区分大小写,这个值决定了不同的卷积方式。valid图像不做边界扩展;same:图像做边界扩展,进行0填充。
data_format:channels_last 或者 channels_first,表示输入维度的排序。
name:string类型,层的名字。
tf.nn.relu(
features,
name=None
)
features(必选):tensor类型,以下类型float32, float64, int32, int64, uint8, int16, int8, uint16, half。
name:string类型,运算名称。
tf.nn.dropout(
x,
keep_prob,
noise_shape=None,
seed=None,
name=None
)
x(必选):tensor类型,输出元素是 x 中的元素以 keep_prob 概率除以 keep_prob,否则为 0。
keep_prop(必选):float类型,dropout 的概率,一般是占位符。
noise_shape:tensor类型,默认情况下,每个元素是否 dropout 是相互独立。如果指定 noise_shape,若 noise_shape[i] == shape(x)[i],该维度的元素是否 dropout 是相互独立,若 noise_shape[i] != shape(x)[i] 该维度元素是否 dropout 不相互独立,要么一起 dropout 要么一起保留。
seed:如果指定该值,每次 dropout 结果相同。
name:string类型,运算名称。
tf.nn.sigmoid_cross_entropy_with_logits(
_sentinel=None,
labels=None,
logits=None,
name=None
)
先对 logits 通过 sigmoid 计算,再计算交叉熵。
_sentinel:类型None,没有使用的参数。
labels:tensor类型,type,shape与logits相同。
logits:tensor类型,type 是 float32 或者 float64。
name:string类型,运算名称。
tf.nn.truncated_normal(
shape,
mean=0.0,
stddev=1.0,
dtype=tf.float32,
seed=None,
name=None
)
产生截断正态分布随机数,取值范围为 [ mean - 2 * stddev, mean + 2 * stddev ]
。
shape(必选):1 维整形张量或 array,输出张量的维度。
mean:0 维张量或数值,均值。
stddev:0 维张量或数值,标准差。
dtype:dtye类型,输出类型。
seed:数值,随机种子,若 seed 赋值,每次产生相同随机数。
name:string类型,运算名称。
tf.constant(
value,
dtype=None,
shape=None,
name='Const',
verify_shape=False
)
根据 value 的值生成一个 shape 维度的常量张量。
value(必选):常量数值或者 list类型,输出张量的值。
dtype:dtype类型,输出张量元素类型。
shape:1 维整形张量或 array类型,输出张量的维度。
name:string类型,张量名称。
verify_shape:bool类型,检测 shape 是否和 value 的 shape 一致,若为 Fasle,不一致时,会用最后一个元素将 shape 补全
tf.placeholder(
dtype,
shape=None,
name=None
)
是一种占位符,在执行时候需要为其提供数据。
dtype(必选):dtype类型,占位符数据类型。
shape:1 维整型张量或 array类型,占位符维度。
name:string类型,占位符名称。
tf.nn.bias_add(
value,
bias,
data_format=None,
name=None
)
将偏差项 bias 加到 value 上面,可以看做是 tf.add 的一个特例,其中 bias 必须是一维的,并且维度和 value 的最后一维相同,数据类型必须和 value 相同。
value(必选):张量,数据类型为 float, double, int64, int32, uint8, int16, int8, complex64, or complex128。
bias:1 维张量,维度必须和 value 最后一维维度相等。
data_format:string类型,数据格式,支持 ' NHWC ' 和 ' NCHW '。
name:string类型,运算名称。
tf.reduce_mean(
input_tensor,
axis=None,
keep_dims=False,
name=None,
reduction_indices=None
)
计算张量 input_tensor 平均值。
input_tensor(必选):张量,输入待求平均值的张量。
axis:None、0、1,None:全局求平均值;0:求每一列平均值;1:求每一行平均值。
keep_dims:bool类型,保留原来的维度(例如不会从二维矩阵降为一维向量)。
name:string类型,运算名称。
reduction_indices:None,和 axis 等价,被弃用。
tf.squared_difference(
x,
y,
name=None
)
计算张量 x、y 对应元素差平方。
x(必选):张量,是 half, float32, float64, int32, int64, complex64, complex128 其中一种类型。
y(必选):张量,是 half, float32, float64, int32, int64, complex64, complex128 其中一种类型。
name:string类型,运算名称。
14.tf.square
tf.square(
x,
name=None
)
计算张量对应元素平方。
x(必选):张量,是 half, float32, float64, int32, int64, complex64, complex128 其中一种类型。
name:string类型,运算名称。