校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Pytorch中的數據集劃分&正則化方法

Pytorch中的數據集劃分&正則化方法

熱門標簽:400電話辦理哪種 開封語音外呼系統代理商 地圖標注線上如何操作 河北防封卡電銷卡 應電話機器人打電話違法嗎 手機網頁嵌入地圖標注位置 開封自動外呼系統怎么收費 天津電話機器人公司 電銷機器人的風險

1.訓練集驗證集測試集

訓練集:訓練數據

驗證集:驗證不同算法(比如利用網格搜索對超參數進行調整等),檢驗哪種更有效

測試集:正確評估分類器的性能

正常流程:驗證集會記錄每個時間戳的參數,在加載test數據前會加載那個最好的參數,再來評估。比方說訓練完6000個epoch后,發現在第3520個epoch的validation表現最好,測試時會加載第3520個epoch的參數。

import  torch
import  torch.nn as nn
import  torch.nn.functional as F
import  torch.optim as optim
from    torchvision import datasets, transforms
#超參數
batch_size=200
learning_rate=0.01
epochs=10
#獲取訓練數據
train_db = datasets.MNIST('../data', train=True, download=True,   #train=True則得到的是訓練集
                   transform=transforms.Compose([                 #transform進行數據預處理
                       transforms.ToTensor(),                     #轉成Tensor類型的數據
                       transforms.Normalize((0.1307,), (0.3081,)) #進行數據標準化(減去均值除以方差)
                   ]))
#DataLoader把訓練數據分成多個小組,此函數每次拋出一組數據。直至把所有的數據都拋出。就是做一個數據的初始化
train_loader = torch.utils.data.DataLoader(train_db, batch_size=batch_size, shuffle=True)
#獲取測試數據
test_db = datasets.MNIST('../data', train=False,
                   transform=transforms.Compose([
                        transforms.ToTensor(),
                        transforms.Normalize((0.1307,), (0.3081,))
                   ]))
test_loader = torch.utils.data.DataLoader(test_db, batch_size=batch_size, shuffle=True)
#將訓練集拆分成訓練集和驗證集
print('train:', len(train_db), 'test:', len(test_db))                              #train: 60000 test: 10000
train_db, val_db = torch.utils.data.random_split(train_db, [50000, 10000])
print('db1:', len(train_db), 'db2:', len(val_db))                                  #db1: 50000 db2: 10000
train_loader = torch.utils.data.DataLoader(train_db, batch_size=batch_size, shuffle=True)
val_loader = torch.utils.data.DataLoader(val_db, batch_size=batch_size, shuffle=True)
class MLP(nn.Module):
    def __init__(self):
        super(MLP, self).__init__()
        self.model = nn.Sequential(         #定義網絡的每一層,
            nn.Linear(784, 200),
            nn.ReLU(inplace=True),
            nn.Linear(200, 200),
            nn.ReLU(inplace=True),
            nn.Linear(200, 10),
            nn.ReLU(inplace=True),
        )
    def forward(self, x):
        x = self.model(x)
        return x
net = MLP()
#定義sgd優化器,指明優化參數、學習率,net.parameters()得到這個類所定義的網絡的參數[[w1,b1,w2,b2,...]
optimizer = optim.SGD(net.parameters(), lr=learning_rate)
criteon = nn.CrossEntropyLoss()
for epoch in range(epochs):
    for batch_idx, (data, target) in enumerate(train_loader):
        data = data.view(-1, 28*28)          #將二維的圖片數據攤平[樣本數,784]
        logits = net(data)                   #前向傳播
        loss = criteon(logits, target)       #nn.CrossEntropyLoss()自帶Softmax
        optimizer.zero_grad()                #梯度信息清空
        loss.backward()                      #反向傳播獲取梯度
        optimizer.step()                     #優化器更新
        if batch_idx % 100 == 0:             #每100個batch輸出一次信息
            print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(
                epoch, batch_idx * len(data), len(train_loader.dataset),
                       100. * batch_idx / len(train_loader), loss.item()))
    #驗證集用來檢測訓練是否過擬合
    val_loss = 0
    correct = 0
    for data, target in val_loader:
        data = data.view(-1, 28 * 28)
        logits = net(data)
        val_loss += criteon(logits, target).item()
        pred = logits.data.max(dim=1)[1]
        correct += pred.eq(target.data).sum()
    val_loss /= len(val_loader.dataset)
    print('\nVAL set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(
        val_loss, correct, len(val_loader.dataset),
        100. * correct / len(val_loader.dataset)))
#測試集用來評估
test_loss = 0
correct = 0                                         #correct記錄正確分類的樣本數
for data, target in test_loader:
    data = data.view(-1, 28 * 28)
    logits = net(data)
    test_loss += criteon(logits, target).item()     #其實就是criteon(logits, target)的值,標量
    pred = logits.data.max(dim=1)[1]                #也可以寫成pred=logits.argmax(dim=1)
    correct += pred.eq(target.data).sum()
