TensorFlow导入时出现cuFFT、cuDNN工厂注册错误及警告问题求助
TensorFlow导入时出现cuFFT、cuDNN工厂注册错误及警告问题求助
嗨,我之前导入TensorFlow的时候也碰到过几乎一模一样的报错,折腾了好一阵才理顺,给你几个亲测有效的解决思路:
首先得说透,这个错误本质是CUDA相关库(cuFFT、cuDNN)版本冲突导致的——你的系统里大概率存在多套同类型库,TensorFlow尝试注册对应的工厂组件时,发现已经有一个版本的工厂先占了位置,就抛出了这个冲突错误。
下面是具体的解决步骤:
- 先清理环境变量里的冗余路径。比如Windows用户去系统环境变量的PATH里,只保留和当前TensorFlow版本兼容的CUDA、cuDNN的bin、lib路径;Linux/macOS用户就调整
LD_LIBRARY_PATH,确保只有一套CUDA相关库在生效路径里,彻底避免多版本库互相干扰。 - 严格匹配TensorFlow和CUDA、cuDNN的版本!这个是重中之重,不同版本的TensorFlow对CUDA的版本要求卡得很死,版本不匹配十有八九会出这类冲突。你可以对照TensorFlow的版本兼容说明(不用跳外部网站,本地查官方文档或者安装提示里的对应表就行),卸载掉不匹配的组件,重新安装完全对应版本的CUDA和cuDNN。
- 如果用的是conda环境,强烈建议在干净的新环境里重来。先创建一个新环境:
conda create -n tf_env python=3.10,激活环境conda activate tf_env,再安装TensorFlow:pip install tensorflow。conda会自动帮你梳理依赖,能大幅降低库冲突的概率。 - 至于那个absl日志的警告,是日志初始化顺序的小问题,你可以在导入TensorFlow之前加几行代码调整日志等级:
这样就能把低等级的警告屏蔽掉,不会再看到这条提示了。import absl.logging absl.logging.set_verbosity(absl.logging.ERROR)
备注:内容来源于stack exchange,提问作者devil179
相关产品推荐
相关产品推荐

