ONNX Runtime はインポートできるのに GPU 実行に失敗する:プロバイダーとセッションを確認する
パッケージの検出、ランタイムプロバイダー、モデルを実際に実行するセッションを切り分けます。
3 つの確認ポイント
onnx パッケージ、ONNX Runtime の配布パッケージ、実行中の推論セッションはそれぞれ別のものです。get_available_providers() はインストール済みランタイムで利用可能なプロバイダーを一覧表示します。InferenceSession.get_providers() はそのセッションに登録されたプロバイダーを一覧表示します。どちらの一覧も、このモデルの処理が CUDA に割り当てられた証拠にはなりません。プロバイダーの優先順位に従い、対応するノードでは CUDA、ほかのノードでは CPU が使われる場合があります。インストール(英語) CUDA の要件(英語) Python API(英語) プロバイダーの優先順位(英語)
python -m pip show onnx onnxruntime onnxruntime-gpu
python -c "import onnxruntime as r; print(r.__version__); print(r.get_available_providers())"
問題が起きているノードで使われるインタープリターと、信頼できるインストール環境でのみ実行してください。2 つ目のコマンドはネイティブコードをインポートします。onnxruntime をインポートできるのに CUDAExecutionProvider がない場合は、ドライバーを変更する前にインストール済みのランタイムビルドを調べてください。表示される場合は、実際にノードが作成したセッションと初期化ログを記録します。利用可能なプロバイダーの一覧だけでは、デバイス上で実行されたことを確認できません。
失敗の切り分け
インポートできない場合:インタープリターの選択とインストール済み配布パッケージを調べます。プロバイダーライブラリの失敗:使用中の ONNX Runtime の正確なリリースを、ドキュメントに記載された CUDA/cuDNN のメジャーバージョン要件およびネイティブライブラリのエラーと照合します。既定の GPU パッケージビルドは、リリースによって変わる場合があります。CPU へのフォールバック:ノードのセッションでのプロバイダーの順序と初期化ログを確認します。CUDA と CPU の両方が登録されたセッションでも、対応していないノードの処理が CPU に割り当てられる場合があります。そのランタイムとラッパーで利用できる場合は、グラフの割り当てまたはプロファイリングの証拠を使って確認します。モデル形式や演算子のエラー:ドライバーの問題と決めつけず、正確なエラーを保存します。
提案する合格確認は、元のノードで小さな処理を一つ実行し、そのセッションのプロバイダー一覧と、利用可能なノード割り当てまたはプロファイリングの証拠を記録することです。依存関係の変更は、復元可能なコピーでテストしてください。ラッパーから十分な証拠を取得できない場合は、GPU 実行を未確認として記録します。CPU での実行成功は CPU での結果であり、GPU アクセラレーションを確認したことにはなりません。すべてのプラットフォームに適合する単一のバージョン固定はありません。
関連する確認
資料の確認は 2026-09-26 に完了しました。ローカルへのパッケージのインストール、モデルセッション、CUDA ライブラリの読み込み、GPU 実行は行っていません。
次に考えられる原因を確認
同じ症状にも異なる原因があります。関連する記事を順に確認してください。
ログ全体をエラー検索に貼り付けるこの記事は役に立ちましたか?
匿名です。はい・いいえの件数のみ保存し、アカウント、IP アドレス、端末情報は保存しません。
出典と参考資料
2026-09-26 に確認した ONNX Runtime のインストール、CUDA プロバイダー要件、プロバイダーの優先順位、Python API のドキュメントに基づく編集上の要約です。英語原文の確認のみで、パッケージ、モデルセッション、GPU による再現テストは行っていません。
01ONNX Runtime のインストール(英語)出典の確認日: 2026-09-2602ONNX Runtime CUDA 実行プロバイダー(英語)出典の確認日: 2026-09-2603ONNX Runtime Python API(英語)出典の確認日: 2026-09-2604ONNX Runtime 実行プロバイダー(英語)出典の確認日: 2026-09-26問題を報告 · ea931aa0-e623-56b9-9f33-75dfb3fcfeaf
関連記事
編集者がこのページに関連づけた記事です。
環境と一つの管理された変更を記録し、メタデータと実行時の成功を区別します。