Krita-AI-Diffusion项目中的MPS内存问题解决方案

Krita-AI-Diffusion项目中的MPS内存问题解决方案

krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. krita-ai-diffusion 项目地址: https://gitcode.com/gh_mirrors/kr/krita-ai-diffusion

问题背景

在使用Krita-AI-Diffusion插件进行生成式填充时,部分Mac用户(特别是M1芯片8GB内存的设备)可能会遇到MPS后端内存不足的错误。错误信息通常会提示"MPS backend out of memory",并建议设置PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0参数来禁用内存上限限制。

技术原理

MPS(Metal Performance Shaders)是苹果提供的Metal框架的一部分,允许开发者利用苹果芯片的GPU进行高性能计算。PyTorch通过MPS后端在Mac设备上加速深度学习计算。默认情况下,PyTorch会设置一个内存使用上限(high watermark ratio),以防止内存被过度占用。

解决方案详解

临时环境变量设置

对于希望在当前会话中临时解决此问题的用户,可以通过终端执行以下命令:

export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0

这条命令会将MPS的内存使用上限比例设置为0,相当于禁用内存限制,允许PyTorch尽可能使用可用内存。需要注意的是,这种方法只在当前终端会话中有效,关闭终端后设置将失效。

永久环境变量设置

若希望设置永久生效,可以将该环境变量添加到shell配置文件中:

  1. 对于bash用户,编辑~/.bash_profile或~/.bashrc文件
  2. 对于zsh用户,编辑~/.zshrc文件
  3. 在文件末尾添加:export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0
  4. 保存文件后执行source ~/.zshrc(或对应的配置文件)使更改生效

注意事项

  1. 禁用内存上限可能会导致系统不稳定,特别是在内存有限的设备上
  2. 建议在执行内存密集型任务后恢复默认设置
  3. 8GB内存的M1设备可能仍然无法处理较大的生成任务
  4. 可以考虑降低生成图像的分辨率或使用更小的模型来减少内存需求

替代方案

如果修改环境变量后问题仍然存在,可以考虑以下替代方案:

  1. 使用CPU模式运行(性能较低但内存管理更灵活)
  2. 调整Krita中的AI Diffusion插件设置,降低批处理大小
  3. 关闭其他占用内存的应用程序
  4. 考虑升级到内存更大的设备以获得更好的体验

通过以上方法,大多数用户应该能够解决MPS内存不足的问题,继续使用Krita-AI-Diffusion进行创意工作。

krita-ai-diffusion Streamlined interface for generating images with AI in Krita. Inpaint and outpaint with optional text prompt, no tweaking required. krita-ai-diffusion 项目地址: https://gitcode.com/gh_mirrors/kr/krita-ai-diffusion

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董园路Beatrix

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值