You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复iMac上运行图像分类代码时的ApplePersistenceIgnoreState错误?

解决iMac上运行Keras图像分类代码时的macOS警告问题

你遇到的两个警告都是macOS系统层面的提示,和代码里的神经网络训练逻辑完全无关,不会影响模型训练结果,以下是具体解释和解决办法:

警告1:ApplePersistenceIgnoreState 相关提示

ApplePersistenceIgnoreState: 现有状态不会被修改。新状态将写入 /var/folders/2g/.../T/org.python.python.savedState

这是macOS窗口状态保存机制触发的提示,根源是matplotlib弹出绘图窗口时,系统尝试保存窗口状态。解决方法:

  • 方案1:在终端运行代码前先执行环境变量设置:
    export APPLE_PERSISTENCE_IGNORE_STATE=1
    
    再运行你的Python脚本。
  • 方案2:在Python代码开头添加以下代码,直接在脚本内设置环境变量:
    import os
    os.environ['APPLE_PERSISTENCE_IGNORE_STATE'] = '1'
    

警告2:安全编码未启用提示

2024-08-02 16:29:19.788 Python[48146:6869495] 警告:可恢复状态未启用安全编码!请实现NSApplicationDelegate.applicationSupportsSecureRestorableState:并返回YES以启用安全编码。

这是Python的GUI后端(matplotlib依赖的Cocoa/Qt框架)未启用系统安全编码机制导致的,同样不影响模型运行。解决方法:

  • 方案1:如果不需要弹出图像窗口,修改matplotlib为非交互式后端,在代码开头添加:
    import matplotlib
    matplotlib.use('Agg')
    
    这样代码会跳过窗口弹出,直接完成模型训练。
  • 方案2:如果需要查看图像,可以直接忽略这个警告;或者在终端运行代码时屏蔽警告输出(会屏蔽所有警告,谨慎使用):
    python your_script.py 2>/dev/null
    

关键说明

这两个警告都属于系统与Python GUI交互的小问题,不会干扰你的神经网络模型训练、图像分类的正确性,如果不介意终端里的提示信息,完全可以直接忽略,继续执行代码即可。

内容的提问来源于stack exchange,提问作者EmperorLarry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 02:54:54