pytorch執(zhí)行報錯cuda版本不匹配
RuntimeError: GET was unable to find an engine to execute this computation
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2020 NVIDIA Corporation Built on Tue_Sep_15_19:10:02_PDT_2020 Cuda compilation tools, release 11.1, V11.1.74 Build cuda_1.1TC455_06.29069683_0
安裝的torch版本是cuda11.8,但是機器環(huán)境指向的是11.1版本
vim ~/.bashrc # 將下面的命令追加到bashrc文件中 source ~/.bashrc
bashrc是全局變量文件,source后會在所有的虛擬環(huán)境里面生效。export導(dǎo)入多個cuda文件,最后生效的是最后一次export的cuda版本。
# 下面命令將機器環(huán)境cuda版本指向cuda11.8 export PATH=/usr/local/cuda-11.8/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH
cuda11.8
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Sep_21_10:33:58_PDT_2022 Cuda compilation tools, release 11.8, V11.8.89 Build cuda_11.8.r11.8/compiler.31833905_0
執(zhí)行完上述命令后,腳本不再報錯。
RuntimeError: GET was unable to find an engine to execute this computation 這個報錯通常與 PyTorch 在使用 GPU 時的問題有關(guān),可能的原因有:
- CUDA 驅(qū)動程序問題:CUDA 驅(qū)動程序沒有正確安裝或版本不匹配。
- CUDA 工具包未正確配置:CUDA 工具包未正確安裝或環(huán)境變量未正確配置。
- PyTorch 編譯時未正確支持 CUDA:你安裝的 PyTorch 版本可能沒有編譯支持 CUDA。
- GPU 被其他進程占用:當(dāng)前 GPU 被其他進程占用,導(dǎo)致無法使用。
- 硬件問題:GPU 硬件可能有問題,導(dǎo)致無法執(zhí)行計算。
解決步驟
1. 檢查 CUDA 驅(qū)動程序
確保 CUDA 驅(qū)動程序已正確安裝并且版本與 CUDA 工具包版本匹配。使用以下命令檢查:
nvidia-smi
如果輸出顯示 GPU 信息,說明 CUDA 驅(qū)動程序已正確安裝。
2. 檢查 CUDA 工具包
確保 CUDA 工具包已正確安裝,并且 nvcc 命令可以運行:
nvcc --version
確保輸出顯示 CUDA 版本信息。
3. 檢查 PyTorch 是否支持 CUDA
確保你安裝的 PyTorch 版本支持 CUDA,并且 CUDA 版本與 PyTorch 版本兼容。運行以下代碼:
import torch print(torch.__version__) print(torch.version.cuda) print(torch.cuda.is_available()) print(torch.backends.cudnn.version())
確保輸出顯示 CUDA 可用,并且 CUDA 和 cuDNN 版本正確。
4. 檢查 GPU 使用情況
確保 GPU 未被其他進程占用。使用以下命令檢查 GPU 使用情況:
nvidia-smi
5. 重新安裝支持 CUDA 的 PyTorch
如果問題仍然存在,嘗試重新安裝支持 CUDA 的 PyTorch 版本:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113
確保將 cu113 替換為你實際需要的 CUDA 版本。
示例代碼進行檢查
以下是一些示例代碼來進行檢查和調(diào)試:
import torch
# 檢查 PyTorch 和 CUDA 版本
print("PyTorch version:", torch.__version__)
print("CUDA version:", torch.version.cuda)
# 檢查 CUDA 是否可用
cuda_available = torch.cuda.is_available()
print("Is CUDA available:", cuda_available)
# 檢查 GPU 設(shè)備數(shù)量
device_count = torch.cuda.device_count()
print("CUDA device count:", device_count)
if cuda_available:
for i in range(device_count):
print(f"Device {i}: {torch.cuda.get_device_name(i)}")
# 嘗試運行簡單的 CUDA 操作
if cuda_available:
try:
x = torch.tensor([1.0, 2.0, 3.0], device='cuda')
y = x ** 2
print("CUDA computation result:", y)
except RuntimeError as e:
print("CUDA computation failed:", e)PyTorch version: 2.1.0+cu118 CUDA version: 11.8 Is CUDA available: True CUDA device count: 4 Device 0: NVIDIA GeForce RTX 3090 Device 1: NVIDIA GeForce RTX 3090 Device 2: NVIDIA GeForce RTX 3090 Device 3: NVIDIA GeForce RTX 3090 CUDA computation result: tensor([1., 4., 9.], device='cuda:0')
通過這些步驟,你應(yīng)該能找到并解決 RuntimeError: GET was unable to find an engine to execute this computation 的原因。
到此這篇關(guān)于pytorch執(zhí)行報錯cuda版本不匹配的文章就介紹到這了,更多相關(guān)pytorch cuda版本不匹配內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pip install -r requirements.txt時遇到報錯自動跳過
本文主要介紹了pip install -r requirements.txt時遇到報錯自動跳過,下面就來介紹了幾種解決方法,具有一定的參考價值,感興趣的可以了解一下2025-03-03
python html2text庫將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索
這篇文章主要為大家介紹了python html2text庫將HTML文檔轉(zhuǎn)換為純文本格式使用示例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程
這篇文章主要介紹了Python爬取肯德基官網(wǎng)ajax的post請求實現(xiàn)過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家學(xué)有所得,多多進步2021-10-10
Python內(nèi)置函數(shù)object的具體使用
Python內(nèi)置函數(shù)object是Python中最基礎(chǔ)的類,它是所有類的基類,在 Python 中,所有的類都直接或間接地繼承自object類,object類提供了一些默認(rèn)的方法和屬性,這些方法和屬性可以被所有 Python 對象使用,2025-07-07
解決Pytorch內(nèi)存溢出,Ubuntu進程killed的問題
這篇文章主要介紹了解決Pytorch內(nèi)存溢出,Ubuntu進程killed的問題,具有很好的參考價值,希望對大家有所幫助。2021-05-05

