5 VGG16神經網路

2021-09-27 04:03:35 字數 1318 閱讀 1743

在卷積層將啟用函式設定為none。

使用batch_normalization。

使用啟用函式啟用。

只能用於tensor來返回shape,但是是乙個元組(即「(2,3)」),需要通過as_list()的操作轉換成list(即[2,3]).

輸入:(1)value:四維張量 [batch, height, width, channels],數值型別為:float32,float64, qint8, quint8,qint32

(2)ksize:四個整型值 int 的列表或元組,輸入張量 value 的每個維度上的滑動視窗的尺寸大小

(3)strides:四個整型值 int 的列表或元組,輸入張量 value 的每個維度上的滑動視窗的步幅長度

(4)padding:字元型引數,「valid」 或 「same」,填充演算法,參照 tf.nn.convolution

(5)data_format:字元型引數,「nhwc」 或 「nchw」,分別代表 [batch, height, width, channels] 和 [batch, height, channels , width]

(6)name:可選引數,操作的名稱

返回結果:

將除了第一維的資料維度相乘,對原 tensor 進行展平。

np.prod 連乘操作,將裡面所有的元素相乘。

def variable_summaries(var,name):

"""attach a lot of summaries to a tensor (for tensorboard visualization).

:param var: variable to be summarized

:return: none

"""with tf.name_scope(name):

mean = tf.reduce_mean(var)

tf.summary.scalar('mean', mean)

with tf.name_scope('stddev'):

stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))

tf.summary.scalar('sparsity',tf.nn.zero_fraction(var))

tf.summary.scalar('stddev', stddev)

tf.summary.scalar('max', tf.reduce_max(var))

tf.summary.scalar('min', tf.reduce_min(var))

tf.summary.histogram('histogram', var)

VGG神經網路

第一次使用多個小的卷積核 來代替大的卷積核,兩個3 3代替乙個5 5,三個3 3代替7 7。使用多個小的卷積核可以有效地降低神經網路所需要的的引數。並且並沒減少的感受野。唯一的不足是,在進行反向傳播時,中間的卷積層可能會導致占用更多的記憶體。感受野計算公式 p i 1 pi kernel 1 str...

卷積神經網路 經典神經網路模型之VGG 16

vgg 16其中的16含義為 含有權重引數的有16層,共包含引數約為1.38億,這是乙個相當大的網路。但是其網路結構很規整簡潔,沒有那麼多的超引數,專注於構建簡單的網路結構 都是幾個卷積層後面跟乙個最大池化層 通過不斷的加深網路結構來提公升效能 但是由此也會帶來訓練的特徵數量非常大的缺點。其網路結構...

經典卷積神經網路之 VGG16

命名 16表示除pooling layer外使用conv layer的層數 1.vggnet探索了卷積神經網路的深度與其效能之間的關係,通過反覆堆疊3 3的小型卷積核和2 2的最大池化層,vggnet成功地構築了16 19層深的卷積神經網路 2.vggnet結構簡潔,整個網路都使用了同樣大小的卷積核...