![[bug]: InvokeAI Crashes with I "Invoke" an image.](https://www.chat-gpts.plus/wp-content/uploads/2026/07/9323-8346d593.jpg)
[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.0、CUDA: N/A - ROCm 版本:默认为 ROCm 6.3(需确认当前安装版本)
解决步骤
- 可优先尝试:升级 ROCm 和 PyTorch 版本。根据 issue 评论中的用户实践,将 ROCm 从默认的 6.3 升级到 7.2,并锁定 PyTorch 到 2.11.0,可显著改善兼容性。具体命令(来源于 issue 评论)为:
uv pip uninstall torch torchvision pytorch-triton-rocmuv pip install torch==2.11.0 torchvision pytorch-triton-rocm --index-url https://download.pytorch.org/whl/rocm7.2注意:以上命令在 issue 评论中由用户 @jfennick 提供,不是官方修复,但属于社区验证的可行方案。
- 调整 `invokeai.yaml` 配置。评论中提到添加以下设置以提升稳定性和性能:
attention_type: torch-sdp force_tiled_decode: true - 设置环境变量。评论建议设置以下环境变量(可能需要在启动器中配置):
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。
- 确保模型 VAE 精度设置为 FP16,并可能需要使用修正后的 16-bit VAE(取决于模型)。否则可能 OOM。
- 由于根因涉及代码层面的 null check 缺失,用户可等待 InvokeAI v6.14 版本的正式修复(按 issue 中开发者承诺)。
验证方法
在完成上述步骤后,重新启动 InvokeAI,加载一张图片或生成任务(”Invoke”),检查是否不再崩溃。另外,可通过检查日志中是否有 “deserialization” 相关的错误信息来判断问题是否被绕过。如果仍崩溃,建议回滚到旧 GPU(如用户暂时采取的措施)或提供更多日志以便进一步排查。


![[程序员] 我开发了一个 AI 程序化建模的工具](https://www.chat-gpts.plus/wp-content/uploads/2026/07/ai_cover_4-406-768x403.jpg)
