用Keras做图片识别时报错 (0xC0000409)的错误代码。
错误指向训练语句
CnnMod.fit(tr_s,epochs=5)
查询后是堆栈溢出。一开始以为是显卡内存不足,导致的错误。因为此前用同一个环境做的MLP模型是可以正常运行的,也是成功调用了显卡进行训练与测试。
于是调小batchsize到1,结果都报错,训练图片调小到30*30仍然报错。
于是继续查找问题。
从网上查到别人的经验,可能问题并不是出在内存或显存不足,读错了数据,甚至库有问题都会引起该报错!!!!!
调出Configuration,修改,勾选将控制台调试信息导入,调试运行
,结果果然发现问题
错误信息变为:
2022-01-21 20:49:46.957447: I tensorflow/stream_executor/cuda/cuda_dnn.cc:369] Loaded cuDNN version 8301
Could not load library cudnn_cnn_infer64_8.dll. Error code 126
Please make sure cudnn_cnn_infer64_8.dll is in your library path!
解决参照以下内容:
区别只在于这次试用了卷积层,应该是调用了CUDNN库后的兼容性问题。