卷積神經網絡 Tensorflow

import tensorflow as tf

#通過tf.get_variable的方式創建過濾器的權重變量和偏置項變量
filter_weight = tf.get_variable('weights',[5,3,3,16],#stddev代表正態分佈的標準差
                                initializer = tf.truncated_normal_initializer(stddev = 0.1))
biases = tf.get_variable('biases',[16],initializer = tf.constant_initializer(0.1))
#tf.nn.conv2d提供了一個非常方便的函數來實現卷積層前向傳播的算法。
#input代表卷積層的輸入,filter代表權重,strides代表步長,padding 選擇sanme代表全爲0填充,valid表示不添加
conv = tf.nn.conv2d(input,filter_weight,strides = [1,1,1,1],padding = 'SAME')
#tf.nn.bias_add提供了一個方便的函數給每一個節點加上偏執項
bias = tf.nn.bias_add(conv,biases)
#將計算結果通過ReLU激活函數完全去線性化
actived_conv = tf.nn.relu(bias)

輸入層即整個神經網絡的輸入;
卷積層:是整個卷積神經網絡中最爲重要的部分。卷積層將神經網絡中的每一小塊進行深入地分析從而得到抽象程度更高的特徵。一般來說,通過卷積層處理過的節點矩陣會變得更深。
池化層:就是將卷積層得到的矩陣進一步縮小,從而達到減少整個神經網絡中參數的目的。
全連接層—–>Softmax層

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