问题: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 枚举,而不是整数值。
评论(0)