tensorflow簡單實現卷積前向過程

卷積,說白了就是對應位置相乘再求和,卷積操作用廣泛應用於圖像識別,在自然語言處理中也開始應用,用作文本分類問題。

卷積操作最重要的部分就是卷積核或者說過濾器
1、常用過濾器尺寸爲3*3或者5*5
2、卷積神經網絡中,每個卷基層中過濾器中的參數都是一樣的,這樣就巨幅減少神經網絡的參數
3、邊緣可以採用全0填充,或者不進行填充,其結果矩陣略有不同
4、卷積層參數的個數與輸入層圖片尺寸無關,與深度有關,比如輸入層維度32*32*3,卷積層尺寸5*5,深度16,那麼這個卷積層的參數個數爲:5*5*3*16+16

簡單實現代碼如下:

#coding:utf-8

import tensorflow as tf 

#設置過濾器
filter_weight = tf.get_variable('weights',[5,5,3,16],initializer=tf.truncated_normal_initializer(stddev=0.1))#5 5代表過濾器的尺寸,3爲當前層的深度,16爲過濾器的深度,即輸出深度爲16
#設置每一個w對應的b
biases = tf.get_variable("basises",[16],initializer=tf.constant_initializer(0.1))#因爲上面說了,輸出維度爲16,所以這裏有16個basis
#對輸入進行卷積操作(沒有加b)
conv = tf.nn.conv2d(input,filter_weight,strides=[1,1,1,1],padding ="SAME" )
#將求得的卷積每一個加上b
bias = tf.nn.bias_add(conv,biases)
#施加激活函數
active_conv = tf.nn.relu(bias)

#添加最大池化層
pool = tf.nn.max_pool(active_conv,ksize = [1,3,3,1],strides = [1,2,2,1],padding = "SAME")
發佈了32 篇原創文章 · 獲贊 29 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章