tensorflow相关API总结

1.tf.nn.conv2d

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类型,运算名称。

2.tf.layers.conv2d

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类型,表示是否可以重复使用具有相同名字的前一层的权重。

3.tf.nn.max_pool

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类型,运算名称。

4.tf.layers.max_pooling2d

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类型,层的名字。

5.tf.nn.relu

tf.nn.relu(
    features,
    name=None
)

features(必选):tensor类型,以下类型float32, float64, int32, int64, uint8, int16, int8, uint16, half。

name:string类型,运算名称。

6.tf.nn.dropout

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类型,运算名称。

7.tf.nn.sigmoid_cross_entropy_with_logits

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类型,运算名称。

8.tf.truncated_normal

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类型,运算名称。

9.tf.constant

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 补全

10.tf.placeholder

tf.placeholder(
    dtype,
    shape=None,
    name=None
)

是一种占位符,在执行时候需要为其提供数据。

dtype(必选):dtype类型,占位符数据类型。

shape:1 维整型张量或 array类型,占位符维度。

name:string类型,占位符名称。

11.tf.nn.bias_add

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类型,运算名称。

12.tf.reduce_mean

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 等价,被弃用。

13.tf.squared_difference

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类型,运算名称。

你可能感兴趣的:(tensorflow)