Process finished with exit code -1073740791 (0xC0000409)报错解决方案

一、问题描述

使用Pycharm在跑一个深度学习网络时,出现以下报错:

Process finished with exit code -1073740791 (0xC0000409)

二、问题分析

出现以上报错,一般显卡显存不足导致的。所以可以通过以下几步来逐一排查:

  1. 判断自己的环境是否配置好,特别是cuda、cudnn
  2. 判断显卡驱动是否安装好或者需要更新
  3. 如果是windows下,可以打开任务管理器,查看GPU显存。

如下图所示,可以发现我的电脑有两个GPU,其中 GPU 0 是集成显卡, GPU 1 是独立显卡。一般而言,我们都采用性能更加强悍的独立显卡来训练网络。所以在主程序中,第一次训练时,最好要指定显卡;如果不指定的话,可能系统默认使用GPU 0,因此导致显存不足。

三、解决方案

指定使用 GPU 1 进行训练, 通需要在主程序前加入添加以下代码:

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "1"

当然,如果你有多张显卡,你也可以一起进行指定:

import os
os.environ["CUDA_DEVICE_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"  #指定第2,3,4张显卡处理

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年8月8日
下一篇 2023年8月8日

相关推荐