讀取和歸一化cifar10:
torchvision.datasets.cifar10(root, train=true, transform=none, target_transform=none, download=false)
引數說明:
root:cifar-10-batches-py 的根目錄
train:true = 訓練集 ,false = 測試集
transform:接受pil影象的函式/變換,並返回轉換後的版本。
class torch.utils.data.dataloader(dataset, batch_size=1, shuffle=false, sampler=none, num_workers=0, collate_fn=, pin_memory=false, drop_last=false)
引數說明:
dataset:載入資料的資料集
batch_size:每個batch載入多少個樣本(預設: 1)。
shuffle:設定為true時會在每個epoch重新打亂資料(預設: false).
sampler:定義從資料集中提取樣本的策略。如果指定,則忽略shuffle引數。
num_workers:用多少個子程序載入資料。0表示資料將在主程序中載入(預設: 0)
drop_last (bool, optional) :如果資料集大小不能被batch size整除,則設定為true後可刪除最後乙個不完整的batch。如果設為false並且資料集的大小不能被batch size整除,則最後乙個batch將更小。(預設: false)
transforms.totensor:不明
transforms.normalize:不明
程式:
import torch
import torchvision
import torchvision.transforms as transforms
transform = transforms.compose(
[transforms.totensor(),
transforms.normalize(
(0.5
,0.5
,0.5),
(0.5
,0.5
,0.5))
])#訓練集
trainset = torchvision.datasets.cifar10(root=
'./data'
, train=
true
, download=
true
, transform=transform)
trainloader = torch.utils.data.dataloader(trainset, batch_size=4,
shuffle=
true
, num_workers=2)
#測試集
testset = torchvision.datasets.cifar10(root=
'./data'
, train=
false
, download=
true
, transform=transform)
testloader = torch.utils.data.dataloader(testset, batch_size=4,
shuffle=
false
, num_workers=2)
classes =
('plane'
,'car'
,'bird'
,'cat'
,'deer'
,'dog'
,'frog'
,'horse'
,'ship'
,'truck'
)
cifar10資料的讀取
cifar10資料集檔案結構如圖所示,其中data batch 1 5.bin是訓練集,每個檔案包含10000個樣本,test batch.bin是測試集,包含10000個樣本。開啟任意乙個檔案,發現是一堆二進位制資料,其中乙個樣本由3037個位元組組成,其中第乙個位元組是label,剩餘3036 ...
CIFAR 10資料集讀取
參考 1 使用讀取方式pickle def unpickle file import pickle with open file,rb as fo dict pickle.load fo,encoding bytes return dict 返回的是乙個python字典 2 通過字典的內建函式,獲取...
CIFAR 10模型訓練與視覺化
通過caffe深度學習框架在cifar10資料集訓練得到模型,觀察並分析模型的train loss test loss及accuracy曲線,並對得到的caffemodel進行測試。資料集介紹 cifar 10是乙個使用非常廣泛的物體識別影象資料集,cifar 10資料中包含了60000張32 32...