Dropout

作业提交

第一题

# 简洁实现就是把model定义为一个简单的Sequential的net
net = nn.Sequential(
        nn.Flatten(),
        nn.Linear(784, 256),
        nn.ReLU(),
        # 在第一个全连接层之后添加一个dropout层
        nn.Dropout(dropout1),
        nn.Linear(256, 256),
        nn.ReLU(),
        # 在第二个全连接层之后添加一个dropout层
        nn.Dropout(dropout2),
        nn.Linear(256, 10))

def init_weights(m):
    if type(m) == nn.Linear:
        nn.init.normal_(m.weight, std=0.01)

net.apply(init_weights);

未交换prob
prob交换后

第二题

有隐藏层
无隐藏层
有演员,到了最后几轮直接无隐藏层函数看到要比前一个好直接开演