[bug]: InvokeAI Crashes with I “Invoke” an image.

用户通过 InvokeAI 启动器安装在 Linux 系统上,使用 AMD R9700 AI Pro(基于 RDNA 4 架构,VRAM 32GB)显卡,运行 InvokeAI v6.13.5rc1。当用户在界面中调用("Invoke")一张图片时,程序直接崩溃。此问题在 issue 报告中由 @T

[bug]: InvokeAI Crashes with I "Invoke" an image.

[bug]: InvokeAI Crashes with I “Invoke” an image.

快速结论:此问题通常出现在使用 AMD RDNA 4 架构 GPU(如 RX 9070 XT)运行 InvokeAI v6.13.5rc1 时,点击 “Invoke” 按钮后崩溃。优先排查默认的 ROCm 6.3 是否与显卡兼容,并检查是否因缺失 null check 导致反序列化错误。

问题场景

用户通过 InvokeAI 启动器安装在 Linux 系统上,使用 AMD R9700 AI Pro(基于 RDNA 4 架构,VRAM 32GB)显卡,运行 InvokeAI v6.13.5rc1。当用户在界面中调用(”Invoke”)一张图片时,程序直接崩溃。此问题在 issue 报告中由 @Terry-Rose-Jr 提出,涉及 SDXL 模型加载。

报错原文

# Issue 标题与讨论中未提供完整崩溃日志,但根因被描述为:
# "root cause was the missing null check before deserialization"

注意:Issue 正文中未提供完整错误堆栈,此错误为开发者通过代码审查推断的根因。

原因分析

可能原因有两方面:

  • 反序列化缺失空值检查:开发者指出根因是一个 “missing null check before deserialization”(反序列化前的空值检查缺失)。在尝试将某些配置或模型数据反序列化时,如果遇到 null 值,可能导致崩溃。这属于代码层缺陷。
  • ROCm 版本不兼容:另一位用户评论指出,对于 RX 9070 XT(RDNA 4 架构),InvokeAI 默认安装的 ROCm 6.3 “quite old and not really suitable”(非常老旧且不适合新的 RDNA 4 显卡),这可能间接触发反序列化逻辑错误。

环境排查

  • InvokeAI 版本:v6.13.5rc1
  • GPU 型号:AMD R9700 AI Pro(RDNA 4 架构,VRAM 32GB)
  • GPU 供应商:AMD (ROCm)
  • 操作系统:Linux
  • 依赖:Issue 中列出大量依赖,重点关注 torch(未在依赖列表中显式显示,但为关键组件)、diffusers==0.37.0CUDA: N/A
  • ROCm 版本:默认为 ROCm 6.3(需确认当前安装版本)

解决步骤

  1. 可优先尝试:升级 ROCm 和 PyTorch 版本。根据 issue 评论中的用户实践,将 ROCm 从默认的 6.3 升级到 7.2,并锁定 PyTorch 到 2.11.0,可显著改善兼容性。具体命令(来源于 issue 评论)为:
    uv pip uninstall torch torchvision pytorch-triton-rocm
    uv pip install torch==2.11.0 torchvision pytorch-triton-rocm --index-url https://download.pytorch.org/whl/rocm7.2

    注意:以上命令在 issue 评论中由用户 @jfennick 提供,不是官方修复,但属于社区验证的可行方案。

  2. 调整 `invokeai.yaml` 配置。评论中提到添加以下设置以提升稳定性和性能:
    attention_type: torch-sdp
    force_tiled_decode: true
  3. 设置环境变量。评论建议设置以下环境变量(可能需要在启动器中配置):
    PYTORCH_MIOPEN_SUGGEST_NHWC=0
    MIOPEN_DEBUG_CONV_DIRECT_NAIVE_CONV_FWD=0
    MIOPEN_FIND_MODE=FAST
    PYTORCH_HIP_ALLOC_CONF=expandable_segments:True
    TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1
    TORCH_BLAS_PREFER_HIPBLASLT=1

    注意:`PYTORCH_HIP_ALLOC_CONF` 在评论中注明当前工作不正常,可能是一个 PyTorch bug。

  4. 确保模型 VAE 精度设置为 FP16,并可能需要使用修正后的 16-bit VAE(取决于模型)。否则可能 OOM。
  5. 由于根因涉及代码层面的 null check 缺失,用户可等待 InvokeAI v6.14 版本的正式修复(按 issue 中开发者承诺)。

验证方法

在完成上述步骤后,重新启动 InvokeAI,加载一张图片或生成任务(”Invoke”),检查是否不再崩溃。另外,可通过检查日志中是否有 “deserialization” 相关的错误信息来判断问题是否被绕过。如果仍崩溃,建议回滚到旧 GPU(如用户暂时采取的措施)或提供更多日志以便进一步排查。

参考来源

invoke-ai/InvokeAI #9323

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 12865

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注