TensorFlow學習筆記(九)

  1. 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章