我是Pytorch的新手。我正在使用预先训练的模型(RESNET-50)。我正在尝试使用cocoapi在MS-COCO数据集上训练该模型。
我已将我的数据集图像和注释加载到火车加载程序中。
for images,labels in train_loader:
print(type(images))
print(type(labels))
print(images.size())
print(images.dim())
steps+=1
images, labels = images.to(device), labels.to(device)
我得到以下输出:
class'torch.Tensor'
class'list'
torch.Size([64,3,224,224])
4
我得到这个错误:我认为是因为标签不是张量?
是的,您是正确的。代码中的labels
是Python列表,要将其传递到CUDA,您需要将其转换为PyTorch张量。如果labels
是数字类型,则可以使用labels = torch.stack(labels)
进行转换。如果它是str
类型,则可以将其更改为单热编码,然后更改为张量。希望这会有所帮助!