小编Anu*_*ari的帖子

如何在 CNN 中添加 Dropout

我正在使用 CNN 训练 Fashion MNIST 数据。由于过度拟合,我尝试添加 Dropout 层。但它不起作用

在我添加 Dropout 之前,模型运行良好。

def fashion_model()
    batch_size = 64
    epochs = 20
    num_classes = 10
    fashion_drop_model = Sequential()
    fashion_drop_model.add(Conv2D(32, kernel_size=(3, 3),activation='linear',padding='same',input_shape=(28,28,1)))
    fashion_drop_model.add(LeakyReLU(alpha=0.1))
    fashion_drop_model.add(MaxPooling2D((2, 2),padding='same'))
    fashion_drop_model.add(Dropout(0.25))

    fashion_drop_model.add(Conv2D(64, (3, 3), activation='linear',padding='same'))
    fashion_drop_model.add(LeakyReLU(alpha=0.1))
    fashion_drop_model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
    fashion_drop_model.add(Dropout(0.25))

    fashion_drop_model.add(Conv2D(128, (3, 3), activation='linear',padding='same'))
    fashion_drop_model.add(LeakyReLU(alpha=0.1))                  
    fashion_drop_model.add(MaxPooling2D(pool_size=(2, 2),padding='same'))
    fashion_drop_model.add(Dropout(0.4))

    fashion_drop_model.add(Flatten())
    fashion_drop_model.add(Dense(128, activation='linear'))
    fashion_drop_model.add(LeakyReLU(alpha=0.1))           
    fashion_drop_model.add(Dropout(0.3))
    fashion_drop_model.add(Dense(num_classes, activation='softmax'))

    return fashion_drop_model.summary()

fashion_model()
Run Code Online (Sandbox Code Playgroud)

我得到的错误是: UnboundLocalError: local variable 'a' referenced before assignment

PS:在对代码逐行进行简短的演练后,我认为错误在第 8 行(fashion_drop_model.add(Dropout(0.25))

python machine-learning deep-learning conv-neural-network keras

3
推荐指数
1
解决办法
2345
查看次数