Tensorflow——Tensorflow运行调试记录

  • 背景:
    • 使用python中的tensorflow封装API构建CNN模型,并在Visual Studio 2022中运行。
  • 现象:
    • 消除所有BUG以后,终于可以把构建的模型跑起来了。然而VS又开始闹幺蛾子。点击运行,解释器窗口日志显示在进入调用cuDNN后,代码立刻跳出。而且日志里没有任何错误码。Visual Studio这会儿也在报图2所示的错误。
    • Tensorflow——Tensorflow运行调试记录_第1张图片

    • VS python解释器窗口日志
    • Tensorflow——Tensorflow运行调试记录_第2张图片

    • VS报出未知错误
    • have no idea这是个啥玩意儿。However,机智的我立刻意识到这一定是cuDNN报了VS不能转换的错误码。于是我直接用cmd调用python解释器重新执行了模型训练脚本。这次报错内容详细多了(图3)。从图3中可以看到,tensorflow尝试加载cuDNN库文件cudnn_cnn_infer64_8.dll失败(详细报错为:"Could not load library cudnn_cnn_infer64_8.dll. Error code 126")。实际上这不应该失败的,因为我已经按照tensorflow的要求安装了V11.5版本的cuda和与之匹配的cuDNN库。
    • Tensorflow——Tensorflow运行调试记录_第3张图片

    图3 cmd中python解释器的详细报错日志

  • then, 到底为啥呢?经过一番查阅,注意到了博主乔卿的博客[1]。其中提到与V11.5 cuda匹配的cuDNN版本v8.3.1安装后,无法加载库文件的现象。于是按照该博主的提示,安装了适配V11.4 cuda的cuDNN v8.2.2 (July 6th, 2021), for CUDA 11.4。(安装教程请参考[2])now let us试试是不是能跑了。Thak God. 它能跑了哈哈哈哈哈。
  • Tensorflow——Tensorflow运行调试记录_第4张图片

  • 4 cuDNN版本替换运行成功了

  • 结论:
    • 如果你下载的CUDA版本为V11.5,那么对应的cuDNN库请下载cuDNN v8.2.2 (July 6th, 2021), for CUDA 11.4

  • reference:
    • [1] 乔卿, "Windows环境下tensorflow报错“Could not load library cudnn_cnn_infer64_8.dll. Error code 126”的解决方案",  Windows环境下tensorflow报错“Could not load library cudnn_cnn_infer64_8.dll. Error code 126”的解决方案_乔卿的博客-CSDN博客
    • [2] hw@c14h10, "cuda安装教程+cudnn安装教程",  cuda安装教程+cudnn安装教程_sinat_23619409的博客-CSDN博客_cuda安装

你可能感兴趣的:(tensorflow,tensorflow,网络,算法)