一、下載CIFAR-10數據集
CIFAR-10數據集官網
通過閱讀官網給的解釋可以大概了解到,一共6w張圖片,每張圖片大小為32×32,5w張訓練圖像,1w張測試圖像,一共由十大類圖像。
CIFAR10官網使用文檔
torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,download=True)
參數 | 描述 |
---|---|
root | 字符串,指明要下載到的位置,或已有數據集存放的位置 |
train | 若為True則下載訓練集,若為False則下載冊數集 |
transform | 一個函數/轉換,它接收PIL圖像并返回轉換后的版本 |
target_transform | 接收目標并對其進行轉換的函數/轉換 |
download | 若為True則會從官網進行下載,若為False則不下載 |
import torchvisiontrain_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=False,download=True)
若下載慢,可以通過復制藍色超鏈接,進行通過瀏覽器等方式下載
二、將CIFAR-10數據集中的圖像上傳至tensorboard
調試階段
以訓練集數據為例進行調試
import torchvisiontrain_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=False,download=True)print(train_set[0])#(<PIL.Image.Image image mode=RGB size=32x32 at 0x1ABB60B0BE0>, 6)
#由輸出結果大致可以看出,結構為 image和target也就是圖片信息和所屬類別
img,target = train_set[0]
print(img)#<PIL.Image.Image image mode=RGB size=32x32 at 0x1ABB60B0A20> 圖片信息
print(target)#6 所屬類別,classes中有總共類別
print(train_set.classes[target])#frog 查看詳細的類別img.show()#因為img是PIL類別,故可以通過show方法進行展示
實戰階段
這里還是以訓練集數據為例
import torchvision
from torch.utils.tensorboard import SummaryWriterdataset_transform = torchvision.transforms.Compose([torchvision.transforms.ToTensor()])
#這里通過Compose方法進行transform操作組合
#圖片太小,也沒必要進行裁剪等操作,圖片類型為PIL,只需要通過ToTensor方法轉換成tensor類型就行了train_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=True,transform=dataset_transform,download=True)
test_set = torchvision.datasets.CIFAR10(root="./CIFAR_10",train=False,transform=dataset_transform,download=True)print(train_set[0])#(tensor([[[0.2314, 0.1686, 0.1961, ..., 0.6196, 0.5961, 0.5804],......
#可以看出,這里的數據集已經變成了tensor類型,可以直接上傳至tensorboard中writer = SummaryWriter("y_log")
for i in range(30):#這里以訓練集前30張數據進行上傳img,target = train_set[i]writer.add_image("train_set",img,i)writer.close()
在Terminal下運行tensorboard --logdir=y_log --port=2312
,logdir為打開事件文件的路徑,port為指定端口打開;
通過指定端口2312進行打開tensorboard,若不設置port參數,默認通過6006端口進行打開。
點擊該鏈接或者復制鏈接到瀏覽器打開即可