当前位置:网站首页>Traitement des séquelles du flux de Tensor - exemple simple d'enregistrement de torche. Utils. Données. Dataset. Problème de dimension de l'image lors de la réécriture de l'ensemble de données
Traitement des séquelles du flux de Tensor - exemple simple d'enregistrement de torche. Utils. Données. Dataset. Problème de dimension de l'image lors de la réécriture de l'ensemble de données
2022-04-23 05:53:00 【Umbrella lalala】
torchDieu, ignorez cet article...
Table des matières
1,Un exemple simple de rétrospectiveDataSet
from torch.utils.data import Dataset
class dataset(Dataset):
def __init__(self):
# Doit être converti enarray,Sinon, les résultats seraient bizarres
self.data = np.array([[1,1,1,1],
[2,2,2,2],
[3,3,3,3],
[4,4,4,4],
[5,5,5,5],
[6,6,6,6]])
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
# return data[idx],Il manque cette phrase.self,Erreur signalée...
return self.data[idx]
dataset = dataset()
dataloader = torch.utils.data.DataLoader(dataset,
batch_size=2,
shuffle=False,
num_workers=1)
for i, data_ in enumerate(dataloader):
print(i)
print(data_)
Observer les résultats de l'opération:
0
tensor([[1, 1, 1, 1],
[2, 2, 2, 2]])
1
tensor([[3, 3, 3, 3],
[4, 4, 4, 4]])
2
tensor([[5, 5, 5, 5],
[6, 6, 6, 6]])
Cet exemple est assez compréhensible DataSetC'est
2,Dimensions
Voir cet article:
https://blog.csdn.net/xddwz/article/details/108405817
# -*- coding: utf-8 -*-
import numpy as np
import torch
from torch.utils.data.dataset import Dataset
from torch.utils.data.dataloader import DataLoader
from torchvision.transforms import transforms
import os
import cv2
from PIL import Image
class MyDataset(Dataset):
def __init__(self, transform=None):
self.transform = transforms.Compose([
transforms.ToTensor() # Voici l'exemple le plus élémentaire
])
self.image_path = './image_data2/'
self.image_names = os.listdir(self.image_path)
def __len__(self):
return len(self.image_names)
def __getitem__(self, item):
image_name = self.image_names[item]
image = cv2.imread(os.path.join(self.image_path, image_name)) # Ce que j'ai luBGRDonnées
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # Convertir enRGB,Peut également être utiliséimg = img[:, :, (2, 1, 0)]
# À ce moment - là.image- Oui.H,W,COrdre, Donc ce qui suit doit être converti en C, H, W
image = torch.from_numpy(image).permute(2, 0, 1)
# image = Image.open(os.path.join(self.image_path, image_name))
# # print(image.shape)
# image = self.transform(image)
return image
Ce code se trouve dans le lien ci - dessus , La raison pour laquelle il a été transporté est de souligner une chose :Nous savons quetorch L'ordre des dimensions est BCHW,Et dans le code ci - dessus__getitem__()
, Est de retourner une image , Alors ce qu'il faut remarquer à ce stade, c'est que , L'ordre des dimensions d'une seule image est HWC, C'est - à - dire que la dimension est (height, width, channel), Nous devons ajuster ses dimensions à (channel, height, width),Et revenir en arrière.
En même temps,Selon le code ci - dessus,Attention aussi,Retour àimageDeshapeNon, pas du tout.(1, channel, height, width),Mais...(channel, height, width),batch La dimension correspondante est __getitem__()
Pas besoin de penser .
Pour certainschannelPour1Photos de,Si nécessairechannelDimensions,Alors tout ce qu'il fautsqueeze(0)C'est tout..
版权声明
本文为[Umbrella lalala]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230543450851.html
边栏推荐
猜你喜欢
创建二叉树
Font shape `OMX/cmex/m/n‘ in size <10.53937> not available (Font) size <10.95> substituted.
Duplicate key update in MySQL
域内用户访问域外samba服务器用户名密码错误
Pytoch learning record (x): data preprocessing + batch normalization (BN)
深入源码分析Servlet第一个程序
delete和truncate
Pytorch learning record (XI): data enhancement, torchvision Explanation of various functions of transforms
Package mall system based on SSM
Pytorch学习记录(五):反向传播+基于梯度的优化器(SGD,Adagrad,RMSporp,Adam)
随机推荐
类的加载与ClassLoader的理解
线程的底部实现原理—静态代理模式
CONDA virtual environment management (create, delete, clone, rename, export and import)
多线程与高并发(3)——synchronized原理
Map object map get(key)
2 - software design principles
Pytorch学习记录(十二):学习率衰减+正则化
框架解析2.源码-登录认证
异常的处理:抓抛模型
一文读懂当前常用的加密技术体系(对称、非对称、信息摘要、数字签名、数字证书、公钥体系)
refused connection
多线程与高并发(1)——线程的基本知识(实现,常用方法,状态)
opensips(1)——安装opensips详细流程
Pytorch Learning record (XIII): Recurrent Neural Network
Pytoch learning record (x): data preprocessing + batch normalization (BN)
对象转map
The list attribute in the entity is empty or null, and is set to an empty array
Pyqy5 learning (III): qlineedit + qtextedit
mysql-触发器、存储过程、存储函数
freemark中插入图片