F .\tensorflow/core/kernels/random_op_gpu.h:232] Non-OK-status: GpuLaunchKernel(FillPhiloxRandomKernelLaunch, num_blocks, block_size, 0, d.stream(), gen, data, size, dist) status: Internal: no kernel image is available for execution on the device 主要集中在Internal处为报错原因。也就是 no kernel image is available for execution on the device。
操作系统:Windows 10 GPU:GTX 850M(当时的强势显卡,现在的垃圾显卡),计算能力5.0 CUDA:驱动版本(Driver Version)11.0,运行版本(Runtime Version)10.1 (CUDA信息查看方式,命令行cd到cuda安装目录下的\extras\demo_suite目录,直接运行deviceQuery.exe即可,不要在文件夹内双击,显示信息第二行CUDA Capability Major/Minor version number为显卡的计算能力) python: 3.7.7 Tensorflow: 2.3.1
运行完毕后最后一行显示True,则表示成功加载GPU,TensorFlow版本也为GPU版本。
如果第1小点里检查是否加载GPU那步,返回是True的话,也说明了计算能力符合要求。 如果不符合要求(显卡垃圾),请自觉降低cuda版本
这条当没看见吧,属于面向cuda编程的范畴,或者手动编译TensorFlow,没什么用,跟TensorFlow没关系。
查阅了n多资料,度娘也尽力了,在某论坛发现了一丝丝提示。
将TensorFlow版本降至2.2,这个错误就解决了,原因不明,治标不治本,对于对TensorFlow 2.3.1有需求的人就gg了,但基础学习来讲可以这么干。对于TensorFlow产生这个错误的说明度娘等搜索引擎相关资料基本没有,都是针对CUDA本身进行编程的还有关于pytorch的,不适合TensorFlow。 有猜测是因为2.3.1不太支持850m显卡。可能还是因为我显卡太菜了。
