在卷積層將啟用函式設定為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結構簡潔,整個網路都使用了同樣大小的卷積核...