cnn层如何在keras中连接?

时间:2018-03-20 03:15:15

标签: keras convolution

有没有人知道cnn层如何在keras中连接?

## layer #1
inputs = Input((img_rows, img_cols, 5, 1), name='inputs')  # shape (?, 192,192,5,1)

conv1_1 = Conv3D(32, (3, 3, 3), activation='relu', padding='same')(inputs) # shape (?,192,192,5,32)
conv1_1 = Conv3D(32, (3, 3, 3), activation='relu', padding='same')(conv1_1)
pool1_1 = MaxPooling3D(pool_size=(2, 2, 1))(conv1_1)
drop1_1 = Dropout(0.2)(pool1_1)

## layer #2
conv2_1 = Conv3D(64, (3, 3, 3), activation='relu', padding='same')(drop1_1) # shape(?,96,96,5,64)
conv2_1 = Conv3D(64, (3, 3, 3), activation='relu', padding='same')(conv2_1)
pool2_1 = MaxPooling3D(pool_size=(2, 2, 1))(conv2_1)
drop2_1 = Dropout(0.2)(pool2_1)

## layer #3
conv3_1 = Conv3D(128, (3, 3, 3), activation='relu', padding='same')(drop2_1) # shape(?, 48,48,5,128)
conv3_1 = Conv3D(128, (3, 3, 3), activation='relu', padding='same')(conv3_1)
pool3_1 = MaxPooling3D(pool_size=(2, 2, 1))(conv3_1)
drop3_1 = Dropout(0.2)(pool3_1)

例如,conv1_1层的形状为(?,192,192,5,32),conv2_1层的形状为(?,96,96,5,64)。在这种情况下,32和64表示每个cnn层中的滤波器(或输出通道)的数量。此时,如何估计从第1层到第2层的节点数或节点数?

1 个答案:

答案 0 :(得分:0)

  

如何估计要素的数量或节点数量   第1层到第2层?

如果您的意思是权重数量,如果您将图层定义为l(l = Conv3D(...)等),则可以访问内核和偏差权重,并获得其形状。对于功能的数量,您可以使用图层输出执行此操作(您需要为此定义单独的变量,而不是像您一样使用一个名称)。