导入TensorFlow模块报错求助:DLL加载失败与模块未找到问题
针对你在Python3.5环境下使用TensorFlow GPU 1.1.0导入时遇到的报错,结合chemical_vae项目的环境要求,我整理了几个最有效的排查和解决步骤:
核对CUDA与cuDNN版本(最关键)
TensorFlow 1.1.0 GPU版本有严格的依赖版本要求:必须搭配CUDA 8.0和cuDNN 5.1,高版本的CUDA/cuDNN会直接导致DLL加载失败(就是你遇到的ImportError: DLL load failed with error code -1073741795)。- 卸载当前不符合版本的CUDA,重新安装CUDA 8.0,安装时务必勾选"Add to system PATH"选项,或者手动将
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp添加到系统环境变量PATH中。 - 下载cuDNN 5.1(对应CUDA 8.0版本),解压后将里面的
bin、include、lib三个文件夹复制到CUDA 8.0的安装目录对应位置,覆盖原有文件(如果有的话)。
- 卸载当前不符合版本的CUDA,重新安装CUDA 8.0,安装时务必勾选"Add to system PATH"选项,或者手动将
重新安装指定版本的TensorFlow GPU
先彻底卸载现有TensorFlow:pip uninstall tensorflow-gpu -y然后重新安装1.1.0版本,确保安装过程无报错:
pip install tensorflow-gpu==1.1.0同时确认你的conda环境确实是Python3.5,执行
python --version验证版本是否正确。检查NVIDIA显卡驱动兼容性
确保你的显卡驱动版本支持CUDA 8.0,推荐使用375.xx及以上的驱动版本(不要用太新的驱动,避免兼容性问题)。如果驱动版本过低,去NVIDIA官网下载对应显卡的适配驱动并安装。排除项目依赖冲突
先在干净的终端中激活你的conda环境,直接运行python然后执行import tensorflow as tf,测试基础导入是否成功。如果成功,再尝试运行chemical_vae的代码;如果还是失败,可能是项目中的其他依赖和TensorFlow 1.1.0冲突,你可以尝试创建一个全新的conda环境,只安装TensorFlow 1.1.0和项目所需的基础依赖(比如numpy、scipy等),再测试导入。验证环境变量生效
所有环境变量修改后,一定要重启你的终端(或IDE),确保新的环境变量生效,否则系统还是会读取旧的路径配置。
内容的提问来源于stack exchange,提问作者braquistocrom

