Tensorflow学习-基本函数

tf.truncated_normal函数 

功能:从截断的正态分布中输出随机值。

tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)

  • shape:生成张量的维度

  • mean:均值

  • stddev:标准差
  • dtype: 输出的类型。
  • seed: 一个整数,当设置之后,每次生成的随机数都一样。
  • name: 操作的名字。

只保留[mean-2*stddev,mean+2*stddev]范围内的随机数,和一般的正太分布的产生随机数据比起来,这个函数产生的随机数与均值的差距不会超过两倍的标准差

 

tf.Variable函数

功能:定义图变量

tf.Variable.init(initial_value, trainable=True, collections=None, validate_shape=True, name=None)

只有第一个参数是必须的

参数名称 参数类型 含义
initial_value 所有可以转换为Tensor的类型 变量的初始值
trainable bool 如果为True,会把它加入到GraphKeys.TRAINABLE_VARIABLES,才能对它使用Optimizer
collections list 指定该图变量的类型、默认为[GraphKeys.GLOBAL_VARIABLES]
validate_shape bool 如果为False,则不进行类型和维度检查
name string 变量的名称,如果没有指定则系统会自动分配一个唯一的值

tf.nn.conv2d函数

功能:二维卷积函数

tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)

  • input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, in_channels]这样的shape,具体含义是[训练时一个batch的图片数量, 图片高度, 图片宽度, 图像通道数],注意这是一个4维的Tensor,要求类型为float32和float64其中之一。

  • filter:相当于CNN中的卷积核,它要求是一个Tensor,具有[filter_height, filter_width, in_channels, out_channels]这样的shape,具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],要求类型与参数input相同,有一个地方需要注意,第三维in_channels,就是参数input的第四维

  • strides:卷积时在图像每一维的步长,这是一个一维的向量,长度4 [1,1,1,1]通常只修改第二第三个参数,代表横向和纵向上移动的补偿

  • padding:string类型的量,只能是"SAME","VALID"其中之一,这个值决定了不同的卷积方式。使用SAME边缘将会补0 步长为1的话卷积后图像尺寸不变。

  • use_cudnn_on_gpu:bool类型,是否使用cudnn加速,默认为true

结果返回一个Tensor,这个输出,就是我们常说的feature map,shape仍然是[batch, height, width, channels]这种形式

 

tf.placeholder函数

功能:此函数可以理解为形参,用于定义过程,在执行的时候再赋具体的值

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

  • dtype:数据类型。常用的是tf.float32,tf.float64等数值类型

  • shape:数据形状。默认是None,就是一维值,也可以是多维,比如[2,3], [None, 3]表示列是3,行不定

  • name:名称。

 

tf.nn.max_pool_2*2函数 

功能:最大池化

tf.nn.max_pool(value, ksize, strides, padding, name=None)

  • value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是feature map,依然是[batch, height, width, channels]这样的shape

  • ksize:池化窗口的大小,取一个四维向量,一般是[1, height, width, 1],因为我们不想在batch和channels上做池化,所以这两个维度设为了1

  • strides:和卷积类似,窗口在每一个维度上滑动的步长,一般也是[1, stride,stride, 1]

  • padding:和卷积类似,可以取'VALID' 或者'SAME'

返回一个Tensor,类型不变,shape仍然是[batch, height, width, channels]这种形式

tf.constant函数

功能:生成一个给定值的常量

tf.constant(value, dtype=None, shape=None, name='Const', verify_shape=False)

  • value:初始值,必填,必须是一个张量(1或[1,2,3]或[[1,2,3],[2,2,3]]或......)参数可以是一个常量值,或者一个dtype类型的值列表。如果value为一个列表,那么这个列表的长度必须小于或等于shape参数所指定的大小(如果设置shape的话)。当列表长度小于shape参数所指定的大小时,缺少的列表项会被填充为列表的最后一个参数。

  • dtype:数据类型,选填,默认为value的数据类型,传入参数为tensorflow下的枚举值(float32,float64.......)

  • shape:数据形状,选填,默认为value的shape,设置时不得比value小,可以比value阶数、维度更高,超过部分按value提供最后一个数字填充

  • name:常量名,选填,默认值不重复,根据创建顺序为(Const,Const_1,Const_2.......)

  • verify_shape:是否验证value的shape和指定shape相符,若设为True则进行验证,不相符时会抛出异常

tf.nn.relu函数

功能:relu激活函数

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

  • features:特征图
  • name:常量名,选填

tf.matmul()函数

功能:将矩阵a 乘于 矩阵b

tf.matmul(a, b, transpose_a=False, transpose_b=False, adjoint_a=False, adjoint_b=False, a_is_sparse=False, b_is_sparse=False, name=None)

  • a: 一个类型为 float16, float32, float64, int32, complex64, complex128 且张量秩 > 1 的张量。
  • b: 一个类型跟张量a相同的张量。
  • transpose_a: 如果为真, a则在进行乘法计算前进行转置。
  • transpose_b: 如果为真, b则在进行乘法计算前进行转置。
  • adjoint_a: 如果为真, a则在进行乘法计算前进行共轭和转置。
  • adjoint_b: 如果为真, b则在进行乘法计算前进行共轭和转置。
  • a_is_sparse: 如果为真, a会被处理为稀疏矩阵。
  • b_is_sparse: 如果为真, b会被处理为稀疏矩阵。
  • name: 操作的名字(可选参数)

返回值:
一个跟张量a和张量b类型一样的张量且最内部矩阵是a和b中的相应矩阵的乘积。如果所有的转置或adjoint参数都为假,则公式为output[..., :, :] = a[..., :, :] * b[..., :, :] 

tf.nn.dropout函数

功能:训练时随机丢弃一部分数据来减轻过拟合

dropout(x, keep_prob, noise_shape=None, seed=None, name=None)

  • x:输入的数据
  • keep_prob:dropout概率

tf.nn.softmax函数

功能:Softmax回归,将logistic的预测二分类的概率的问题推广到了n分类的概率的问题。

(一种归一化的方式)

tf.nn.softmax(logits,axis=None,name=None, dim=None)

  • logits:一个非空张量,必须是以下类型之一:half, float32, float64
  • axis:将被执行的softmax维度,默认值是-1,表示最后一个维度。
  • name:操作的名称(可选)。

tf.reduce_mean、tf.reduce_max函数

功能:在tensor的某一维度上求和求最大值

tf.reduce_max(input_tensor, reduction_indices=None, keep_dims=False, name=None)

tf.reduce_mean(input_tensor, reduction_indices=None, keep_dims=False, name=None)

  • input_tensor:待求值的tensor。
  • reduction_indices:在哪一维上求解。

猜你喜欢

转载自blog.csdn.net/qq_34135560/article/details/82348431