• UnkownError:Fail to find the dnn implementation. 解决方案


    UnkownError:Fail to find the dnn implementation. 解决方案

    一、总结

    一句话总结:

    这意思是cudnn分配不出更多的运算资源了

    二、UnkownError:Fail to find the dnn implementation. 解决方案及附加问题

    转自或参考:UnkownError:Fail to find the dnn implementation. 解决方案及附加问题
    https://blog.csdn.net/weixin_44545603/article/details/103322446


    本人配置:
    GEFORCE RTX 2060
    Win10
    CUDA10.0
    cuDNN7.6
    tensorflow-gpu-2.0.0
    本文中只包含tf2.0的解决方案,tf1的解决方案请参考本文的参考文章链接。
    我的程序是在jupyter notebook中跑的,notebook只有一个UnknownError的报错。我在控制台中找到了一些新的信息。

    Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED
    

    这意思是cudnn分配不出更多的运算资源了。
    网上有很多人说这是因为显卡太渣了…就目前情况来看,如果一台算力7.4的显卡还太渣的话,那真不知道什么显卡不渣了…

    在确定自己tensorflow、cuda、cudnn版本
    这种问题只能是显存资源的分配问题导致的
    tensorflow有两种显存分配方式:

    1. 仅在需要时申请显存空间(程序初始运行时消耗很少的显存,随着程序的运行而动态申请显存);
    2. 限制消耗固定大小的显存(程序不会超出限定的显存大小,若超出的报错)。
      而默认是第二种!!!

    这就能解释为什么会出现alloc的问题了,所以我们通过下面的代码吧显存分配方式改成第一种就可以了!

    import tensorflow as tf
    gpus = tf.config.experimental.list_physical_devices('GPU')
    for gpu in gpus:
        tf.config.experimental.set_memory_growth(gpu, True)
    

    到此,相信很多人的问题已经解决了,但是可能也有些人出现了新问题:

    RuntimeError: Device could not be initialized or no devices found.
    

    这可能是因为,现在你的程序是跑在一个虚拟环境中的(比如anaconda)。
    而在这些环境中,你的硬件都是事先被初始化过的,所以才会出现这个问题。
    所以我的建议是,不要用anaconda的虚拟环境了,直接在外部环境里面跑,使用上面的代码就能解决问题。
    有兴趣也可以研究一下anaconda里面怎么能让设备不事先initialize或者事先初始化为按需分配。

     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    【递推】【HDU 2073】无限的路 (找规律)
    【省赛】山东省第七届ACM省赛(部分水题)
    【思维】牛客练习赛16 B-漂亮的树
    【搜索】牛客练习赛16 C-任意点 (类似求联通块)
    输入输出
    Python入门——运行python的两种方式&变量&常量
    编程语言分类
    What is an Operating System?
    计算机硬件&编程基础
    《SPA设计与架构》之认识SPA
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13737576.html
Copyright © 2020-2023  润新知