深度学习PyTorch极简入门:搭建卷积神经网络完成手写字体识别

Python与机器学习 徐 自远 885℃

本文重点


今日头条


深度学习PyTorch极简入门:搭建卷积神经网络完成手写字体识别

 

前面的一篇文章我们学习了使用pytorch搭建卷积神经网络,本文我们使用刚刚搭建的卷积神经网络完成手写字体识别的任务

手写字体识别是之前进行介绍过的常用的数据集了,然后卷积神经网络如何搭建前面已经进行介绍了,下面我们将再详细的介绍一下如何使用卷积神经网络完成手写字体识别。

class CNN(nn.Module):

def __init__(self):

super(CNN,self).__init__()

self.layer1=nn.Sequential( nn.Conv2d(1,16,kernel_size=3), nn.BatchNorm2d(16), nn.ReLU(inplace=True), ) self.layer2=nn.Sequential( nn.Conv2d(16,32,kernel_size=3), nn.BatchNorm2d(32), nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=2,stride=2) )

self.layer3=nn.Sequential( nn.Conv2d(32,64,kernel_size=3), nn.BatchNorm2d(64), nn.ReLU(inplace=True) ) self.layer4=nn.Sequential( nn.Conv2d(64,128,kernel_size=3), nn.BatchNorm2d(128), nn.ReLU(inplace=True), nn.MaxPool2d(kernel_size=2,stride=2) )

self.fc=nn.Sequential( nn.Linear(128*4*4,1024), nn.ReLU(inplace=True), nn.Linear(1024,128), nn.ReLU(inplace=True), nn.Linear(128,10) )

def forward(self,x):

x=self.layer1(x)

x=self.layer2(x)

x=self.layer3(x)

x=self.layer4(x)

in_put=x.view(x.size(0),-1)

out_put=self.fc(in_put)

return out_put

由于今日头条没有办法格式化的显示代码,所以这里只能贴上图片的代码形式了,整个代码分为四个部分,第一个部分是数据集的加载和预处理,这个进行了简单的数据预处理操作,和之前的一样,然后搭建了一个简单的卷积神经网络,这个卷积神经网络也没有什么复杂的,然后完成卷积神经网络的训练和测试,这些代码都经过了实地的训练和测试,均可用,如果需要代码的可以私信我获取。

 

购买专栏解锁剩余22%的内容

深度学习PyTorch极简入门

作者:幻风的AI之路

26.6 元65节

购买专栏

pytorch极简入门编程:可视化神经网络训练过程中的损失函数图像

1848次阅读3月16日 12:33

深度学习PyTorch编程:卷积神经网络比于全连接神经网络强在哪?

138次阅读3月16日 13:15

每天五分钟深度学习pytorch:基于LeNet算法模型完成手写字体识别

119次阅读3月16日 18:36

查看更多

 

 

深度学习PyTorch极简入门:搭建卷积神经网络完成手写字体识别https://m.toutiaocdn.com/group/6797245622412902924/?app=news_article&timestamp=1587659997&req_id=20200424003956010023028157053E2479&group_id=6797245622412902924&tt_from=android_share&utm_medium=toutiao_android&utm_campaign=client_share

转载请注明:徐自远的乱七八糟小站 » 深度学习PyTorch极简入门:搭建卷积神经网络完成手写字体识别

喜欢 (1)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号