最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch 6 batch_train 批訓(xùn)練操作

 更新時(shí)間:2021年05月28日 14:40:57   作者:YangZhaonan  
這篇文章主要介紹了pytorch 6 batch_train 批訓(xùn)練操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

看代碼吧~

import torch
import torch.utils.data as Data
torch.manual_seed(1)    # reproducible
# BATCH_SIZE = 5  
BATCH_SIZE = 8      # 每次使用8個數(shù)據(jù)同時(shí)傳入網(wǎng)路
x = torch.linspace(1, 10, 10)       # this is x data (torch tensor)
y = torch.linspace(10, 1, 10)       # this is y data (torch tensor)
torch_dataset = Data.TensorDataset(x, y)
loader = Data.DataLoader(
    dataset=torch_dataset,      # torch TensorDataset format
    batch_size=BATCH_SIZE,      # mini batch size
    shuffle=False,              # 設(shè)置不隨機(jī)打亂數(shù)據(jù) random shuffle for training
    num_workers=2,              # 使用兩個進(jìn)程提取數(shù)據(jù),subprocesses for loading data
)
def show_batch():
    for epoch in range(3):   # 全部的數(shù)據(jù)使用3遍,train entire dataset 3 times
        for step, (batch_x, batch_y) in enumerate(loader):  # for each training step
            # train your data...
            print('Epoch: ', epoch, '| Step: ', step, '| batch x: ',
                  batch_x.numpy(), '| batch y: ', batch_y.numpy())
if __name__ == '__main__':
    show_batch()

BATCH_SIZE = 8 , 所有數(shù)據(jù)利用三次

Epoch:  0 | Step:  0 | batch x:  [1. 2. 3. 4. 5. 6. 7. 8.] | batch y:  [10.  9.  8.  7.  6.  5.  4.  3.]
Epoch:  0 | Step:  1 | batch x:  [ 9. 10.] | batch y:  [2. 1.]
Epoch:  1 | Step:  0 | batch x:  [1. 2. 3. 4. 5. 6. 7. 8.] | batch y:  [10.  9.  8.  7.  6.  5.  4.  3.]
Epoch:  1 | Step:  1 | batch x:  [ 9. 10.] | batch y:  [2. 1.]
Epoch:  2 | Step:  0 | batch x:  [1. 2. 3. 4. 5. 6. 7. 8.] | batch y:  [10.  9.  8.  7.  6.  5.  4.  3.]
Epoch:  2 | Step:  1 | batch x:  [ 9. 10.] | batch y:  [2. 1.]

補(bǔ)充:pytorch批訓(xùn)練bug

問題描述:

在進(jìn)行pytorch神經(jīng)網(wǎng)絡(luò)批訓(xùn)練的時(shí)候,有時(shí)會出現(xiàn)報(bào)錯 

TypeError: batch must contain tensors, numbers, dicts or lists; found <class 'torch.autograd.variable.Variable'>

解決辦法:

第一步:

檢查(重點(diǎn)?。。。?!):

train_dataset = Data.TensorDataset(train_x, train_y)

train_x,和train_y格式,要求是tensor類,我第一次出錯就是因?yàn)閭魅氲氖莢ariable

可以這樣將數(shù)據(jù)變?yōu)閠ensor類:

train_x = torch.FloatTensor(train_x)

第二步:

train_loader = Data.DataLoader(
        dataset=train_dataset,
        batch_size=batch_size,
        shuffle=True
    )

實(shí)例化一個DataLoader對象

第三步:

    for epoch in range(epochs):
        for step, (batch_x, batch_y) in enumerate(train_loader):
            batch_x, batch_y = Variable(batch_x), Variable(batch_y)

這樣就可以批訓(xùn)練了

需要注意的是:train_loader輸出的是tensor,在訓(xùn)練網(wǎng)絡(luò)時(shí),需要變成Variable

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

承德县| 甘洛县| 阳新县| 武山县| 万年县| 华容县| 商城县| 依安县| 宁海县| 古蔺县| 娱乐| 本溪| 广州市| 台中市| 高雄市| 中方县| 攀枝花市| 磐石市| 石林| 壶关县| 大竹县| 娄底市| 兴安县| 卫辉市| 法库县| 比如县| 铁岭县| 高密市| 洛扎县| 肇州县| 赤水市| 临漳县| 淮北市| 金秀| 右玉县| 张家港市| 吐鲁番市| 柳河县| 龙山县| 龙里县| 扎囊县|