Anaconda+Pycharm环境下运行tensorflow-gpu1.12.0+keras2.1.6+opencv-python3.4.1.15+efficientnet0.0.4

这几天做头部姿态检测,在GitHub上找到一个相关项目:Ascend-Research / HeadPoseEstimation-WHENethttps://github.com/Ascend-Research/HeadPoseEstimation-WHENet

 该项目在requirements.txt里说明了部分第三方库的版本:

numpy
opencv-python
tensorflow-gpu==1.12.0
keras==2.1.6
efficientnet==0.0.4

由于目前使用的anaconda安装了最新版本python3.9,不兼容以上第三方库,故在anaconda里新建了虚拟环境python3.6(起初装了虚拟环境python3.7,运行时会报错),并在该虚拟环境中用pip install 而非 conda install 命令安装以上各库(貌似不用先安装numpy,因为安装其他库时会附带numpy)。

然后运行程序报错:ImportError: DLL load failed: 找不到指定的模块

根据使用 pip 安装 TensorFlowGPU 支持  |  TensorFlow,tensorflow-gpu要搭配CUDA和cudnn使用,而且要注意版本兼容问题,于是为tensorflow-gpu1.12.0下载了CUDA9.0和cudnn7.5.0.56。

安装CUDA9.0后,将cudnn7.5.0.56的各子文件夹里的文件复制到CUDA9.0安装目录下相应名称文件夹内,然后将CUDA9.0的路径(我的是默认安装路径)添加到系统变量里(电脑-右键“属性”-高级系统设置-环境变量-系统变量-Path-编辑-新建):

7e28b55687b7443b9188ddb0dbebb436.png

 然后运行程序,出现另一种报错,网上说要安装Microsoft Visual C++ Redistributable包,于是我直接安装了Microsoft Visual Studio2017。

这回程序报错变了,搜索后按照网上方法,将安装上面第三方库时附带的h5py的版本改为2.10.0,将protobuf的版本改为3.19.1,继续报错,又将tensorflow-gpu从1.12.0变为1.8.0,报错信息变为:

failed to run cuBLAS routine cublasSgemm_v2: CUBLAS_STATUS_EXECUTION_FAILED

 又经过几番搜索,原来是当初安装CUDA9.0时没有装相应的补丁,于是下载第四个补丁并安装:CUDA9.0和补丁https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal

 运行程序,终于不是tensorflow和CUDA的问题了,报错变为:

pyparsing AttributeError: 'version_info' object has no attribute '__version__'

搜索后将pyparsing的版本变为2.4.7后解决问题,鼓掌!

作为对上述项目说明的补充,最终我的这些库版本为numpy1.19.5、opencv-python3.4.1.15

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值