python - 从包含单独文件的文件夹创建自定义数据集
问题描述
我正在使用 Pytorch 的自定义数据集功能从一个文件夹中的单独文件创建自定义数据集。每个文件包含 123 行和 123 列,所有数据点都是整数。
我的问题是我遇到的资源可以满足一个 .csv 中的文件,而我的不是。更重要的是,在转换为图像后打开图像也不会运行。我不确定如何从这里开始,因为我的代码给出了:
AttributeError: 'Image' object has no attribute 'read'
import os
from torch.utils.data import DataLoader, Dataset
from numpy import genfromtxt
# Custom dataset
class CONCEPTDataset(Dataset):
""" Concept Dataset """
def __init__(self, file_dir, transforms=None):
"""
Args:
file_dir (string): Directory with all the images.
transforms (optional): Changes on the data.
"""
self.file_dir = file_dir
self.transforms = transforms
self.concepts = os.listdir(file_dir)
self.concepts.sort()
self.concepts = [os.path.join(file_dir, concept) for concept in self.concepts]
def __len__(self):
return len(self.concepts)
def __getitem__(self, idx):
image = self.concepts[idx]
# csv file to a numpy array using genfromtxt
data = genfromtxt(image, delimiter=',')
data = self.transforms(data.unsqueeze(0))
return data
解决方案
PIL.Image.fromarray
用于将数组转换为 PIL 图像,同时Image.open
用于从文件系统加载图像文件。您不需要这两个中的任何一个,因为您已经有一个代表您的图像的 NumPy 数组并希望返回它。torch.Tensor
如果您将数据集插入到torch.data.utils.DataLoader
.
推荐阅读
- java - 在我的 GPA 计算器中需要输入两次
- android - 我想连接 Firebase,但出现错误
- arduino - arduino图形显示清晰显示不起作用
- java - TestNg Customized report:
- vba - 检查变量是否为 Null 或数组
- google-api - 谷歌日历 API 时区属性
- sql - Json 创建需要时间
- arrays - 如何在 Flutter 中重复数组的值
- ios - 注册 UITableViewCell 不起作用
- javascript - How to get src values of set of images inside div with pure JavaScript?