我正在关注这个tutorial关于pytorch对象检测模型的微调。“把所有东西放在一起”部分的第一段代码对我来说是有问题的:
from torchvision.transforms import v2 as T
def get_transform(train):
transforms = []
if train:
transforms.append(T.RandomHorizontalFlip(0.5))
transforms.append(T.ToDtype(torch.float, scale=True))
transforms.append(T.ToPureTensor())
return T.Compose(transforms)
我已经检查过我有torchvision 0.15.2和pytorch 2.0.1,所以要求的beta功能应该存在。但我犯了两个错误:首先,ToDtype没有参数“scale”,ToPureTensor不存在。当检查我的文件时,它们与文档明显不同。
简单地复制相关函数是行不通的,因为它会说我在链接文档中的from torchvision import tv_tensors
中没有tv_tensors
。把torchvision降级到0.15.0不会改变什么。我该怎么办?我用的是windows(没有cuda,用的是cpu),如果有关系的话,我用的是conda。
1条答案
按热度按时间wj8zmpe11#
我在教程中遇到了类似的问题,并在开始时注意到以下说明:
本教程仅适用于Torchvision版本>=0.16或每晚。如果您使用的是<=0.15的torchvision,请按照本教程进行操作。https://github.com/pytorch/tutorials/blob/d686b662932a380a58b7683425faa00c06bcf502/intermediate_source/torchvision_tutorial.rst
我的环境运行的是Torchvision 0.15.2。当我使用上面链接中的代码而不是原始文档时,它成功地工作了。
此外,使用实用程序代码时要小心。对于旧版本,请选择特定版本而不是主要版本,例如下面的链接:https://raw.githubusercontent.com/pytorch/vision/v0.15.2/references/detection/engine.py