Python 如何知道在使用keras dropout层后删除了哪个节点

Python 如何知道在使用keras dropout层后删除了哪个节点,python,tensorflow,keras,keras-layer,keras-2,Python,Tensorflow,Keras,Keras Layer,Keras 2,显然,在CNN模型的退出层,我们在bernoulli的基础上删除了一些节点。但如何验证,即如何检查未选择哪个节点。在DropConnect中,我们留下了一些权重,因此我认为借助于model.get_weights()我们可以验证,但在dropout层的情况下如何验证 model=Sequential() add(Conv2D(2,内核大小=(3,3), 激活='relu', 输入形状=输入形状) 添加(Conv2D(4,(3,3),activation='relu')) add(MaxPooli

显然,在CNN模型的退出层,我们在bernoulli的基础上删除了一些节点。但如何验证,即如何检查未选择哪个节点。在DropConnect中,我们留下了一些权重,因此我认为借助于
model.get_weights()
我们可以验证,但在dropout层的情况下如何验证

model=Sequential()
add(Conv2D(2,内核大小=(3,3),
激活='relu',
输入形状=输入形状)
添加(Conv2D(4,(3,3),activation='relu'))
add(MaxPooling2D(池大小=(2,2)))
模型。添加(辍学率(0.25))
model.add(展平())
model.add(密集(8,activation='relu'))
模型。添加(辍学率(0.5))
添加(密集(num_类,activation='softmax'))
model.compile(loss=keras.loss.binary_交叉熵,
optimizer=keras.optimizers.Adadelta(),
指标=[‘准确度’])

另一个问题是,其中提到辍学率应该浮动,从0到1。但对于上面的模型,当我取辍学率=1.25,那么我的模型也在工作,这是怎么发生的

关于第二个问题,如果您看到,在
调用
方法表单
退出
类中:

def call(self, inputs, training=None):
    if 0. < self.rate < 1.:
        noise_shape = self._get_noise_shape(inputs)

        def dropped_inputs():
            return K.dropout(inputs, self.rate, noise_shape,
                             seed=self.seed)
        return K.in_train_phase(dropped_inputs, inputs,
                                training=training)
    return inputs
def调用(自身、输入、培训=无):
如果为0自我评价率<1:
噪声形状=自身。获取噪声形状(输入)
def丢弃的_输入()
返回K.衰减(输入、自速率、噪声形状、,
种子(seed=self.seed)
返回K.在列车相位(下降的输入、输入、,
培训=培训)
返回输入

这意味着如果
速率
不在0和1之间,它将不起任何作用。

请提供答案为什么需要检查它?好的,知道了,它没有给出错误,但它不会起任何作用。我想检查一下,为了更好地理解cnn模型,并向学生展示。