python机器学习大作业用numoy构建原始CNN网络项目源码。在本项目中,通过numpy实现了一个CNN网络,包括其中的卷积层,池化层以及全连接层,通过公式推导、代码编写,加深了对于卷积、池化、反向传播等概念的理解。 采用现在主流的深度学习框架Pytorch实现识别,并与自己搭建的CNN训练结果进行比较。 采用相同的网络结构: self.conv1 = nn.Conv2d(in_channels=1, out_channels=8, kernel_size=3, padding=0, stride=1) self.maxpool = nn.MaxPool2d(kernel_size =2, stride=None, padding=0) self.fc1 = nn.Linear(13 * 13 * 8, 512) self.fc2 = nn.Linear(512, 10) 在3个epoch下测试结果: 相比与用numpy实现的CNN,其具有较高的稳定性,以及训练速度,因为PyTorch将输入转为张量形式,转入GPU中训练,同时用了SGD优化器,加快loss收敛速度。