【问题标题】:Got wrong size of dimensions after using "dataloader"使用“数据加载器”后尺寸错误
【发布时间】:2021-11-12 14:20:25
【问题描述】:

尝试使用“dataloader”分割我的数据集时遇到问题。

我使用了显示像素为 (2294 * 1914) 的灰色图片。首先,使用“变换”,

然后得到 tensor.size() = (1, 2294, 1914)。

但是在使用“dataloader”之后,返回的 .size( ) 得到 (8, 1, 2294, 1914, 3),

应该是 (8, 1, 2294, 1914)。

最后一个维度“3”将每个像素复制了三次,我不知道问题出在哪里。

任何帮助将不胜感激!

import torch
import numpy as np
from torchvision import transforms
import torchvision
import torch.utils.data
from PIL import Image


training_transforms = transforms.Compose([
    transforms.Lambda(lambda image: torch.from_numpy(np.array(image)   \
    .astype(np.float32)).unsqueeze(0)),
    transforms.Lambda(lambda image: image / 65535)
])


training_dataset_path = r"D:\user\Desktop\bcResearch\root"
train_dataset = torchvision.datasets.ImageFolder(root =                \
training_dataset_path, transform = training_transforms)
train_loader = torch.utils.data.DataLoader                             \
(dataset = train_dataset, batch_size = 8, shuffle = False)


img = Image.open                                                       \
(r"D:\user\Desktop\bcResearch\root\2\Subroot1_Sub1_subroot3_IM1.tiff")
img = training_transforms(img)
print(img.size())


for i, j in train_loader:
    print(i.size())
    print(i)
    break

#end

Result is in the link here. (I have insufficient permissions to paste the picture directly. )

【问题讨论】:

    标签: python-3.x pytorch tensor pytorch-dataloader


    【解决方案1】:

    这个问题需要修改一下: 它显示返回大小( 8, 1, 2294, 1914, 3) 而不是( 5, 1, 2294, 1914, 3) 其中batch_size=8

    关于问题,

    最后一个维度“3”每个像素复制了三次,我没有 知道问题出在哪里。

    torchvision.datasets.ImageFolder 返回(sample, target),其中target 是目标类的class_index。

    所以,根据返回的大小,3target classessample size = (8, 1, 2294, 1914)的个数。

    reference

    【讨论】:

    • 嗨,kkgarg。谢谢你的回答。我会尽快编辑我的问题。我需要时间考虑你的答案,因为当使用 RGB 彩色图片时,尺寸的返回大小是我想知道的值。不过,你的回答给了我一点启发。
    【解决方案2】:

    感谢我的老朋友,我已经找到了transform.Compose([])中没有添加transforms.Grayscale()引起的问题的答案。

    【讨论】:

      猜你喜欢
      • 2021-07-02
      • 2022-08-04
      • 1970-01-01
      • 2010-12-11
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      相关资源
      最近更新 更多