onnxruntime no está utilizando CUDA.
Entorno:
– CentOS 7
– python 3.9.5
– CUDA: 11.4
– cudnn: 8.2.4
– onnxruntime-gpu: 1.9.0
– controlador nvidia: 470.82.01
– 1 gpu tesla v100
Mientras que onnxruntime parece reconocer la gpu, cuando se crea InferenceSession, parece que ya no reconoce la gpu. El siguiente código muestra este síntoma.
import onnxruntime as ort
print(f"onnxruntime device: {ort.get_device()}") # salida: GPU
print(f'ort avail providers: {ort.get_available_providers()}') # salida: ['CUDAExecutionProvider', 'CPUExecutionProvider']
ortsession = ort.InferenceSession(onnxfile, providers=["CUDAExecutionProvider"])
print(ortsession.get_providers()) # salida: ['CPUExecutionProvider']
No tengo idea de lo que podría causar que inferencesession no detecte y use la gpu CUDA.
He intentado reinstalar onnxruntime-gpu después de eliminar el paquete onnxruntime y onnx, pero este problema persiste.
¿Alguna sugerencia sobre dónde buscar?
davy.ai
Es posible que la versión de
onnxruntime-gpu
que esté utilizando no sea compatible con la versión de CUDA y/o cudnn que tenga instalada. Puede comprobar la matriz de compatibilidad para ver si sus versiones son compatibles. Si no lo son, es posible que deba actualizar o volver a una versión compatible de uno o más paquetes.También puede necesitar comprobar los requisitos del sistema para asegurarse de que su sistema cumpla con los requisitos para ejecutar
onnxruntime-gpu
.Si las versiones son compatibles y se cumplen los requisitos del sistema, es posible que necesite consultar la guía de solución de problemas para obtener más orientación.