【发布时间】:2018-04-03 12:32:14
【问题描述】:
从nick blog可以看出,在CNN模型的dropout层中,我们在bernoulli的基础上drop了一些节点。但是如何验证它,即如何检查哪个节点没有被选中。在 DropConnect 中,我们留下了一些权重,所以我认为在 model.get_weights() 的帮助下我们可以验证,但在 dropout 层的情况下如何验证。
model = Sequential()
model.add(Conv2D(2, kernel_size=(3, 3),
activation='relu',
input_shape=input_shape))
model.add(Conv2D(4, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(8, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss=keras.losses.binary_crossentropy,
optimizer=keras.optimizers.Adadelta(),
metrics=['accuracy'])
另一个问题是keras 中提到辍学率应该从 0 到 1 浮动。但是对于上述模型,当我采用辍学率 = 1.25 时,我的模型也在工作,这是怎么发生的?
【问题讨论】:
-
请提供答案
-
为什么要检查?
标签: python tensorflow keras keras-layer keras-2