• [大坑]Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR


    报错tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR

    错误代码

    2019-05-05 09:34:42.298865: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcublas.so.10.0
    2019-05-05 09:34:42.469839: I tensorflow/stream_executor/platform/default/dso_loader.cc:42] Successfully opened dynamic library libcudnn.so.7
    2019-05-05 09:34:43.086143: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
    2019-05-05 09:34:43.100978: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
    

    解决办法

    首先这是一个大坑,在网上找了很多办法,基本都是改一些GPU运行时候的config,我发现跑有些程序的时候并不奏效;也有是要求降级cuda和cudnn版本,我尝试了从cuda10.1一路降到9.0,cudnn也一直换,报错依旧在,仍然不奏效。

    为了解决这个问题,我尝试用docker安装tensorflow-gpu发现是可以成功运行程序的,但是不太方便,我发现anaconda在虚环境里面使用conda安装tensorflow-gpu会自动安装该环境下的cuda和cudnn,并且不会对环境外已经安装的cuda和cudnn有影响,但是默认安装的版本比较低,所以,最好的办法是指定安装的版本。只需要指定tensorflow的版本即可,cuda和cudnn的版本会对应。

    在虚环境下安装

    conda install tensorflow-gpu==1.12
    

    就这一条简单的命令折腾了好几天,cuda cudnn tensorflow各种版本都尝试了,在github上很多人说等待tensorflow新版本修复,确实,这个方法只能暂时解决问题,没办法迁移到更高的版本比如tensorflow2.0,所以暂时用的话还是用1.12的吧。。

  • 相关阅读:
    Hibernate保存方式的区别
    活动图
    Apache新增站点配置
    Apache安装
    360度全方位沟通向上沟通
    时间转换
    PostgreSQL 9.2中将引入生成JSON数据功能
    Delphi 读取dbgrid中的选中一行的代码及定位函数
    彻底解决Delphi的DBGrid控件鼠标滚轮问题(转)
    DB2与PostgreSQL开发的异同
  • 原文地址:https://www.cnblogs.com/aoru45/p/10811428.html
Copyright © 2020-2023  润新知