第五章
二维卷积层
from mxnet import autograd, nd
from mxnet.gluon import nn
def corr2d(X, K):
# 本函数已保存在d2lzh包中方便以后使用
# 二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏差来得到输出
h, w = K.shape
Y = nd.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1))
for i in range(Y.shape[0]):
for j in range(Y.shape[1]):
Y[i, j] = (X[i: i + h, j: j + w] * K).sum()
return Y
class Conv2D(nn.Block):
#函数__init__里我们声明weight和bias这两个模型参数。前向计算函数forward则是直接调用corr2d函数再加上偏 差
def __init__(self, kernel_size, **kwargs):
super(Conv2D, self).__init__(**kwargs)
self.weight = self.params.get('weight', shape=kernel_size)
self.bias = self.params.get('bias', shape=(1,))
def forward(self, x):
return corr2d(x, self.weight.data()) + self.bias.data()特征图和感受野
填充和步幅
多输入通道和多输出通道
1 X 1卷积层
池化层
填充
多通道
使用重复元素的网络(VGG)
残差网络(ResNet)
最后更新于



