日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pytorch0.4版的CNN对minist分类

發(fā)布時間:2024/1/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pytorch0.4版的CNN对minist分类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)是深度學習技術中極具代表的網(wǎng)絡結構之一,在圖像處理領域取得了很大的成功,在國際標準的ImageNet數(shù)據(jù)集上,許多成功的模型都是基于CNN的。

卷積神經(jīng)網(wǎng)絡CNN的結構一般包含這幾個層:

  • 輸入層:用于數(shù)據(jù)的輸入
  • 卷積層:使用卷積核進行特征提取和特征映射
  • 激勵層:由于卷積也是一種線性運算,因此需要增加非線性映射
  • 池化層:進行下采樣,對特征圖稀疏處理,減少數(shù)據(jù)運算量。
  • 全連接層:通常在CNN的尾部進行重新擬合,減少特征信息的損失
  • 輸出層:用于輸出結果
  • ?

    用pytorch0.4?做的cnn網(wǎng)絡做的minist?分類,代碼如下:

    1 import torch 2 import torch.nn as nn 3 import torch.nn.functional as F 4 import torch.optim as optim 5 from torchvision import datasets, transforms 6 from torch.autograd import Variable 7 8 # Training settings 9 batch_size = 64 10 11 # MNIST Dataset 12 train_dataset = datasets.MNIST(root='./data/',train=True,transform=transforms.ToTensor(),download=True) 13 test_dataset = datasets.MNIST(root='./data/',train=False,transform=transforms.ToTensor()) 14 15 # Data Loader (Input Pipeline) 16 train_loader = torch.utils.data.DataLoader(dataset=train_dataset,batch_size=batch_size,shuffle=True) 17 test_loader = torch.utils.data.DataLoader(dataset=test_dataset,batch_size=batch_size,shuffle=False) 18 19 class Net(nn.Module): 20 def __init__(self): 21 super(Net, self).__init__() 22 # 輸入1通道,輸出10通道,kernel 5*5 23 self.conv1 = nn.Conv2d(1, 10, kernel_size=5) # 定義conv1函數(shù)的是圖像卷積函數(shù):輸入為圖像(1個頻道,即灰度圖),輸出為 10張?zhí)卣鲌D, 卷積核為5x5正方形 24 self.conv2 = nn.Conv2d(10, 20, kernel_size=5) # # 定義conv2函數(shù)的是圖像卷積函數(shù):輸入為10張?zhí)卣鲌D,輸出為20張?zhí)卣鲌D, 卷積核為5x5正方形 25 self.mp = nn.MaxPool2d(2) 26 # fully connect 27 self.fc = nn.Linear(320, 10) 28 29 def forward(self, x): 30 # in_size = 64 31 in_size = x.size(0) # one batch 32 # x: 64*10*12*12 33 x = F.relu(self.mp(self.conv1(x))) 34 # x: 64*20*4*4 35 x = F.relu(self.mp(self.conv2(x))) 36 # x: 64*320 37 x = x.view(in_size, -1) # flatten the tensor 38 # x: 64*10 39 x = self.fc(x) 40 return F.log_softmax(x,dim=0) 41 42 43 model = Net() 44 optimizer = optim.SGD(model.parameters(), lr=0.01, momentum=0.5) 45 46 def train(epoch): 47 for batch_idx, (data, target) in enumerate(train_loader): 48 data, target = Variable(data), Variable(target) 49 optimizer.zero_grad() 50 output = model(data) 51 loss = F.nll_loss(output, target) 52 loss.backward() 53 optimizer.step() 54 if batch_idx % 200 == 0: 55 print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format( 56 epoch, batch_idx * len(data), len(train_loader.dataset), 57 100. * batch_idx / len(train_loader), loss.item())) 58 59 60 def test(): 61 test_loss = 0 62 correct = 0 63 for data, target in test_loader: 64 data, target = Variable(data), Variable(target) 65 output = model(data) 66 # sum up batch loss 67 #test_loss += F.nll_loss(output, target, size_average=False).item() 68 test_loss += F.nll_loss(output, target, reduction = 'sum').item() 69 # get the index of the max log-probability 70 pred = output.data.max(1, keepdim=True)[1] 71 correct += pred.eq(target.data.view_as(pred)).cpu().sum() 72 73 test_loss /= len(test_loader.dataset) 74 print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format( 75 test_loss, correct, len(test_loader.dataset), 76 100. * correct / len(test_loader.dataset))) 77 78 79 if __name__=="__main__": 80 for epoch in range(1, 4): 81 train(epoch) 82 test()

    ?運行效果如下:

    Train Epoch: 1 [0/60000 (0%)] Loss: 4.163342 Train Epoch: 1 [12800/60000 (21%)] Loss: 2.689871 Train Epoch: 1 [25600/60000 (43%)] Loss: 2.553686 Train Epoch: 1 [38400/60000 (64%)] Loss: 2.376630 Train Epoch: 1 [51200/60000 (85%)] Loss: 2.321894Test set: Average loss: 2.2703, Accuracy: 9490/10000 (94%)Train Epoch: 2 [0/60000 (0%)] Loss: 2.321601 Train Epoch: 2 [12800/60000 (21%)] Loss: 2.293680 Train Epoch: 2 [25600/60000 (43%)] Loss: 2.377935 Train Epoch: 2 [38400/60000 (64%)] Loss: 2.150829 Train Epoch: 2 [51200/60000 (85%)] Loss: 2.201805Test set: Average loss: 2.1848, Accuracy: 9658/10000 (96%)Train Epoch: 3 [0/60000 (0%)] Loss: 2.238524 Train Epoch: 3 [12800/60000 (21%)] Loss: 2.224833 Train Epoch: 3 [25600/60000 (43%)] Loss: 2.240626 Train Epoch: 3 [38400/60000 (64%)] Loss: 2.217183 Train Epoch: 3 [51200/60000 (85%)] Loss: 2.357141Test set: Average loss: 2.1426, Accuracy: 9723/10000 (97%)

    ?

    轉(zhuǎn)載于:https://www.cnblogs.com/www-caiyin-com/p/9955779.html

    總結

    以上是生活随笔為你收集整理的pytorch0.4版的CNN对minist分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 一区二区三区四区在线观看视频 | 国产网红av| 久久久久久av无码免费看大片 | 亚洲乱码精品久久久久 | 国产精品久久国产愉拍 | 亚洲九九精品 | 欧美成人一区二免费视频软件 | 欧美在线视频免费 | 尤物综合网 | 午夜视频在线观看视频 | 日韩第1页| 欧美 日韩 国产 精品 | 国内精品久久99人妻无码 | 动漫美女被吸奶 | 香蕉久久av一区二区三区 | 国产偷人爽久久久久久老妇app | 在线观看免费黄网站 | 中文字幕在线观看线人 | 国产白嫩美女无套久久 | 日韩欧美精品久久 | 美女扒开腿免费视频 | 人妻互换一区二区激情偷拍 | 成人7777 | 久久99精品久久久久久噜噜 | 午夜秋霞 | 精品人伦一区二区三区 | 一级做a爱片| 中文字幕国产 | 国产精品人人 | 久久午夜场 | 免费欧美一级视频 | 午夜视频一区二区三区 | 污视频网站免费观看 | 一区二区视频在线 | 欧美性在线视频 | 国产欧美三级 | 99啪啪| 亚洲系列在线观看 | 中文字幕人妻一区 | 波多野结衣一二区 | 亚洲天堂一区 | 亚洲伦理在线播放 | 欧美日韩在线视频免费播放 | 超碰123 | 亚洲最大视频网站 | jizz性欧美2 视频在线日韩 | 欧美熟妇乱码在线一区 | 在线观看免费黄色小视频 | 视频一区二区在线 | 日本在线观看视频网站 | 欧美精品日韩精品 | 水蜜桃久久 | 日韩成人专区 | 日韩美一区二区 | 成人午夜免费电影 | 伊人国产视频 | 欧美亚洲一区二区在线观看 | 欧美一区二区三区在线观看视频 | 96国产视频| 男人在线天堂 | 找av123导航 67194国产 | 国产婷婷久久 | 精品国产一区在线观看 | a√天堂网 | 天天爱天天做 | 都市激情av| 99精品在线视频观看 | 日韩人妻精品无码一区二区三区 | 靠逼网站| 精品黑人一区二区三区观看时间 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产精品一区二区三区在线免费观看 | 男女插插网站 | 国产av剧情一区二区三区 | 青青青草视频 | аⅴ资源中文在线天堂 | 色综合久久久久 | 久久99在线| www.av777| 91最新地址永久入口 | 美国黄色网址 | 一级做a爱 | 国产又粗又长又硬免费视频 | 看全黄大色黄大片 | 91丨九色丨蝌蚪丨对白 | 免费视频一二三区 | 性感美女视频一二三 | 正在播放国产一区 | 欧美乱仑| 日韩一区二区欧美 | 午夜影院在线观看18 | gav在线| 久久六六 | 国产高清自拍av | 人妻熟女一区二区aⅴ水野 91在线观看视频 | 国产一级淫片a | 特种兵之深入敌后 | 亚洲AV无码成人精品区东京热 | sao虎视频在线精品永久 |