我是靠谱客的博主 单薄手链,最近开发中收集的这篇文章主要介绍《动手学深度学习》 Drop_out with gluonDrop_out,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Drop_out

双隐层,丢弃法,每层以drop_prob1, drop_prob2的概率丢弃隐层中的神经元,同时放大未被丢弃的神经元1/(1-drop_prob)倍,不改变输入的期望值。

代码

import d2lzh as d2l
from mxnet import gluon, init, autograd
from mxnet.gluon import loss as gloss, nn


batch_size = 256
train_iter, test_iter = d2l.load_data_fashion_mnist((batch_size))

loss = gloss.SoftmaxCrossEntropyLoss()
num_epochs = 5
lr = 0.4
drop_prob1 = 0.2
drop_prob2 = 0.5

net = nn.Sequential()
net.add(nn.Dense(256, activation='relu'))
net.add(nn.Dropout(drop_prob1))
net.add(nn.Dense(256, activation='relu'))
net.add(nn.Dropout(drop_prob2))
net.initialize((init.Normal(sigma=0.01)))

trainer = gluon.Trainer(net.collect_params(), 'sgd', {'learning_rate': lr})

for epoch in range(num_epochs):
    train_l_sum, train_acc_sum, n = 0.0, 0.0, 0
    for X, y in train_iter:
        with autograd.record():
            y_hat = net(X)
            l = loss(y_hat, y).sum()
        l.backward()  # 求导
        trainer.step(batch_size)  # 迭代并更新
        y = y.astype('float32')
        train_l_sum += l.asscalar()
        train_acc_sum += (y_hat.argmax(axis=1) == y).sum().asscalar()
        n += y.size
    test_acc_sum, test_n = 0.0, 0
    for test_X, test_y in test_iter:
        test_y = test_y.astype('float32')
        test_acc_sum += (net(test_X).argmax(axis=1) == test_y).sum().asscalar()
        test_n += test_y.size
    test_acc = test_acc_sum / test_n
    print('epoch {}, loss {:.4f}, train acc {:.3f}, test_acc {:.3f}'.format(epoch + 1, train_l_sum / n, train_acc_sum / n, test_acc))

结果

epoch 1, loss 3.5948, train acc 0.382, test_acc 0.785
epoch 2, loss 3.2113, train acc 0.440, test_acc 0.836
epoch 3, loss 3.1349, train acc 0.455, test_acc 0.856
epoch 4, loss 3.1194, train acc 0.459, test_acc 0.852
epoch 5, loss 3.1119, train acc 0.463, test_acc 0.863

最后

以上就是单薄手链为你收集整理的《动手学深度学习》 Drop_out with gluonDrop_out的全部内容,希望文章能够帮你解决《动手学深度学习》 Drop_out with gluonDrop_out所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部