failed to create cublas handle: CUBLAS_STATUS_ALLOC_FAILED 问题出现原因及解决办法
在使用tensorflow的gpu运行程序时,因为gpu已被其他python脚本占用或自己程序重复调用gpu而报出该错误。个人在解决过程中发现出现这种问题的情况有三种,有两种比较常见,另外一种可能很难接触到。解答如下:
情况一:已有一个占用gpu的python程序在运行,你再运行自己的程序就会报这个错误。
解决方法:只能先把已占用gpu的python程序给关掉,然后再运行自己的。
情况二:如果程序是你自己写的,可能会出现重复定义session的问题,这相当于又调用了一次gpu,所以报错。
解决方法:想想在哪里又定义了一次session,自己找找,找到去掉后就行。
情况三:该情况出现的情况比较难见,因为我们一般都用一个框架来处理问题,如tensorflow,但我还用了pytorch,问题就出现在pytorch构建数据集时调用了gpu导致tensorflow不能占用gpu了
解决方法:该问题出现在另一个框架会先调用gpu,不让它用就行