test_loss /= len(test_loader.dataset)
print('\nTest set: Average loss: {:.4f}, Accuracy: {}/{} ({:.0f}%)\n'.format(
    test_loss, correct, len(test_loader.dataset),
    100. * correct / len(test_loader.dataset)))

2.正則化

正則化可以解決過擬合問題。

2.1L2范數(更常用)

在定義優化器的時候設定weigth_decay,即L2范數前面的λ參數。

optimizer = torch.optim.SGD(net.parameters(), lr=learning_rate, weight_decay=0.01)

2.2L1范數

Pytorch沒有直接可以調用的方法,實現如下:

3.動量(Momentum)

Adam優化器內置了momentum,SGD需要手動設置。

optimizer = torch.optim.SGD(model.parameters(), args=lr, momentum=args.momentum, weight_decay=args.weight_decay)

4.學習率衰減

torch.optim.lr_scheduler 中提供了基于多種epoch數目調整學習率的方法。

4.1torch.optim.lr_scheduler.ReduceLROnPlateau:基于測量指標對學習率進行動態的下降

torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08)

訓練過程中,optimizer會把learning rate 交給scheduler管理,當指標(比如loss)連續patience次數還沒有改進時,需要降低學習率,factor為每次下降的比例。

scheduler.step(loss_val)每調用一次就會監聽一次loss_val。

4.2torch.optim.lr_scheduler.StepLR:基于epoch

torch.optim.lr_scheduler.StepLR(optimizer, step_size, gamma=0.1, last_epoch=-1)

當epoch每過stop_size時,學習率都變為初始學習率的gamma倍。

5.提前停止(防止overfitting)

基于經驗值。

6.Dropout隨機失活

遍歷每一層,設置消除神經網絡中的節點概率,得到精簡后的一個樣本。

torch.nn.Dropout(p=dropout_prob) 

p表示的示的是刪除節點數的比例(Tip:tensorflow中keep_prob表示保留節點數的比例,不要混淆)

測試階段無需使用dropout,所以在train之前執行net_dropped.train()相當于啟用dropout,測試之前執行net_dropped.eval()相當于不啟用dropout。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • 在Pytorch中使用樣本權重(sample_weight)的正確方法
  • Pytorch 如何實現常用正則化
  • PyTorch 實現L2正則化以及Dropout的操作
  • Python深度學習pyTorch權重衰減與L2范數正則化解析

標簽:成都 江蘇 常州 蘭州 宿遷 六盤水 駐馬店 山東

