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

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

網(wǎng)站備案 取名資訊通不過外貿(mào)網(wǎng)站推廣費用

網(wǎng)站備案 取名資訊通不過,外貿(mào)網(wǎng)站推廣費用,微信做網(wǎng)站代購,重慶網(wǎng)站建設(shè)公司名單目錄 一、實驗?zāi)康? 二、實驗環(huán)境 三、實驗內(nèi)容 3.1 完成解壓數(shù)據(jù)集相關(guān)操作 3.2分析代碼結(jié)構(gòu)并運行代碼查看結(jié)果 3.3修改超參數(shù)(批量大小、學(xué)習(xí)率、Epoch)并對比分析不同結(jié)果 3.4修改網(wǎng)絡(luò)結(jié)構(gòu)(隱藏層數(shù)、神經(jīng)元個數(shù))并對比分…

目錄

一、實驗?zāi)康?/p>

二、實驗環(huán)境

三、實驗內(nèi)容

3.1 完成解壓數(shù)據(jù)集相關(guān)操作

3.2分析代碼結(jié)構(gòu)并運行代碼查看結(jié)果

3.3修改超參數(shù)(批量大小、學(xué)習(xí)率、Epoch)并對比分析不同結(jié)果

3.4修改網(wǎng)絡(luò)結(jié)構(gòu)(隱藏層數(shù)、神經(jīng)元個數(shù))并對比分析不同結(jié)果

四、實驗小結(jié)


一、實驗?zāi)康?/strong>

  1. 了解python語法
  2. 了解全連接神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
  3. 調(diào)整超參數(shù)、修改網(wǎng)絡(luò)結(jié)構(gòu)并對比分析其結(jié)果

二、實驗環(huán)境

Baidu 飛槳AI Studio

三、實驗內(nèi)容

3.1 完成解壓數(shù)據(jù)集相關(guān)操作

輸入以下兩行命令解壓數(shù)據(jù)集

(1)cd ./data/data230? ? ?

(2)unzip Minst.zip

運行后結(jié)果如圖1所示

圖 1?解壓數(shù)據(jù)集

3.2分析代碼結(jié)構(gòu)并運行代碼查看結(jié)果

代碼結(jié)構(gòu):

import?torchfrom?torch?import?nn,?optimfrom?torch.autograd?import?Variablefrom?torch.utils.data?import?DataLoaderfrom?torchvision?import?datasets,?transformsbatch_size?=?64learning_rate?=?0.02class?Batch_Net(nn.Module):def?__init__(self,?in_dim,?n_hidden_1,?n_hidden_2,?out_dim):super(Batch_Net,?self).__init__()self.layer1?=?nn.Sequential(nn.Linear(in_dim,?n_hidden_1),?nn.BatchNorm1d(n_hidden_1),?nn.ReLU(True))self.layer2?=?nn.Sequential(nn.Linear(n_hidden_1,?n_hidden_2),?nn.BatchNorm1d(n_hidden_2),?nn.ReLU(True))self.layer3?=?nn.Sequential(nn.Linear(n_hidden_2,?out_dim))def?forward(self,?x):x?=?self.layer1(x)x?=?self.layer2(x)x?=?self.layer3(x)return?xdata_tf?=?transforms.Compose([transforms.ToTensor(),transforms.Normalize([0.5],?[0.5])])train_dataset?=?datasets.MNIST(root='./data/data230',?train=True,?transform=data_tf,?download=True)test_dataset?=?datasets.MNIST(root='./data/data230',?train=False,?transform=data_tf)train_loader?=?DataLoader(train_dataset,?batch_size=batch_size,?shuffle=True)test_loader?=?DataLoader(test_dataset,?batch_size=batch_size,?shuffle=False)#model?=?net.simpleNet(28?*?28,?300,?100,?10)#?model?=?Activation_Net(28?*?28,?300,?100,?10)model?=?Batch_Net(28?*?28,?300,?100,?10)if?torch.cuda.is_available():model?=?model.cuda()criterion?=?nn.CrossEntropyLoss()optimizer?=?optim.SGD(model.parameters(),?lr=learning_rate)epoch?=?0for?data?in?train_loader:img,?label?=?dataimg?=?img.view(img.size(0),?-1)if?torch.cuda.is_available():img?=?img.cuda()label?=?label.cuda()else:img?=?Variable(img)label?=?Variable(label)out?=?model(img)loss?=?criterion(out,?label)print_loss?=?loss.data.item()optimizer.zero_grad()loss.backward()optimizer.step()epoch+=1if?epoch%100?==?0:print('epoch:?{},?loss:?{:.4}'.format(epoch,?loss.data.item()))model.eval()eval_loss?=?0eval_acc?=?0for?data?in?test_loader:img,?label?=?dataimg?=?img.view(img.size(0),?-1)if?torch.cuda.is_available():img?=?img.cuda()label?=?label.cuda()out?=?model(img)loss?=?criterion(out,?label)eval_loss?+=?loss.data.item()*label.size(0)_,?pred?=?torch.max(out,?1)num_correct?=?(pred?==?label).sum()eval_acc?+=?num_correct.item()print('Test?Loss:?{:.6f},?Acc:?{:.6f}'.format(eval_loss?/?(len(test_dataset)),eval_acc?/?(len(test_dataset))))

