记录一下:could not create cublas handle: CUBLAS_STATUS_ALLOC_FAILED解决办法
[size=16px]英伟达1660s,最先安装的tensorflow-gpu2.1.0,发现tf.test_is_gpu_available()是True,然而一运行resnet18,CPU100%占用率,而GPU几乎不动,各种搜索,找不到问题的原因。
这个问题真的困扰了我好久,之前以为是版本太高,从tensorflow-gpu2.10降到了2.0.0,还是不行,对应的cuda、cudnn版本也都是按照官方文件对应的。
都快要放弃了,认真检查错误提示:
Loaded runtime CuDNN library: 7.4.1 but source was compiled with: 7.6.0.
于是下载了7.6.0的cudnn,替换掉,又出现问题了:
could not create cublas handle: CUBLAS_STATUS_ALLOC_FAILED
没关系,继续搜索,
网上解决办法
config = tf.ConfigProto()
session = tf.Session(config=config)
也不行,这是tensorflow1.X的版本代码,所以要加上tf.compat.v1,不然找不到ConfigProto模块。
变成:
config = tf.compat.v1.ConfigProto()
session = tf.Session(config=config)
结果还不行。
最后发现还少一行代码,如图:
大家只关注红框里的代码即可,其余代码都是搜索出来,但是试了不管用的。
希望对同样问题的人,有所帮助。[/size]