查看cuda是否可用
import torch
torch.cuda.is_available()
Dataset
from torch.utils.data import Dataset
help(Dataset)
Dataset小练习
from torch.utils.data import Dataset
from PIL import Image
import os
class MyDate(Dataset):
def __init__(self, root_dir, label_dir):
self.root_dir = root_dir
self.label_dir = label_dir
self.path = os.path.join(self.root_dir, self.label_dir)
self.images = os.listdir(self.path) # 图片路径的列表
def __getitem__(self, idx):
img_name = self.images[idx]
img_item_path = os.path.join(self.root_dir, self.label_dir, img_name)
img = Image.open(img_item_path)
label = self.label_dir
return img, label
def __len__(self):
return len(self.images)
root_dir = "assets/dataset/train" # 相对路径
ants_label_dir = "ants_image"
bees_label_dir = "bees_image"
bees_data = MyDate(root_dir, bees_label_dir)
ants_data = MyDate(root_dir, ants_label_dir)
train_data = bees_data + ants_data # 总的数据集
img, label = ants_data[0] # 获取蚂蚁数据集中的第一张
img.show() # 展示第一张
print(label) # 输出:ants_image
Tesorboard
TensorBoard是pytorch下的可视化工具
下载: pip install tensorboard
代码体中要做的事
首先导入tensorboard
from torch.utils.tensorboard import SummaryWriter
这里的SummaryWriter的作用就是,将数据以特定的格式存储到刚刚提到的那个文件夹中。
首先我们将其实例化
writer = SummaryWriter('./path/to/log')
这里传入的参数就是指向文件夹的路径,之后我们使用这个writer对象“拿出来”的任何数据都保存在这个路径之下。
这个对象包含多个方法,比如针对数值,我们可以调用
writer.add_scalar(tag, scalar_value, global_step=None, walltime=None)
这里的tag指定可视化时这个变量的名字,scalar_value是你要存的值,global_step可以理解为x轴坐标。
实例:
for i in range(100):
writer.add_scalar("y = x", i, i)
标签:img,data,self,label,PyTorch,初识,root,dir
From: https://www.cnblogs.com/liuyxcc/p/16748448.html