fix typos in chapter 2 (#211)

This commit is contained in:
ADNRs
2022-03-25 14:27:13 +08:00
committed by GitHub
parent 310383b763
commit 2f561bd5b3

View File

@@ -80,7 +80,7 @@ output = convolution(input, conv1_filters, stride=1, padding='same')
output = pooling(output, kernel_size=3, stride=2, padding='same', mode='max')
output = convolution(output, conv2_filters, stride=1, padding='same')
output = pooling(output, kernel_size=3, stride=2, padding='same', mode='max')
output=flatten(output)
output = flatten(output)
output = fully_connected(output, fc1_weights)
output = fully_connected(output, fc2_weights)
output = fully_connected(output, fc3_weights)
@@ -107,7 +107,7 @@ PyTorch提供的torch.nn.Module、torch.nn.Conv2d、torch.utils.data.Dataset。
Cell和Module是模型抽象方法也是所有网络的基类。
现有模型抽象方案有两种。
一种是抽象出两个方法分别为Layer负责单个神经网络层的参数构建和前向计算Model负责对神经网络层进行连接组合和神经网络层参数管理
另一种是将Layer和Modle抽象成一个方法该方法既能表示单层神经网络层也能表示包含多个神经网络层堆叠的模型Cell和Module就是这样实现的。
另一种是将Layer和Model抽象成一个方法该方法既能表示单层神经网络层也能表示包含多个神经网络层堆叠的模型Cell和Module就是这样实现的。
![神经网络模型构建细节](../img/ch02/model_build.svg)
:width:`800px`
@@ -127,7 +127,7 @@ Cell和Module是模型抽象方法也是所有网络的基类。
```python
# 接口定义:
全连接层接口convolution(input, filters, stride, padding)
卷积层的接口convolution(input, filters, stride, padding)
变量Variable(value, trainable=True)
高斯分布初始化方法random_normal(shape)
神经网络模型抽象方法Cell
@@ -189,5 +189,5 @@ class CNN(Cell):
return z
net = CNN()
```
上述卷积模型进行实例化,其执行将从\_\_init\_\_开始第一个是Conv2DConv2D也是Cell的子类会进入到Conv2D的\_\_init\_\_此时会将第一个Conv2D的卷积参数收集到self.\_params之后回到Conv2D将第一个Conv2D收集到self.\_cells第二个的组件是MaxPool2D因为其没有训练参数因此将MaxPool2D收集到self.\_cells依次类推分别收集第二个卷积参数和卷积层三个全连接层的参数和全连接层。实例化之后可以调用net.parameters_and_names来返回训练参数调用net.cells_and_names查看神经网络层列表。