TensorFlow常用函数(一)

tf.truncated_normal(截断正态分布函数)

1
2
3
4
5
6
7
8
truncated_normal(
shape,
mean=0.0,
stddev=1.0,
dtype=tf.float32,
seed=None,
name=None
)
  • 函数名称:tf.truncated_normal
  • 返回值:具有指定形态随机数组的tensor
  • 输入参数:
    • shape:生成的随机数组维度
    • stddev:正态分布的标准差
  • 函数按正态分布取随机数,当所取得的随机数在两倍标准差范围之外时,将其舍弃并重新取值。

tf.nn.conv2d(卷积)

1
2
3
4
5
6
7
8
9
conv2d(
input,
filter,
strides,
padding,
use_cudnn_on_gpu=True,
data_format='NHWC',
name=None
)
  • 函数名称:tf.nn.conv2d
  • 返回值:具有4个维度的tensor,[batch, in_height, in_width, in_channels],即常说的feature map。
  • 输入参数:
    • input:输入层,是具有4个维度的tensor,[batch, in_height, in_width, in_channels],其中batch表示输入图像的数量,in_height表示图像高度,in_width表示图像宽度,in_channels表示图像通道数
    • filter:滤波器(又称卷积核)的参数,同样是具有4个维度的tensor,[filter_height, filter_width, in_channels, out_channels],其中 in_channelsinput中的in_channels相同,out_channels为输出通道数,也是滤波器的个数。
    • strides: 卷积时的步长,一维向量,长度为4,4个元素分别对应input中的4个维度
    • padding:值只能是‘SAME’或‘VALTD’,决定了卷积时的padding方式
    • use_cudnn_on_gpu:可选参数,默认值为True,决定了是否使用GPU上的CUDNN,默认值为True
    • data_format:可选参数,默认为’NHWC’,决定了输入输出层中4个维度的排列顺序。可选值为‘NCHW’
    • name:可选参数,默认值为None
  • 这是tf中一个核心的函数,用于卷积操作。

tf.nn.max_pool(最大池化函数,或称采样函数)

1
2
3
4
5
6
7
8
max_pool(
value,
ksize,
strides,
padding,
data_format='NHWC',
name=None
)
  • 函数名称:tf.nn.max_pool
  • 返回值:具有4个维度的tensor,[batch, in_height, in_width, in_channels],即常说的feature map。
  • 输入参数:
    • value:输入层,是具有4个维度的tensor,[batch, in_height, in_width, in_channels],其中batch表示输入图像的数量,in_height表示图像高度,in_width表示图像宽度,in_channels表示图像通道数
    • ksize:池化窗口的大小,为一个长度为4的一维向量,一般是[1, height, width, 1],因为我们不想在batch和channels上做池化,所以这两个维度设为1
    • strides:步长,长度为4的一维向量,与卷积类似
    • padding:与卷积类似,值只能是‘SAME’或‘VALTD’
    • data_format:可选参数,默认为’NHWC’,决定了输入输出层中4个维度的排列顺序。可选值为‘NCHW’
      • name:可选参数,默认值为None
  • 这是最大池化函数,用在卷积操作之后,通过最大值采样降低feature map的维度。

tf.nn.relu(ReLU激活函数)

1
2
3
4
relu(
features,
name=None
)
  • 函数名称:tf.nn.relu
  • 返回值:max(features, 0)