中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

外貿(mào)網(wǎng)站建設(shè)推廣公司前景如何/sem全稱

外貿(mào)網(wǎng)站建設(shè)推廣公司前景如何,sem全稱,電子商務(wù)網(wǎng)站建設(shè)文案,網(wǎng)站建設(shè)有沒有CNN的原理 從 DNN 到 CNN (1)卷積層與匯聚 ? 深度神經(jīng)網(wǎng)絡(luò) DNN 中,相鄰層的所有神經(jīng)元之間都有連接,這叫全連接;卷積神經(jīng)網(wǎng)絡(luò) CNN 中,新增了卷積層(Convolution)與匯聚&#xff08…

CNN的原理

從 DNN 到 CNN
(1)卷積層與匯聚
? 深度神經(jīng)網(wǎng)絡(luò) DNN 中,相鄰層的所有神經(jīng)元之間都有連接,這叫全連接;卷積神經(jīng)網(wǎng)絡(luò) CNN 中,新增了卷積層(Convolution)與匯聚(Pooling)。
? DNN 的全連接層對應(yīng) CNN 的卷積層,匯聚是與激活函數(shù)類似的附件;單個(gè)卷積層的結(jié)構(gòu)是:卷積層-激活函數(shù)-(匯聚),其中匯聚可省略。
(2)CNN:專攻多維數(shù)據(jù)
在深度神經(jīng)網(wǎng)絡(luò) DNN 課程的最后一章,使用 DNN 進(jìn)行了手寫數(shù)字的識別。但是,圖像至少就有二維,向全連接層輸入時(shí),需要多維數(shù)據(jù)拉平為 1 維數(shù)據(jù),這樣一來,圖像的形狀就被忽視了,很多特征是隱藏在空間屬性里的,而卷積層可以保持輸入數(shù)據(jù)的維數(shù)不變,當(dāng)輸入數(shù)據(jù)是二維圖像時(shí),卷積層會以多維數(shù)據(jù)的形式接收輸入數(shù)據(jù),并同樣以多維數(shù)據(jù)的形式輸出至下一層

導(dǎo)包

import torch
import torch.nn as nn
from torch.utils.data import DataLoader
from torchvision import transforms
from torchvision import datasets
import matplotlib.pyplot as plt

制作數(shù)據(jù)集

# 制作數(shù)據(jù)集
# 數(shù)據(jù)集轉(zhuǎn)換參數(shù)
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(0.1307, 0.3081)
])
# 下載訓(xùn)練集與測試集
train_Data = datasets.MNIST(
root = 'D:/Postgraduate/CNN', # 下載路徑
train = True, # 是 train 集
download = True, # 如果該路徑?jīng)]有該數(shù)據(jù)集,就下載
transform = transform # 數(shù)據(jù)集轉(zhuǎn)換參數(shù)
)
test_Data = datasets.MNIST(
root = 'D:/Postgraduate/CNN', # 下載路徑
train = False, # 是 test 集
download = True, # 如果該路徑?jīng)]有該數(shù)據(jù)集,就下載
transform = transform # 數(shù)據(jù)集轉(zhuǎn)換參數(shù)
)
# 批次加載器
train_loader = DataLoader(train_Data, shuffle=True, batch_size=256)
test_loader = DataLoader(test_Data, shuffle=False, batch_size=256)

訓(xùn)練網(wǎng)絡(luò)

