Python Torchvision.transforms扁平化()的实现

Python Torchvision.transforms扁平化()的实现,python,pytorch,flatten,torchvision,Python,Pytorch,Flatten,Torchvision,我有灰度图像,但我需要将其转换为一维向量的数据集 我该怎么做?我在转换中找不到合适的方法: train\u dataset=torchvision.dataset.ImageFolder(root='./data',train=True,transform=transforms.ToTensor()) test_dataset=torchvision.dataset.ImageFolder(root='./data',train=False,transform=transforms.ToTens

我有灰度图像,但我需要将其转换为一维向量的数据集 我该怎么做?我在转换中找不到合适的方法:

train\u dataset=torchvision.dataset.ImageFolder(root='./data',train=True,transform=transforms.ToTensor())
test_dataset=torchvision.dataset.ImageFolder(root='./data',train=False,transform=transforms.ToTensor())
train\u loader=torch.utils.data.DataLoader(数据集=train\u数据集,批量大小=4,随机播放=True)
test\u loader=torch.utils.data.DataLoader(数据集=test\u数据集,批处理大小=4,shuffle=False)

以下是如何使用
Lambda

导入火炬
从torchvision.dataset导入MNIST
将torchvision.transforms导入为T
#无压扁
dataset=MNIST(root='.',download=True,transform=T.ToTensor())
打印(数据集[0][0]。形状)
#>>>火炬尺寸([1,28,28])
#使用Flatte(使用Lambda,但您可以通过许多其他方式实现)
数据集_flatte=MNIST(root='.',download=True,transform=T.Compose([T.ToTensor(),T.Lambda(Lambda x:torch.flatte(x))]))
打印(数据集\u展平[0][0]。形状)
#>>>火炬尺寸([784])

以下是如何使用
Lambda

导入火炬
从torchvision.dataset导入MNIST
将torchvision.transforms导入为T
#无压扁
dataset=MNIST(root='.',download=True,transform=T.ToTensor())
打印(数据集[0][0]。形状)
#>>>火炬尺寸([1,28,28])
#使用Flatte(使用Lambda,但您可以通过许多其他方式实现)
数据集_flatte=MNIST(root='.',download=True,transform=T.Compose([T.ToTensor(),T.Lambda(Lambda x:torch.flatte(x))]))
打印(数据集\u展平[0][0]。形状)
#>>>火炬尺寸([784])

你是说
展平
?@Berriel是的。我怎么做?这能回答你的问题吗@贝瑞尔,谢谢你,但不是真的。transforms.ToTensor返回张量,但我无法在ImageFolder函数中写入“transform=torch.flatte(transforms.ToTensor())”和“transform=transforms.LinearTransformation(transforms.ToTensor(),torch.zeros(1784))”可能,它是通过transforms.Compose解决的,但我不知道如何检查我的答案。您使用了
火炬。以错误的方式展平
。你“必须”使用Compose,我在回答中使用了它。你的意思是
flatte
?@Berriel是的。我怎么做?这能回答你的问题吗@贝瑞尔,谢谢你,但不是真的。transforms.ToTensor返回张量,但我无法在ImageFolder函数中写入“transform=torch.flatte(transforms.ToTensor())”和“transform=transforms.LinearTransformation(transforms.ToTensor(),torch.zeros(1784))”可能,它是通过transforms.Compose解决的,但我不知道如何检查我的答案。您使用了
火炬。以错误的方式展平
。你有“使用”构词,我在答案中使用它。在转换部分中做这个操作是一个好的实践吗?@ opSSe我不会说好的实践,但是我宁愿考虑我的数据处理流水线的这个OP-部分而不是我的模型。因此,我会在那里使用它。在转换部分做这个操作是一个好的实践吗?@ opSSe我不会说好的实践,但是我宁愿考虑我的数据处理流水线的这个OP-部分而不是我的模型。因此,我会在那里使用它。