【发布时间】:2019-10-28 03:48:56
【问题描述】:
我正在使用卷积网络进行图像分类 我从头开始构建它
与文学相比,我得到了很好的结果
网络架构:
model = Sequential()
model.add(Conv2D(24,kernel_size=3,padding='same',activation='relu',
input_shape=(n,n,1)))
model.add(MaxPool2D())
model.add(Conv2D(48,kernel_size=3,padding='same',activation='relu'))
model.add(MaxPool2D())
model.add(Conv2D(64,kernel_size=3,padding='same',activation='relu'))
model.add(MaxPool2D(padding='same'))
model.add(Conv2D(96,kernel_size=3,padding='same',activation='relu'))
model.add(MaxPool2D(padding='same'))
model.add(Flatten())
model.add(Dense(128, activation='relu')) # SIZE 128 FC1
model.add(Dropout(0.5))
model.add(Dense(256, activation='relu')) # SIZE 256 FC2
model.add(Dropout(0.5))
model.add(Dense(12, activation='softmax'))
model.compile(optimizer="adam", loss="categorical_crossentropy",metrics=[recall, fmeasure,precision,"accuracy"])
如您所见,我的第一个全连接层 (FC1) 大小为 128,下一个大小为 256 (FC2)
FC2 的尺寸比 FC1 大不是很“愚蠢”吗? FC2的价值如何计算?
【问题讨论】:
-
不,它不“愚蠢”,也无法计算,这些只是可以调整的超参数。
-
@MatiasValdenegro 提到它们是超参数。如果您注意到,当您在第一个
Conv2D层中进行卷积时,您正在将输入维度扩展到更大的值,即从n, n, 1到m, m, 24维度值(m将取决于n,kernel_size,padding)。卷积后维度增加。
标签: python machine-learning keras conv-neural-network