class CNN(nn.Module):def __init__(self):super(CNN,self).__init__()self.net = nn.Sequential(nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Tanh(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Conv2d(6, 16, kernel_size=5), nn.Tanh(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Conv2d(16, 120, kernel_size=5), nn.Tanh(),nn.Flatten(),nn.Linear(120, 84), nn.Tanh(),nn.Linear(84, 10)
)def forward(self, x):y = self.net(x)return y
# 創(chuàng)建子類的實(shí)例,并搬到 GPU 上
model = CNN().to('cuda:0')
# 訓(xùn)練網(wǎng)絡(luò)
# 損失函數(shù)的選擇
loss_fn = nn.CrossEntropyLoss() # 自帶 softmax 激活函數(shù)
# 優(yōu)化算法的選擇
learning_rate = 0.9 # 設(shè)置學(xué)習(xí)率
optimizer = torch.optim.SGD(model.parameters(),lr = learning_rate,
)
# 訓(xùn)練網(wǎng)絡(luò)
epochs = 5
losses = [] # 記錄損失函數(shù)變化的列表
for epoch in range(epochs):for (x, y) in train_loader: # 獲取小批次的 x 與 yx, y = x.to('cuda:0'), y.to('cuda:0')Pred = model(x) # 一次前向傳播(小批量)loss = loss_fn(Pred, y) # 計(jì)算損失函數(shù)losses.append(loss.item()) # 記錄損失函數(shù)的變化optimizer.zero_grad() # 清理上一輪滯留的梯度loss.backward() # 一次反向傳播optimizer.step() # 優(yōu)化內(nèi)部參數(shù)
Fig = plt.figure()
plt.plot(range(len(losses)), losses)
plt.show()

測試網(wǎng)絡(luò)

# 測試網(wǎng)絡(luò)
correct = 0
total = 0
with torch.no_grad(): # 該局部關(guān)閉梯度計(jì)算功能for (x, y) in test_loader: # 獲取小批次的 x 與 yx, y = x.to('cuda:0'), y.to('cuda:0')Pred = model(x) # 一次前向傳播(小批量)_, predicted = torch.max(Pred.data, dim=1)correct += torch.sum( (predicted == y) )total += y.size(0)
print(f'測試集精準(zhǔn)度: {100*correct/total} %')

使用網(wǎng)絡(luò)

# 保存網(wǎng)絡(luò)
torch.save(model, 'CNN.path')
new_model = torch.load('CNN.path')

完整代碼

import torch
import torch.nn as nn
from torch.utils.data import DataLoader
from torchvision import transforms
from torchvision import datasets
import matplotlib.pyplot as plt# 制作數(shù)據(jù)集
# 數(shù)據(jù)集轉(zhuǎn)換參數(shù)
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize(0.1307, 0.3081)
])
# 下載訓(xùn)練集與測試集
train_Data = datasets.MNIST(
root = 'D:/Postgraduate/python_project/CNN', # 下載路徑
train = True, # 是 train 集
download = True, # 如果該路徑?jīng)]有該數(shù)據(jù)集,就下載
transform = transform # 數(shù)據(jù)集轉(zhuǎn)換參數(shù)
)
test_Data = datasets.MNIST(
root = 'D:/Postgraduate/python_project/CNN', # 下載路徑
train = False, # 是 test 集
download = True, # 如果該路徑?jīng)]有該數(shù)據(jù)集,就下載
transform = transform # 數(shù)據(jù)集轉(zhuǎn)換參數(shù)
)
# 批次加載器
train_loader = DataLoader(train_Data, shuffle=True, batch_size=256)
test_loader = DataLoader(test_Data, shuffle=False, batch_size=256)class CNN(nn.Module):def __init__(self):super(CNN,self).__init__()self.net = nn.Sequential(nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Tanh(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Conv2d(6, 16, kernel_size=5), nn.Tanh(),nn.AvgPool2d(kernel_size=2, stride=2),nn.Conv2d(16, 120, kernel_size=5), nn.Tanh(),nn.Flatten(),nn.Linear(120, 84), nn.Tanh(),nn.Linear(84, 10)
)def forward(self, x):y = self.net(x)return y
# 創(chuàng)建子類的實(shí)例,并搬到 GPU 上
model = CNN().to('cuda:0')
# 訓(xùn)練網(wǎng)絡(luò)
# 損失函數(shù)的選擇
loss_fn = nn.CrossEntropyLoss() # 自帶 softmax 激活函數(shù)
# 優(yōu)化算法的選擇
learning_rate = 0.9 # 設(shè)置學(xué)習(xí)率
optimizer = torch.optim.SGD(model.parameters(),lr = learning_rate,
)
# 訓(xùn)練網(wǎng)絡(luò)
epochs = 5
losses = [] # 記錄損失函數(shù)變化的列表
for epoch in range(epochs):for (x, y) in train_loader: # 獲取小批次的 x 與 yx, y = x.to('cuda:0'), y.to('cuda:0')Pred = model(x) # 一次前向傳播(小批量)loss = loss_fn(Pred, y) # 計(jì)算損失函數(shù)losses.append(loss.item()) # 記錄損失函數(shù)的變化optimizer.zero_grad() # 清理上一輪滯留的梯度loss.backward() # 一次反向傳播optimizer.step() # 優(yōu)化內(nèi)部參數(shù)
Fig = plt.figure()
plt.plot(range(len(losses)), losses)
plt.show()# 測試網(wǎng)絡(luò)
correct = 0
total = 0
with torch.no_grad(): # 該局部關(guān)閉梯度計(jì)算功能for (x, y) in test_loader: # 獲取小批次的 x 與 yx, y = x.to('cuda:0'), y.to('cuda:0')Pred = model(x) # 一次前向傳播(小批量)_, predicted = torch.max(Pred.data, dim=1)correct += torch.sum( (predicted == y) )total += y.size(0)
print(f'測試集精準(zhǔn)度: {100*correct/total} %')# 保存網(wǎng)絡(luò)
torch.save(model, 'CNN.path')
new_model = torch.load('CNN.path')

運(yùn)行截圖

http://www.risenshineclean.com/news/203.html

相關(guān)文章:

  • 微信的企業(yè)網(wǎng)站模板/萬能bt搜索引擎
  • 可愛卡通ppt模板免費(fèi)下載/搜索引擎優(yōu)化論文3000字
  • 中山做app網(wǎng)站公司嗎/引流推廣的句子
  • 推薦算法 網(wǎng)站開發(fā) java/制作網(wǎng)頁用什么軟件
  • 小微型企業(yè)網(wǎng)站建立/市場營銷是做什么的
  • 網(wǎng)站開發(fā)的功能需求怎么寫/shopify seo
  • 釘釘在線課堂/大連seo建站
  • 濰坊網(wǎng)站建設(shè)價(jià)格/一個(gè)好的產(chǎn)品怎么推廣
  • 域名做違法網(wǎng)站/西安百度競價(jià)托管代運(yùn)營
  • 招聘網(wǎng)站開發(fā)價(jià)格/福州整站優(yōu)化
  • 德清縣城鄉(xiāng)建設(shè)局網(wǎng)站/微信朋友圈軟文大全
  • 網(wǎng)站建設(shè)公司做銷售好不好?/國內(nèi)最新新聞
  • 商業(yè)平臺網(wǎng)站開發(fā)/凡科網(wǎng)建站系統(tǒng)源碼
  • 蘇州專業(yè)做網(wǎng)站的公司/網(wǎng)站開發(fā)北京公司
  • 北京微網(wǎng)站制作/深圳競價(jià)托管公司
  • 網(wǎng)站建設(shè)拾金手指下拉二十/百度排行榜風(fēng)云榜小說
  • 國家新聞出版署是什么機(jī)構(gòu)/揚(yáng)州seo博客
  • 重慶人才招聘網(wǎng)官網(wǎng)/重慶seo
  • 西安做網(wǎng)站南通公司/谷歌瀏覽器網(wǎng)頁版進(jìn)入
  • led網(wǎng)站建設(shè)方案模板/成人本科報(bào)考官網(wǎng)
  • 互聯(lián)網(wǎng)網(wǎng)站建設(shè)制作/長沙百度推廣開戶
  • 中山網(wǎng)站制作公司/網(wǎng)站建設(shè)首頁
  • 品牌建設(shè)的路徑/網(wǎng)站排名優(yōu)化查詢
  • 江蘇今天剛剛的最新新聞/seo網(wǎng)站優(yōu)化報(bào)價(jià)
  • 中海建筑建設(shè)有限公司網(wǎng)站/seo排名賺app下載
  • 建湖做網(wǎng)站哪家公司好/seo排名優(yōu)化推廣報(bào)價(jià)
  • wordpress添加主題設(shè)置選項(xiàng)/搜索引擎優(yōu)化是指
  • 洛陽市App網(wǎng)站開發(fā)公司/挖掘愛站網(wǎng)
  • 廉江新聞最新消息/南京百度seo
  • 百度seo排名點(diǎn)擊/廣州網(wǎng)站快速優(yōu)化排名