Argument interpolation should be a InterpolationMode or a corresponding Pillow integer constant

使用Stable Diffusion - interrogate Clip - TypeError: Argument interpolation should be a InterpolationMode or a corresponding Pillow integer constant

在学习使用Stable Diffusion (v1.8.0),尝试查看生成图片的提示词,就使用图生图中的Interrogate Clip, 但遇到问题。

load checkpoint from D:\DiskH\aiwork\sd-webui-aki-v4\models\BLIP\model_base_caption_capfilt_large.pth
None
*** Error interrogating
    Traceback (most recent call last):
      File "D:\DiskH\aiwork\sd-webui-aki-v4\modules\interrogate.py", line 195, in interrogate
        caption = self.generate_caption(pil_image)
      File "D:\DiskH\aiwork\sd-webui-aki-v4\modules\interrogate.py", line 175, in generate_caption
        gpu_image = transforms.Compose([
      File "D:\DiskH\aiwork\sd-webui-aki-v4\py310\lib\site-packages\torchvision\transforms\transforms.py", line 95, in __call__
        img = t(img)
      File "D:\DiskH\aiwork\sd-webui-aki-v4\py310\lib\site-packages\torch
在使用 `torchvision.transforms` 进行图像变换时,如果传递给 `interpolation` 参数的是整数而非 `InterpolationMode` 枚举类型,系统会抛出警告: ``` UserWarning: Argument interpolation should be of type InterpolationMode instead of int. Please, use InterpolationMode enum. ``` 这个警告提示开发者应使用 `InterpolationMode` 枚举值代替传统的整数值,以提高代码的可读性和兼容性。该问题可以通过以下方式解决。 ### 使用 `InterpolationMode` 枚举 首先需要从 `torchvision.transforms` 中导入 `InterpolationMode` 模块: ```python from torchvision.transforms import InterpolationMode ``` 然后,在调用如 `transforms.Resize()` 时,将原本使用的整数替换为对应的枚举值。例如,将: ```python transforms.Resize((height, width), interpolation=3) ``` 改为: ```python transforms.Resize((height, width), interpolation=InterpolationMode.BICUBIC) ``` 这种方式不仅避免了警告,还增强了代码的可维护性与清晰度[^4]。 ### 常见插值模式对照表 为了方便迁移旧代码,以下是常用整数插值模式与 `InterpolationMode` 的对应关系: | 整数值 | InterpolationMode 等价形式 | |--------|-----------------------------------| | 0 | `InterpolationMode.NEAREST` | | 1 | `InterpolationMode.BILINEAR` | | 2 | `InterpolationMode.BICUBIC` | | 3 | `InterpolationMode.BOX` | | 4 | `InterpolationMode.HAMMING` | | 5 | `InterpolationMode.LANCZOS` | ### 版本兼容性说明 此警告通常出现在 `torchvision` 版本升级之后(如 0.9.0 及以上),其目的是推动用户采用更语义化的参数类型。若项目中依赖了较旧版本的 `Pillow` 或 `torchvision`,也可能触发类似问题。建议统一更新相关库至最新版本以确保兼容性[^4]。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值