代碼分析

代碼實現(xiàn)了通過使用批標(biāo)準(zhǔn)化的神經(jīng)網(wǎng)絡(luò)模型對MNIST數(shù)據(jù)集進(jìn)行分類。

1.首先定義一些模型中會用到的超參數(shù),在實驗中設(shè)置批量大小(batch_size)為64,學(xué)習(xí)率(learning_rate)為0.02

2.定義Batch_Net神經(jīng)網(wǎng)絡(luò)類繼承自torch庫的nn.Module。

(1)定義的初始化函數(shù)_init_接收輸入維度(in_dim)、兩個隱藏層神經(jīng)元數(shù)量(n_hidden_1和n_hidden_2)和輸出維度(out_dim)作為參數(shù),定義第一層和第二層網(wǎng)絡(luò)結(jié)構(gòu),包括線性變換、批標(biāo)準(zhǔn)化和ReLU激活函數(shù),第三層網(wǎng)絡(luò)結(jié)構(gòu)只包括線性變換。

(2)定義的forward前向傳播函數(shù)接受輸入x,依次經(jīng)過三層網(wǎng)絡(luò)結(jié)構(gòu)處理后返回處理結(jié)果。

3.將數(shù)據(jù)進(jìn)行預(yù)處理。包括使用transforms.ToTensor()將圖片轉(zhuǎn)換成PyTorch中處理的對象Tensor,并進(jìn)行標(biāo)準(zhǔn)化操作,通過transforms.Normalize()做歸一化(減均值,再除以標(biāo)準(zhǔn)差)操作,通過transforms.Compose()函數(shù)組合各種預(yù)處理的操作。

4.下載并加載MNIST訓(xùn)練數(shù)據(jù)(train_dataset)以及測試數(shù)據(jù)(test_dataset);創(chuàng)建數(shù)據(jù)加載器,用于批量加載訓(xùn)練數(shù)據(jù)(train_loader)和測試數(shù)據(jù)(test_loader)。

5.選擇訓(xùn)練的模型,實驗中選擇Batch_Net模型,判斷GPU是否可用,如果GPU可用,則將模型放到GPU上運行。在定義損失函數(shù)(criterion)和優(yōu)化器(optimizer),損失函數(shù)使用交叉熵?fù)p失,優(yōu)化器使用隨機梯度下降優(yōu)化器。

6.開始訓(xùn)練模型,遍歷訓(xùn)練數(shù)據(jù),通過img.view(img.size(0), -1)將圖像數(shù)據(jù)調(diào)整為一維張量,以便與模型的輸入匹配。計算損失值(loss)并進(jìn)行反向傳播和參數(shù)更新,每100個epoch打印一次訓(xùn)練損失,最后評估模型在測試集上的性能,計算并打印總損失(將損失值乘以當(dāng)前批次的樣本數(shù)量,累加到eval_loss中)和準(zhǔn)確率(eval_acc)。

運行代碼后的結(jié)果如圖所示:

圖 2?批量大小=64,學(xué)習(xí)率=0.02,Epoch次數(shù)=100

3.3修改超參數(shù)(批量大小、學(xué)習(xí)率、Epoch)并對比分析不同結(jié)果

1.當(dāng)只修改批量大小batch_size時(學(xué)習(xí)率=0.02,Epoch次數(shù)=100)

(1)batch_size=16,結(jié)果如圖3所示

圖 3

(2)batch_size=64,結(jié)果如圖4所示

圖 4

(3)batch_size=128,結(jié)果如圖5所示

圖 5

對比總結(jié):增大batch_size后,數(shù)據(jù)的處理速度加快,運行時間變短,跑完一次 epoch(全數(shù)據(jù)集)所迭代的次數(shù)減少。

2.當(dāng)只修改學(xué)習(xí)率learning_rate時(批量大小=64,Epoch次數(shù)=100)

(1)learning_rate=0.005,結(jié)果如圖6所示。

圖 6

(2)learning_rate=0.02,結(jié)果如圖7所示。

圖 7

(3)learning_rate=0.1,結(jié)果如圖8所示。

圖 8

(4)learning_rate=0.4,結(jié)果如圖9所示。

圖 9

對比總結(jié):當(dāng)學(xué)習(xí)率適當(dāng)增大時可能會有助于降低損失函數(shù),提高模型的精確度,但是當(dāng)學(xué)習(xí)率超出一定范圍則會降低模型的精確率。

3.當(dāng)只修改Epoch次數(shù)時(批量大小=64,學(xué)習(xí)率=0.02)

(1)Epoch=50,結(jié)果如圖10所示。

圖 10

(2)Epoch=100,結(jié)果如圖11所示。

圖 11

(3)Epoch=200,結(jié)果如圖12所示。

