TensorFlow导入耗时过长(超80秒),疑与_fill_cache相关求排查
解决TensorFlow导入耗时过长(_fill_cache环节异常)的排查方案
这问题我之前也碰到过几次,TensorFlow导入突然变慢到几十秒,大概率和缓存、环境依赖或者系统层面的问题有关,结合你提到的_fill_cache环节异常,给你几个针对性的排查方向:
清理TensorFlow缓存目录
_fill_cache是TF加载时填充内部缓存的核心步骤,如果缓存文件损坏、路径权限异常,就会导致这个环节卡顿。你可以手动清理TF的缓存目录:- Linux/macOS:删除
~/.cache/tensorflow目录下的所有内容 - Windows:删除
C:\Users\<你的用户名>\AppData\Local\Temp\tensorflow目录下的内容
清理完成后重新运行脚本,看看导入速度是否恢复。
- Linux/macOS:删除
排查环境依赖与版本冲突
近期如果更新过TensorFlow、Python或者核心依赖包(比如numpy、protobuf),很可能出现版本不兼容的情况,导致导入时加载逻辑异常。可以尝试:- 回退到之前能正常快速运行的TF版本:
pip install tensorflow==<你之前使用的版本号> - 用
pip list查看当前依赖版本,对照TensorFlow官方文档确认protobuf、numpy等核心依赖的推荐版本,对不匹配的依赖进行升级或降级。
- 回退到之前能正常快速运行的TF版本:
检查系统磁盘与权限问题
导入慢也可能是系统磁盘IO瓶颈,或者TF没有足够权限读取/写入缓存文件:- 查看系统磁盘使用率,确保系统盘有足够剩余空间,同时检查磁盘是否存在IO卡顿(比如用
iostat(Linux/macOS)或任务管理器(Windows)查看磁盘占用) - 尝试用管理员/root权限运行脚本,验证是否是权限不足导致缓存无法正常操作。
- 查看系统磁盘使用率,确保系统盘有足够剩余空间,同时检查磁盘是否存在IO卡顿(比如用
临时禁用导入缓存做验证
你可以通过设置环境变量临时跳过TF的导入缓存,快速验证问题是否确实出在_fill_cache环节:- Linux/macOS:在运行脚本前执行命令
export TF_DISABLE_IMPORT_CACHE=1 - Windows:在命令行执行
set TF_DISABLE_IMPORT_CACHE=1
如果设置后导入速度恢复到1秒以内,就可以确定是缓存相关的问题,再回到第一个方案彻底解决缓存损坏或路径的问题。
- Linux/macOS:在运行脚本前执行命令
内容的提问来源于stack exchange,提问作者Honeybear
相关产品推荐
相关产品推荐

