当前位置:网站首页>pytorch加载数据
pytorch加载数据
2022-07-06 03:18:00 【七上八下的黑】
一、 加载数据
- 加载数据集里的单张图片
from PIL import Image
img_path="D:\\pycharm\\PycharmProjects\\learn_torch\\hymenoptera_data\\train\\ants\\0013035.jpg"
img = Image.open(img_path)
img.show()
- 加载数据集列表
import os
dir_path = "hymenoptera_data/train/ants"
img_path_list = os.listdir(dir_path)
在pycharm中的Python console(控制器)中运行,效果更直观。
二、运用pytorch加载数据
torch.utils 是torch常用的工具箱。
想根据 idx 获取相应的图片的话,先获取这个图片地址的list(获取dataset下的所有data)。
from torch.utils.data import Dataset
- 定义 MyData 类
class MyData(Dataset):
'''定义全局变量'''
def __init__(self, root_dir, label_dir):
self.root_dir = root_dir # root_dir 是数据集的目录
self.label_dir = 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]
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.img_path)
- 测试定义的 MyData 类
root_dir = "hymenoptera_data/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)
方法一:
可在Python中测试:
ants_dataset[0]
方法二:
img, label = ants_dataset[0]
img.show()
补充:
train_dataset = ants_dataset + bees_dataset # 整个训练集(蚂蚁数据集和蜜蜂数据集的集合)
在数据集不够时,可以用这种方法补充数据集
边栏推荐
- codeforces每日5題(均1700)-第六天
- 多态day02
- My C language learning record (blue bridge) -- on the pointer
- jsscript
- 深度解析指针与数组笔试题
- Lua uses require to load the shared library successfully, but the return is Boolean (always true)
- Mysqldump data backup
- tcpdump: no suitable device found
- jsscript
- Jenkins basic knowledge ----- detailed explanation of 03pipeline code
猜你喜欢
JS regular filtering and adding image prefixes in rich text
Era5 reanalysis data download strategy
银行核心业务系统性能测试方法
MPLS experiment
Codeforces 5 questions par jour (1700 chacune) - jour 6
ASU & OSU | model based regularized off-line meta reinforcement learning
Overview of OCR character recognition methods
Problems encountered in 2022 work IV
mysqldump数据备份
Explore pointers and pointer types in depth
随机推荐
Inherit day01
Leetcode problem solving -- 99 Restore binary search tree
Audio audiorecord binder communication mechanism
Prototype design
Linear regression and logistic regression
JS regular filtering and adding image prefixes in rich text
three.js网页背景动画液态js特效
[risc-v] external interrupt
Overview of OCR character recognition methods
下一个行业风口:NFT 数字藏品,是机遇还是泡沫?
mysqldump数据备份
StrError & PERROR use yyds dry inventory
#PAT#day10
MySQL advanced notes
Game theory matlab
Codeforces 5 questions par jour (1700 chacune) - jour 6
[kubernetes series] learn the exposed application of kubernetes service security
如何做好功能测试
【概念】Web 基础概念认知
Mysqldump data backup