代码之家  ›  专栏  ›  技术社区  ›  flawr

通过转换将频道添加到MNIST?

  •  0
  • flawr  · 技术社区  · 5 年前

    我正在尝试使用来自的MNIST数据集 torchvision.datasets 。似乎是作为 N x H x W (uint8) (批量尺寸、高度、宽度)张量。用于处理图像的所有pytorch类(例如 Conv2d )但是需要一个 N x C x H x W (float32) 张量哪里 C ToTensor 变换,但没有添加颜色通道。

    torchvision.transforms 要添加此附加维度吗?生的 tensor 我们可以这样做 .unsqueeze(1) 但这看起来不是一个非常优雅的解决方案。我只是想用“恰当”的方式来做。

    import torchvision
    dataset = torchvision.datasets.MNIST("~/PyTorchDatasets/MNIST/", train=True, transform=torchvision.transforms.ToTensor(), download=True)
    print(dataset.train_data[0])
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   flawr    5 年前

    我有个误解: dataset.train_data 受指定的 transform ,只有 DataLoader(dataset,...) 将。检查后 data

    for data, _ in DataLoader(dataset):
        break
    

    我们看得出来 ToTensor