- TensorFlow神经网络—激活函数
操作 描述
tf.nn.relu(features, name=None) 整流函数:max(features, 0)
tf.nn.relu6(features, name=None) 以6为阈值的整流函数:min(max(features, 0), 6)
tf.nn.elu(features, name=None) elu函数,exp(features) - 1 if < 0,否则features
Exponential Linear Units (ELUs)
tf.nn.softplus(features, name=None) 计算softplus:log(exp(features) + 1)
tf.nn.dropout(x, keep_prob,
noise_shape=None, seed=None, name=None) 计算dropout,keep_prob为keep概率
noise_shape为噪声的shape
tf.nn.bias_add(value, bias, data_format=None, name=None) 对value加一偏置量
此函数为tf.add的特殊情况,bias仅为一维,
函数通过广播机制进行与value求和,
数据格式可以与value不同,返回为与value相同格式
tf.sigmoid(x, name=None) y = 1 / (1 + exp(-x))
tf.tanh(x, name=None) 双曲线切线激活函数
2.TensorFlow神经网络—卷积函数
操作 描述
tf.nn.conv2d(input, filter, strides, padding,
use_cudnn_on_gpu=None, data_format=None, name=None) 在给定的4D input与 filter下计算2D卷积
输入shape为 [batch, height, width, in_channels]
tf.nn.conv3d(input, filter, strides, padding, name=None) 在给定的5D input与 filter下计算3D卷积
输入shape为[batch, in_depth, in_height, in_width, in_channels]
3.TensorFlow神经网络—池化函数
操作 描述
tf.nn.avg_pool(value, ksize, strides, padding,
data_format=’NHWC’, name=None) 平均方式池化
tf.nn.max_pool(value, ksize, strides, padding,
data_format=’NHWC’, name=None) 最大值方法池化
tf.nn.max_pool_with_argmax(input, ksize, strides,
padding, Targmax=None, name=None) 返回一个二维元组(output,argmax),最大值pooling,返回最大值及其相应的索引
tf.nn.avg_pool3d(input, ksize, strides,
padding, name=None) 3D平均值pooling
tf.nn.max_pool3d(input, ksize, strides,
padding, name=None) 3D最大值pooling
4.TensorFlow神经网络—数据标准化
操作 描述
tf.nn.l2_normalize(x, dim, epsilon=1e-12, name=None) 对维度dim进行L2范式标准化
output = x / sqrt(max(sum(x**2), epsilon))
tf.nn.sufficient_statistics(x, axes, shift=None,
keep_dims=False, name=None) 计算与均值和方差有关的完全统计量
返回4维元组,*元素个数,*元素总和,*元素的平方和,*shift结果
参见算法介绍
tf.nn.normalize_moments(counts, mean_ss, variance_ss, shift, name=None) 基于完全统计量计算均值和方差
tf.nn.moments(x, axes, shift=None,
name=None, keep_dims=False) 直接计算均值与方差
5.TensorFlow神经网络—损失函数
操作 描述
tf.nn.l2_loss(t, name=None) output = sum(t ** 2) / 2
6.TensorFlow神经网络—分类函数
操作 描述
tf.nn.sigmoid_cross_entropy_with_logits
(logits, targets, name=None)* 计算输入logits, targets的交叉熵
tf.nn.softmax(logits, name=None) 计算softmax
softmax[i, j] = exp(logits[i, j]) / sum_j(exp(logits[i, j]))
tf.nn.log_softmax(logits, name=None) logsoftmax[i, j] = logits[i, j] - log(sum(exp(logits[i])))
tf.nn.softmax_cross_entropy_with_logits
(logits, labels, name=None) 计算logits和labels的softmax交叉熵
logits, labels必须为相同的shape与数据类型
tf.nn.sparse_softmax_cross_entropy_with_logits
(logits, labels, name=None) 计算logits和labels的softmax交叉熵
tf.nn.weighted_cross_entropy_with_logits
(logits, targets, pos_weight, name=None) 与sigmoid_cross_entropy_with_logits()相似,
但给正向样本损失加了权重pos_weight