当前位置:   article > 正文

记录CUDA error: out of memory的成功解决_embeddings_api.py[line:39] - error: cuda out of me

embeddings_api.py[line:39] - error: cuda out of memory. tried to allocate 16

说来惭愧,这个bug确实困扰了我挺久的。

也是一直扒CSDN看经验,不止一篇文章写道:

“如果CUDA error: out of memory这句话后面跟了 Tried to allocate ...MB的话,是显存不够,可以尝试缩小batch_size等方法来节省显存;但是如果后面没有这句话,说明是GPU被占用或torch版本与pre-trained model版本不匹配” 

我遇到的报错如下:

故尝试后两种方法。

NVIDIA-smi后显示,运行前没有GPU被占用,方法1pass。注意!此时我完全没有管显存的事情……

找到源代码的信息:

惊讶地发现:我的torch版本确实和作者预训练的不一致!OK我重装。于是重装了1.4.0的古早torch,激动地去 python main.py 时,这error甚至一点没变化……

我去交流群求助,大家纷纷说是显存的问题,于是我又smi了一下:

果然……第一张卡满满当当

于是将device设置改为使用第二张卡(显卡索引从0开始,第2张卡为1),方法为:

在device语句前插入:

  1. os.environ["CUDA_VISIBLE_DEVICES"] = "1"
  2. device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

os.environ 可以获取有关系统的各种信息,此语句可以指定所要使用的显卡,没有此句默认为0。

修改后,代码顺利运行!

希望可以帮到大家~也提醒自己长个教训,思路不要被局限住,也要努力拓宽自己的视野,不要人云亦云~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/89037
推荐阅读
相关标签
  

闽ICP备14008679号