gpt4 book ai didi

image - Pytorch:加载灰度图像数据集

转载 作者:行者123 更新时间:2023-12-05 00:46:30 24 4
gpt4 key购买 nike

我想加载一个灰度图像数据集。我使用了 ImageFolder 但默认情况下它不会加载灰色图像,因为它将图像转换为 RGB。

我找到了使用 ImageFolder 加载图像并在将图像转换为灰度图像后使用以下方法的解决方案:

transforms.Grayscale(num_output_channels=1)

ImageOps.grayscale(image)

正确吗?如何在不转换的情况下加载灰度图像?我尝试了 ImageDataBunch,但我无法导入 fastai.vision

最佳答案

假设数据集存储在下面给出的“Dataset”文件夹中,将根目录设置为“Dataset”:

数据集

  • class_1
    • img1.png
    • img2.png
  • class_2
    • img1.png
    • img2.png
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader, random_split
from torchvision import transforms

root = 'Dataset/'

data_transform = transforms.Compose([transforms.Grayscale(num_output_channels=1),
transforms.ToTensor()])
dataset = ImageFolder(root, transform=data_transform)

作为引用,训练和测试数据集分别被分成 70% 和 30%。

# Split test and train dataset 
train_size = int(0.7 * len(dataset))
test_size = len(dataset) - train_size
train_data, test_data = random_split(dataset, [train_size, test_size])

该数据集可以进一步分为训练和测试数据加载器,如下所示,以批量执行操作。

通常你会看到数据集被分配了一次 batch_size 用于训练和测试加载器。但是,我尝试单独定义它。这个想法是给batch_size,使其成为训练/测试数据加载器大小的一个因素,否则会出错。

# Set batch size of train data loader
batch_size_train = 20

# Set batch size of test data loader
batch_size_test = 22

# load the split train and test data into batches via DataLoader()
train_loader = DataLoader(train_data, batch_size=batch_size_train, shuffle=True)
test_loader = DataLoader(test_data, batch_size=batch_size_test, shuffle=True)

关于image - Pytorch:加载灰度图像数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60116208/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com