參考鏈接
報(bào)錯(cuò)分析
當(dāng)運(yùn)行以下代碼出現(xiàn)報(bào)錯(cuò):
# self.opt.gpu_ids = ["1"]
torch.cuda.set_device(self.opt.gpu_ids[0])
報(bào)錯(cuò)信息如下
RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call,so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
報(bào)錯(cuò)完整截圖
報(bào)錯(cuò)的信息告訴我們,編號(hào)"1"是無(wú)效的設(shè)備序號(hào)。但我使用的設(shè)備屬于單機(jī)多卡,是有編號(hào)為"1"的顯卡的。
解決方法
檢查報(bào)錯(cuò)代碼前面執(zhí)行過的程序,特別是導(dǎo)入第三方庫(kù)部分,發(fā)現(xiàn)利用os
庫(kù)指定了該程序可見的GPU編號(hào)及數(shù)量,即:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "1"
因此,注釋掉os.environ["CUDA_VISIBLE_DEVICES"] = "1"
后,重新運(yùn)行程序,順利解決bug~文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-764696.html
相關(guān)技巧
Pytorch設(shè)置GPU編號(hào)
- 在終端中運(yùn)行python程序時(shí)設(shè)置
CUDA_VISIBLE_DEVICES=1 python main.py
- 在python代碼中設(shè)置
import os
os.environ['CUDA_VISIBLE_DEVICE']='1' # 使用編號(hào)為1的顯卡
- 在python代碼中使用函數(shù)
torch.cuda.set_device
設(shè)置
import torch
torch.cuda.set_device("1")
檢查GPU是否可用
import torch
torch.cuda.is_available() # 判斷是否可以使用gpu計(jì)算
顯示當(dāng)前可用的GPU數(shù)量
import torch
torch.cuda.device_count() # 顯示gpu數(shù)量
結(jié)尾
親愛的讀者,首先感謝您抽出寶貴的時(shí)間來(lái)閱讀我們的博客。我們真誠(chéng)地歡迎您留下評(píng)論和意見,因?yàn)檫@對(duì)我們來(lái)說(shuō)意義非凡。
俗話說(shuō),當(dāng)局者迷,旁觀者清。您的客觀視角對(duì)于我們發(fā)現(xiàn)博文的不足、提升內(nèi)容質(zhì)量起著不可替代的作用。
如果您覺得我們的博文給您帶來(lái)了啟發(fā),那么,希望您能為我們點(diǎn)個(gè)免費(fèi)的贊/關(guān)注,您的支持和鼓勵(lì)是我們持續(xù)創(chuàng)作的動(dòng)力。
請(qǐng)放心,我們會(huì)持續(xù)努力創(chuàng)作,并不斷優(yōu)化博文質(zhì)量,只為給您帶來(lái)更佳的閱讀體驗(yàn)。
再次感謝您的閱讀,愿我們共同成長(zhǎng),共享智慧的果實(shí)!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-764696.html
到了這里,關(guān)于已解決RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asynchronously repo的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!