一、函数说明工具
- dir() 展示模块内“工具箱"
- help() "工具箱"内工具的介绍
dir(torch) #torch中的工具
dir(torch.cuda) #torch.cuda中的工具
help(torch.cuda.is_available) #对is_available函数的介绍
二、编辑器的选择
代码是以块为一个整体运行的
- Pycharm
以所有行的代码为块
优点:通用、传播方便、适用于大型项目
缺点:需要从头运行 - Python Console
以每一行的代码为块
优点:显示每个变量属性
缺点:不利于代码阅读及修改 - Jupiter Notebook
以任意行为块
优点:利于代码的阅读及修改
缺点:环境需要配置
三、加载数据
Dataset:提供一种方式去获取数据及其label
Dataloader:为后面的网络提供不同的数据形式
给定数据集,读取文件夹内的数据
from torch.utils.data import Dataset
from PIL import Image
import os
class MyData(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.img_path = os.listdir(self.path) #文件夹内所有的文件名
def __getitem__(self, idx):
img_name = self.img_path[idx] #第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 #返回文件img和label标签
def __len__(self):
return len(self.img_path)
root_dir = "dataset/train"
ants_label_dir = "ants"
bees_label_dir = "bees"
ants_dataset = MyData(root_dir,ants_label_dir)
bees_dataset = MyData(root_dir,bees_label_dir)
train_dataset = ants_dataset + bees_dataset
img,label = train_dataset[123]
img.show() #第123张图片显示