问题:C:\Users\code7\.conda\envs\YOLOv8\lib\site-packages\torchvision\transforms\transforms.py:280: UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum. warnings.warn

解决:你可以根据警告信息修改 torchvision.transforms.transforms.py 文件中使用 interpolation 参数的代码,将其从整数类型改为 InterpolationMode 枚举类型。

具体修改步骤如下:

找到 Resize 类的初始化方法(即 __init__ 方法)。
在这个方法中,将 interpolation 参数的值从整数转换为 InterpolationMode 枚举类型。
原来的代码可能是这样的:
self.interpolation = interpolation

如果 interpolation 参数是一个整数,应该将它转换为对应的 InterpolationMode 枚举值。比如将整数 2 转换为 InterpolationMode.BILINEAR。你可以使用 _interpolation_modes_from_int 函数来处理这种转换。

修改后的代码应为:

# 如果 interpolation 是整数,则使用 _interpolation_modes_from_int 将其转换为 InterpolationMode 枚举类型
if isinstance(interpolation, int):
warnings.warn(
“Argument interpolation should be of type InterpolationMode instead of int. ”
“Please, use InterpolationMode enum.”
)
interpolation = _interpolation_modes_from_int(interpolation)

self.interpolation = interpolation

这样可以确保在使用 Resize 等变换时,interpolation 参数传递的是 InterpolationMode 枚举,而不是整数,从而避免警告。

此外,确保在其他涉及插值的地方,如 RandomResizedCrop、RandomAffine、RandomRotation 等,也使用 InterpolationMode 枚举,而不是整数值。

声明:本站所有项目资源都可以正常运行,亲测无错!而且我们录制了演示视频,在我们注明的环境版本下,项目运行效果完全和演示视频一致。客服QQ:下载须知