Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
d2l-zh
提交
a5b6dfba
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,体验更适合开发者的 AI 搜索 >>
提交
a5b6dfba
编写于
10月 11, 2017
作者:
M
Mu Li
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update links
上级
e4456d3c
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
11 addition
and
11 deletion
+11
-11
README.md
README.md
+1
-1
chapter_gluon-basics/block.md
chapter_gluon-basics/block.md
+6
-6
chapter_recurrent-neural-networks/rnn-scratch.md
chapter_recurrent-neural-networks/rnn-scratch.md
+1
-1
chapter_supervised-learning/mlp-gluon.md
chapter_supervised-learning/mlp-gluon.md
+1
-1
chapter_supervised-learning/mlp-scratch.md
chapter_supervised-learning/mlp-scratch.md
+2
-2
未找到文件。
README.md
浏览文件 @
a5b6dfba
...
...
@@ -6,7 +6,7 @@
## 如何贡献
所有notebook是用markdown格式存储,这样方便merge改动。jupyter可以通过notedown来直接使用markdown,
[
参考这里安装
](
./chapter
00
_preface/install.md#使用notedown插件来读写github源文件
)
所有notebook是用markdown格式存储,这样方便merge改动。jupyter可以通过notedown来直接使用markdown,
[
参考这里安装
](
./chapter_preface/install.md#使用notedown插件来读写github源文件
)
build服务器在 http://gluon-ci.mxnet.io 。这台服务器有一块Nvidia M60。
...
...
chapter_gluon-basics/block.md
浏览文件 @
a5b6dfba
...
...
@@ -4,7 +4,7 @@
本教程和接下来几个教程,我们将详细解释如何使用这两个类来定义神经网络、初始化参数、以及保存和读取模型。
我们重新把
[
多层感知机 --- 使用Gluon
](
../chapter
02
_supervised-learning/mlp-gluon.md
)
里的网络定义搬到这里作为开始的例子(为了简单起见,这里我们丢掉了Flatten层)。
我们重新把
[
多层感知机 --- 使用Gluon
](
../chapter_supervised-learning/mlp-gluon.md
)
里的网络定义搬到这里作为开始的例子(为了简单起见,这里我们丢掉了Flatten层)。
```
{.python .input n=9}
from mxnet import nd
...
...
@@ -14,7 +14,7 @@ net = nn.Sequential()
with net.name_scope():
net.add(nn.Dense(256, activation="relu"))
net.add(nn.Dense(10))
print(net)
```
...
...
@@ -86,7 +86,7 @@ print('customized prefix:', net3.dense0.name)
一个简单的实现是这样的:
```
{.python .input}
class Sequential(nn.Block):
class Sequential(nn.Block):
def __init__(self, **kwargs):
super(Sequential, self).__init__(**kwargs)
def add(self, block):
...
...
@@ -94,7 +94,7 @@ class Sequential(nn.Block):
def forward(self, x):
for block in self._children:
x = block(x)
return x
return x
```
可以跟
`nn.Sequential`
一样的使用这个自定义的类:
...
...
@@ -104,7 +104,7 @@ net4 = Sequential()
with net4.name_scope():
net4.add(nn.Dense(256, activation="relu"))
net4.add(nn.Dense(10))
net4.initialize()
y = net4(x)
y
...
...
@@ -149,7 +149,7 @@ class RecMLP(nn.Block):
self.net.add(nn.Dense(256, activation="relu"))
self.net.add(nn.Dense(128, activation="relu"))
self.dense = nn.Dense(64)
def forward(self, x):
return nd.relu(self.dense(self.net(x)))
...
...
chapter_recurrent-neural-networks/rnn-scratch.md
浏览文件 @
a5b6dfba
...
...
@@ -108,7 +108,7 @@ $$H = \phi(X W_{wh} + b_h)$$
$$
\h
at{Y} =
\t
ext{softmax}(H W_{hy} + b_y)$$
(跟
[
多层感知机
](
../chapter
02
_multilayer-neural-network/mlp-scratch.md
)
相比,这里我们把下标从$W_1$和$W_2$改成了意义更加明确的$W_{wh}$和$W_{hy}$)
(跟
[
多层感知机
](
../chapter_multilayer-neural-network/mlp-scratch.md
)
相比,这里我们把下标从$W_1$和$W_2$改成了意义更加明确的$W_{wh}$和$W_{hy}$)
将上面网络改成循环神经网络,我们首先对输入输出加上时间戳$t$。假设$X_t$是序列中的第$t$个输入,对应的隐层输出和最终输出是$H_t$和$
\h
at{Y}_t$。循环神经网络只需要在计算隐层的输出的时候加上跟前一时间输入的加权和,为此我们引入一个新的可学习的权重$W_{hh}$:
...
...
chapter_supervised-learning/mlp-gluon.md
浏览文件 @
a5b6dfba
# 多层感知机 --- 使用Gluon
我们只需要稍微改动
[
多类Logistic回归
](
../chapter
01
_crashcourse/softmax-regression-gluon.md
)
来实现多层感知机。
我们只需要稍微改动
[
多类Logistic回归
](
../chapter_crashcourse/softmax-regression-gluon.md
)
来实现多层感知机。
## 定义模型
...
...
chapter_supervised-learning/mlp-scratch.md
浏览文件 @
a5b6dfba
...
...
@@ -16,7 +16,7 @@ train_data, test_data = utils.load_data_fashion_mnist(batch_size)
## 多层感知机
多层感知机与前面介绍的
[
多类逻辑回归
](
../chapter
01
_crashcourse/softmax-regression-scratch.md
)
非常类似,主要的区别是我们在输入层和输出层之间插入了一到多个隐含层。
多层感知机与前面介绍的
[
多类逻辑回归
](
../chapter_crashcourse/softmax-regression-scratch.md
)
非常类似,主要的区别是我们在输入层和输出层之间插入了一到多个隐含层。
![](
../img/multilayer-perceptron.png
)
...
...
@@ -103,7 +103,7 @@ for epoch in range(5):
test_acc = utils.evaluate_accuracy(test_data, net)
print("Epoch %d. Loss: %f, Train acc %f, Test acc %f" % (
epoch, train_loss/len(train_data),
epoch, train_loss/len(train_data),
train_acc/len(train_data), test_acc))
```
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录