我正在尝试加载一个数据集以获得超分辨率,我已经设置了两个函数,它们使用Compose来裁剪和调整图像大小
我为输入图像创建的函数工作正常,并且它们按预期输出。目标图像的变换函数基本相同,只是省略了其调整大小部分
def input_trans(c_size, sF):
return Compose([
CenterCrop(c_size),
Resize(c_size // sF),
ToTensor(),
])
def goal_trans(c_size):
return Compose([
CenterCrop(c_size),
ToTensor(),
])
加载图像时,这些函数在我的dataset类中使用。我最初使用的是goal=input.Copy(),但我对其进行了更改,以便输入和目标分别加载图像。(正在测试.copy()是否是问题所在
def __getitem__(self, idx):
input = Image.open(self.image_filenames[idx]).convert('RGB')
goal = Image.open(self.image_filenames[idx]).convert('RGB')
if self.input_transform:
input = self.input_transform(input)
if self.goal_transform:
print(goal)
print(goal.size)
goal = self.goal_transform(goal)
return input, goal
我收到的错误如下:
Traceback (most recent call last):
File "main.py", line 128, in <module>
main() # execute this only when run directly, not when imported!
File "main.py", line 55, in main
train_model(epoch)
File "main.py", line 40, in train_model
for data_item, batch in enumerate(training_data_loader):
File "C:\Users\[NAME]\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 345, in __next__
data = self._next_data()
File "C:\Users\[NAME]\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\dataloader.py", line 385, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "C:\Users\[NAME]\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\_utils\fetch.py", line 44, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "C:\Users\[NAME]\anaconda3\envs\pytorch\lib\site-packages\torch\utils\data\_utils\fetch.py", line 44, in <listcomp>
data = [self.dataset[idx] for idx in possibly_batched_index]
File "main.py", line 118, in __getitem__
goal = self.goal_transform(goal)
File "C:\Users\[NAME]\anaconda3\envs\pytorch\lib\site-packages\torchvision\transforms\transforms.py", line 70, in __call__
img = t(img)
TypeError: ToTensor() takes no arguments
让我困惑的是,它在第一次转换时似乎没有问题(我检查过了,它在崩溃之前会输出)
如果你们能帮上忙我会很感激的
谢谢:)
问题解决了!与torchvision.transforms无关
我实际上并没有使用上面的函数,而是使用了我之前尝试使用的compose的内联声明
我的错
相关问题 更多 >
编程相关推荐