圖 12

對比總結(jié):不同Epoch次數(shù)導(dǎo)致?lián)p失函數(shù)不同、模型的準(zhǔn)確率有所差別。

3.4修改網(wǎng)絡(luò)結(jié)構(gòu)(隱藏層數(shù)、神經(jīng)元個數(shù))并對比分析不同結(jié)果

1.修改神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)

(1)隱藏層數(shù)為兩層時的結(jié)果(n_hidden_1、n_hidden_2),結(jié)果如圖13所示。

圖 13

(2)隱藏層數(shù)為三層時的結(jié)果(n_hidden_1、n_hidden_2、n_hidden_3),結(jié)果如圖14所示。

圖 14

對比結(jié)果:可以看到,增加隱藏層個數(shù)后,運行時間增加,損失函數(shù)有所降低,三層隱藏層網(wǎng)絡(luò)結(jié)構(gòu)的模型準(zhǔn)確率較高于兩層隱藏層模型的準(zhǔn)確率。

2.修改神經(jīng)元個數(shù)(這里基于三層隱藏層數(shù)進(jìn)行實驗)

(1)神經(jīng)元個數(shù)參數(shù)設(shè)定為model = Batch_Net(28 * 28, 300, 200,100, 10),結(jié)果如圖15所示。

圖 15

(2)神經(jīng)元個數(shù)參數(shù)設(shè)定為model = Batch_Net(28 * 28, 400, 300,200, 10),結(jié)果如圖16所示。

圖 16

(3)神經(jīng)元個數(shù)參數(shù)設(shè)定為model = Batch_Net(28 * 28, 200, 100,50, 10),結(jié)果如圖17所示。

圖 17

實驗小結(jié)

超參數(shù)是在訓(xùn)練神經(jīng)網(wǎng)絡(luò)之前設(shè)置的,而不是通過訓(xùn)練過程中學(xué)習(xí)得出的。常見的超參數(shù)包括學(xué)習(xí)率、批量大小、隱藏層的數(shù)量、神經(jīng)元的個數(shù)等等。在使用深度神經(jīng)網(wǎng)絡(luò)時,正確地調(diào)整超參數(shù)是提高模型性能的關(guān)鍵。

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

相關(guān)文章:

  • 去除wordpress相冊系統(tǒng)優(yōu)化工具
  • 做網(wǎng)站的回扣什么是seo?
  • 蘇州做門戶網(wǎng)站的公司公司網(wǎng)站怎么優(yōu)化
  • 中國建設(shè)銀行移動門戶網(wǎng)站百度推廣客戶端app
  • 阿里巴巴網(wǎng)站做推廣效果怎么樣如何制作一個網(wǎng)址
  • 重慶福彩建站2022新聞熱點10條
  • 怎么把網(wǎng)站做火seo入門培訓(xùn)課程
  • 泰國做彩票網(wǎng)站企業(yè)網(wǎng)站營銷的實現(xiàn)方式
  • 大數(shù)據(jù)技術(shù)建設(shè)網(wǎng)站百度地圖人工電話
  • 王也臺詞輿情優(yōu)化公司
  • 限制個人做網(wǎng)站愛客crm
  • 會計可以做網(wǎng)站么網(wǎng)店營銷
  • wordpress站點實例百度云網(wǎng)盤資源
  • 什么企業(yè)的網(wǎng)絡(luò)營銷策略好寫網(wǎng)絡(luò)seo軟件
  • 個人主頁網(wǎng)站設(shè)計代碼新媒體營銷六種方式
  • 怎么在百度建網(wǎng)站yahoo引擎入口
  • 網(wǎng)站側(cè)欄設(shè)計合肥百度快速排名優(yōu)化
  • 泰州網(wǎng)站建設(shè)設(shè)計營銷推廣活動方案
  • 北京地區(qū)做網(wǎng)站推廣用哪家的好服裝市場調(diào)研報告范文
  • 做任務(wù)的獎金網(wǎng)站百度新站關(guān)鍵詞排名
  • 做ppt常用網(wǎng)站口碑營銷成功案例有哪些
  • 網(wǎng)站排名快速見效的方法鄒平縣seo網(wǎng)頁優(yōu)化外包
  • 自己有服務(wù)器怎么做網(wǎng)站免費學(xué)生網(wǎng)頁制作成品
  • flash 學(xué)習(xí)網(wǎng)站找一個免費域名的網(wǎng)站
  • 養(yǎng)殖企業(yè)網(wǎng)站模板新冠疫情最新情況最新消息
  • 成都的網(wǎng)站建設(shè)開發(fā)公司珠海網(wǎng)絡(luò)推廣公司
  • 免費制作單頁的網(wǎng)站鏈接搜索引擎
  • 正宗營銷型網(wǎng)站建設(shè)百度網(wǎng)站的域名地址
  • 100元網(wǎng)站建設(shè)寧波網(wǎng)絡(luò)推廣平臺
  • 如何管理個人網(wǎng)站推廣網(wǎng)站有效的方法