土堆pytorch学习笔记day1

法宝函数:dir():打开,help():说明书

进行查看有什么样的函数

dir(torch.cuda.is_available)

 再通过help进行查询用法和用途

help(torch.cuda.is_available)

PyCharm及Jupyter使用对比

pycharm整体编译,jupyter是代码块运行

pytorch加载数据

Datase 和 Dataloader

Dataset:

提供一种方式去获取数据及其label

1.如何获取每一个数据及其label

2.告诉我们有几个数据

必须重写

__init__:获取图片的地址信息

__getitem__:用来获取想要的图片

__len__:获取长度,找地址列表长度即可

  1. (python)小知识
  2. object # 公用方法
  3.  __object __# 内建方法,用户不要这样定义
  4.  __object # 全私有,全保护
  5.  _object # 半保护

完整Dataset操作:

from torch.utils.data import Dataset
from PIL import Image
import os
class MyData(Dataset):
    def __init__(self,root_dir,lable_dir) :#获取图片
        self.root_dir = root_dir
        self.lable_dir = lable_dir
        self.path = os.path.join(self.root_dir,self.lable_dir)#对所有的地址进行拼接,获取图片地址
        self.Img_path = os.listdir(self.path)#可以得到所有的图片
    
    def __getitem__(self, idx) :#用于逐个获取所有索引的地址,并得到图片信息
        Img_name = self.Img_path[idx]
        Img_item_path = os.path.join(self.root_dir,self.lable_dir,Img_name)#获取图片的路径
        Img = Image.open(Img_item_path)
        label = self.lable_dir
        return Img,label

    def __len__(self):#目的是获取所有的图片信息
        return len(self.Img_path)



root_dir = ".\\hymenoptera_data\\train"
ants_lable_dir = "ants"
ants_dataset = MyData(root_dir,ants_lable_dir)#创建实例对象,至此获取到了相应的Dataset
Img,label = ants_dataset[0]#getitem的功劳

os:来批量获取数据的地址

import os 
img_path_list = os.listdir(dir_path)

进行路径的拼接

Img_item_path = os.path.join(self.root_dir,self.lable_dir,Img_name)#获取图片的路径

土堆pytorch学习笔记day1_第1张图片

Dataloader:

为网络提供不同的数据形式

你可能感兴趣的:(pytorch,学习,人工智能)