巨人網絡通訊聲明:本文標題《Pytorch中的數據集劃分&正則化方法》,本文關鍵詞  Pytorch,中的,數據,集,劃分,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Pytorch中的數據集劃分&正則化方法》相關的同類信息!
  • 本頁收集關于Pytorch中的數據集劃分&正則化方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    日韩精品一区二区三区中文精品| 欧美日韩黄色一区二区| 毛片基地黄久久久久久天堂| 图片区小说区区亚洲影院| 亚洲国产精品久久不卡毛片| 亚洲国产综合人成综合网站| 偷偷要91色婷婷| 日韩激情av在线| 久久se这里有精品| 国产一区二区三区最好精华液| 国产乱子伦视频一区二区三区 | 国产精品美女久久久久久2018| 久久久久久久综合狠狠综合| 日本一区二区三区dvd视频在线| 日本一区二区免费在线观看视频| 国产精品美女久久久久久久久 | 国产真实乱对白精彩久久| 国产美女一区二区三区| 成人激情校园春色| 色婷婷亚洲综合| 91精品国产欧美日韩| 久久亚洲二区三区| 一区二区视频在线| 日日摸夜夜添夜夜添亚洲女人| 极品美女销魂一区二区三区 | 国产精品一级二级三级| av激情亚洲男人天堂| 欧美色电影在线| 久久精品一区二区三区不卡 | 日韩一级完整毛片| 国产午夜亚洲精品理论片色戒| 一区二区在线看| 国产一区二区在线看| 欧美性受极品xxxx喷水| 精品欧美一区二区三区精品久久 | 国产精品人成在线观看免费| 亚洲激情av在线| 国产精品1区二区.| 欧美精品777| 久久电影网电视剧免费观看| 91蝌蚪porny九色| 日韩视频不卡中文| 亚洲精品你懂的| 国产成人在线视频网站| 欧美日韩国产系列| 国产精品无人区| 精品一区二区三区av| 日本韩国欧美三级| 国产精品入口麻豆原神| 美国三级日本三级久久99| 欧美性淫爽ww久久久久无| 中文字幕精品—区二区四季| 毛片av一区二区| 欧美日韩黄色影视| 一区二区三区日韩精品| 丁香激情综合国产| 久久色视频免费观看| 日韩av中文字幕一区二区| 欧美私模裸体表演在线观看| 亚洲色欲色欲www| av一二三不卡影片| 国产视频一区二区三区在线观看| 捆绑紧缚一区二区三区视频 | 成人视屏免费看| 久久综合九色综合97_久久久 | 久久免费国产精品| 另类综合日韩欧美亚洲| 日韩三区在线观看| 蜜桃视频一区二区三区 | 精品国产一区二区国模嫣然| 日韩国产在线观看一区| 欧美理论片在线| 天涯成人国产亚洲精品一区av| 欧美理论电影在线| 日本成人在线看| 欧美成人官网二区| 久久99精品久久久久久久久久久久 | 成人精品国产福利| 欧美精彩视频一区二区三区| 国产传媒一区在线| 国产日韩欧美一区二区三区综合| 国产一区二区三区最好精华液 | 99久久精品免费观看| 日韩理论片在线| 精品视频免费看| 热久久国产精品| 久久久不卡网国产精品二区| 成人一区二区三区视频| 一区二区三区中文字幕| 91精品在线观看入口| 国产福利91精品| 亚洲男人的天堂av| 欧美一级片在线| 国产成人av资源| 亚洲国产日韩a在线播放| 欧美一区二区三区在线电影| 国产一区二区三区四| 亚洲欧美经典视频| 日韩女优毛片在线| av在线不卡免费看| 日韩不卡一二三区| 国产精品三级视频| 7777精品久久久大香线蕉| 国产激情一区二区三区| 一区二区三区在线影院| 日韩欧美二区三区| 91亚洲精品久久久蜜桃网站| 蜜桃av一区二区| 亚洲欧洲日韩女同| 日韩午夜在线观看| 99久久免费视频.com| 美国毛片一区二区三区| 国产精品理论片| 日韩欧美高清dvd碟片| 99久久综合精品| 另类欧美日韩国产在线| 亚洲欧美日韩电影| 久久精品一区二区三区av| 欧美亚洲国产一区二区三区| 国产成人av在线影院| 日韩电影免费在线观看网站| 国产精品国产三级国产普通话99| 日韩一区二区三区视频在线| 色哟哟国产精品| 成人av电影在线观看| 国产在线观看免费一区| 亚洲线精品一区二区三区| 亚洲精品一区二区精华| 欧美日韩亚洲不卡| 91丨国产丨九色丨pron| 国内精品久久久久影院薰衣草| 五月天丁香久久| 亚洲影院在线观看| 中文字幕一区二区三区在线不卡| 久久婷婷国产综合国色天香| 日韩欧美一二区| 欧美麻豆精品久久久久久| 色妹子一区二区| 色呦呦一区二区三区| 99久久国产综合精品女不卡| 粉嫩av一区二区三区| 懂色一区二区三区免费观看 | 国产精品国产三级国产aⅴ无密码| 日韩午夜激情免费电影| 91精品国产综合久久婷婷香蕉 | 免费在线观看一区| 午夜精品福利一区二区三区av | 尤物在线观看一区| 亚洲理论在线观看| 亚洲精品日韩一| 伊人夜夜躁av伊人久久| 亚洲一区二区三区影院| 亚洲一区二区三区小说| 一区二区三区美女| 亚洲va韩国va欧美va| 无码av免费一区二区三区试看 | 精品成人一区二区三区| 精品久久久久久久人人人人传媒| 91精品国产全国免费观看| 在线播放91灌醉迷j高跟美女| 91麻豆精品国产91久久久久久| 555www色欧美视频| 久久影院视频免费| 国产精品久久久久久久岛一牛影视| 国产精品美女久久久久av爽李琼 | 欧美日韩视频第一区| 欧美美女网站色| 日韩欧美一卡二卡| 久久色中文字幕| 亚洲色图另类专区| 日韩国产精品91| 国产成人在线网站| 日本精品视频一区二区三区| 欧美日韩国产精品成人| 久久一区二区三区四区| 亚洲国产精品av| 亚洲18影院在线观看| 韩国精品主播一区二区在线观看| 成人在线一区二区三区| 欧美网站一区二区| 久久青草国产手机看片福利盒子| 中文字幕一区免费在线观看| 天天av天天翘天天综合网色鬼国产 | 国产成人av电影在线观看| 色综合久久久久综合| 欧美成人高清电影在线| 亚洲欧洲日韩在线| 久久国产精品一区二区| av不卡免费电影| 日韩三级在线观看| 中文字幕制服丝袜成人av| 日韩综合小视频| 99国产欧美另类久久久精品| 日韩小视频在线观看专区| 亚洲欧洲成人精品av97| 精品制服美女丁香| 欧美午夜精品一区二区三区| 国产亚洲欧美日韩日本| 亚洲成av人片一区二区三区| 成人教育av在线|