预测时遇到RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`
时间: 2023-12-03 17:41:03 浏览: 217
Python RuntimeError: thread.__init__() not called解决方法
当预测时遇到`RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling 'cublasCreate(handle)'`错误时,这通常是由于GPU内存不足导致的。可以尝试以下几种方法来解决这个问题:
1. 减少batch size或者输入图像的分辨率,以减少GPU内存的使用。
2. 禁用梯度计算,以减少GPU内存的使用。可以在代码中添加以下语句来禁用梯度计算:
```python
with torch.no_grad():
# your prediction code here
```
3. 如果你的GPU内存足够大,可以尝试使用`CUDA_LAUNCH_BLOCKING=1`命令来输出底层问题。具体来说,可以使用以下命令格式来运行你的代码:
```bash
CUDA_LAUNCH_BLOCKING=1 python [你的命令参数]
```
例如:
```bash
CUDA_LAUNCH_BLOCKING=1 python predict.py --task davis
```
这将会输出更详细的错误信息,帮助你更好地定位问题。
阅读全文