PyTorch學習筆記5 批訓練

2021-10-03 13:08:36 字數 1652 閱讀 2220

1、torch.utils.data.tensordataset() 和torch.utils.data.dataloader()

pytorch提供了乙個資料讀取的方法,其由兩個類構成:torch.utils.data.dataset和dataloader,我們要自定義自己資料讀取的方法,就需要繼承torch.utils.data.dataset,並將其封裝到dataloader中。

tensordataset定義資料集用以包裝資料和目標張量,便於傳入dataloader進行批訓練,即將資料變成torch中dataloader可使用的形式,繼承了dataset抽象類。

dataloader是可迭代的資料裝載器,可以迭代輸出dataset的內容,同時可以實現多程序、shuffle、不同取樣策略,資料校對等等處理過程。

enumerate() 函式用於將乙個可遍歷的資料物件(如列表、元組或字串)組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。

4、示例**

import torch

import torch.utils.data as data # 進行批訓練的模組

'''p15:批訓練

當資料非常大時。通過批訓練將資料分小批次來訓練,以提公升神經網路的訓練效率或速度

'''batch_size =

5# 批大小

x = torch.linspace(1,

10,10)

y = torch.linspace(10,

1,10)

torch_dataset = data.tensordataset(x,y)

# 定義包裝資料和目標張量的資料庫

# dataloader為可迭代的資料裝載器

loader = data.dataloader(

dataset=torch_dataset,

batch_size=batch_size,

shuffle=

true

,# 每個epoch是否打亂訓練資料的順序

# num_workers=2, # 是否多執行緒讀取資料,win環境無需

)for epoch in

range(3

):# epoch:當乙個完整的資料集通過了神經網路一次並且返回了一次,這個過程為一次epoch

for step,

(batch_x,batch_y)

inenumerate

(loader)

:# 每一次整批訓練時,都將資料拆分小批次訓練

pytorch學習筆記五 批訓練

學自莫凡python 一批5個資料 batch size 5 15個資料總共被分成3批訓練 step 3 並將所有資料整體訓練了3遍。1.匯入模組 import torch import torch.utils.data as data data是用來批訓練的模組 2.一批訓練5個資料 batch ...

pytorch(五) 批訓練

import torch import torch.utils.data as data 虛構要訓練的資料 x torch.linspace 11,20,10 在 11,20 裡取出10個間隔相等的數 torch tensor y torch.linspace 20,11,10 batch size...

Pytorch教程 批訓練

torch and numpy 變數 variable 激勵函式 關係擬合 回歸 區分型別 分類 快速搭建法 批訓練加速神經網路訓練 optimizer優化器 卷積神經網路 cnn 卷積神經網路 rnn lstm rnn 迴圈神經網路 分類 rnn 迴圈神經網路 回歸 自編碼 autoencoder...