Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
d2l-zh
提交
31bfc506
D
d2l-zh
项目概览
OpenDocCN
/
d2l-zh
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
d2l-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
31bfc506
编写于
7月 24, 2018
作者:
A
Aston Zhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
use DataLoader in weight-decay to have similar results with weight-decay-gluon
上级
ae2a31ad
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
8 addition
and
5 deletion
+8
-5
chapter_deep-learning-basics/weight-decay-gluon.md
chapter_deep-learning-basics/weight-decay-gluon.md
+4
-4
chapter_deep-learning-basics/weight-decay.md
chapter_deep-learning-basics/weight-decay.md
+4
-1
未找到文件。
chapter_deep-learning-basics/weight-decay-gluon.md
浏览文件 @
31bfc506
...
...
@@ -27,7 +27,7 @@ train_features, test_features = features[:n_train, :], features[n_train:, :]
train_labels, test_labels = labels[:n_train], labels[n_train:]
num_epochs = 10
l
earning_rate
= 0.003
l
r
= 0.003
batch_size = 1
train_iter = gdata.DataLoader(gdata.ArrayDataset(
train_features, train_labels), batch_size, shuffle=True)
...
...
@@ -45,10 +45,10 @@ def fit_and_plot(weight_decay):
net.initialize(init.Normal(sigma=1))
# 对权重参数做 L2 范数正则化,即权重衰减。
trainer_w = gluon.Trainer(net.collect_params('.*weight'), 'sgd', {
'learning_rate': l
earning_rate
, 'wd': weight_decay})
'learning_rate': l
r
, 'wd': weight_decay})
# 不对偏差参数做 L2 范数正则化。
trainer_b = gluon.Trainer(net.collect_params('.*bias'), 'sgd', {
'learning_rate': l
earning_rate
})
'learning_rate': l
r
})
train_ls = []
test_ls = []
for _ in range(num_epochs):
...
...
@@ -65,7 +65,7 @@ def fit_and_plot(weight_decay):
test_labels).mean().asscalar())
gb.semilogy(range(1, num_epochs + 1), train_ls, 'epochs', 'loss',
range(1, num_epochs + 1), test_ls, ['train', 'test'])
return 'w[:10]:', net[0].weight.data()[:,:10], 'b:', net[0].bias.data()
return 'w[:10]:', net[0].weight.data()[:,
:10], 'b:', net[0].bias.data()
```
## 观察实验结果
...
...
chapter_deep-learning-basics/weight-decay.md
浏览文件 @
31bfc506
...
...
@@ -43,6 +43,7 @@ $$y = 0.05 + \sum_{i = 1}^p 0.01x_i + \epsilon,$$
%matplotlib inline
import gluonbook as gb
from mxnet import autograd, gluon, nd
from mxnet.gluon import data as gdata
n_train = 20
n_test = 100
...
...
@@ -88,6 +89,8 @@ def l2_penalty(w):
batch_size = 1
num_epochs = 10
lr = 0.003
train_iter = gdata.DataLoader(gdata.ArrayDataset(
train_features, train_labels), batch_size, shuffle=True)
net = gb.linreg
loss = gb.squared_loss
...
...
@@ -99,7 +102,7 @@ def fit_and_plot(lambd):
train_ls = []
test_ls = []
for _ in range(num_epochs):
for X, y in
gb.data_iter(batch_size, features, labels)
:
for X, y in
train_iter
:
with autograd.record():
# 添加了 L2 范数惩罚项。
l = loss(net(X, w, b), y) + lambd * l2_penalty(w)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录