序文
プロジェクトによっては、推論のために onnxruntime-gpu を使用する必要があるため、Windows などの cuda の場合は onnxruntime-gpu を直接インストールできると思っていましたが、これほど面倒だとは予想していなかったので、後発者を助けるためにこの記事を共有します。
環境
GPU コンピューティング NVIDIA v100 クラウド サーバー。
システムのインストールを選択する場合、次のように最も高いバージョンが選択されています。
Ubuntu20.04
cuda11.0.3
cudnn8.5.0
コマンド ラインを使用して nvidia-smi を表示します。cuda
が実際にインストールされていることがわかります。
エラーログ
1.[W:onnxruntime:Default, onnxruntime_pybind_state.cc:541 CreateExecutionProviderInstance] CUDAExecutionProvider の作成に失敗しました。すべての依存関係を確認するには、https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements を参照してください。これは、
次のコマンドを直接使用してインストールすることによって引き起こされるバージョンの非互換性の問題です。
pip install onnxruntime-gpu
具体的なバージョンの対応を次の表に示します。
cuda は 11.0.3 であるため、onnxruntime-gpu==1.8 または 1.7 でのみインストールできます。
2.onnxruntime OSエラー: libcurand.so.10: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません
これは、Tencent Cloud cuda がインストールされている場所が非常に奇妙であるためです。デフォルトでは環境変数として見つかりません。手動で追加する必要があります。手動で追加する方法を説明します。
解決
1. デフォルトの cuda11.0.3 を使用する場合は、次のインストール コマンドを実行します。
pip install onnxruntime-gpu==1.8.0
或者
pip install onnxruntime-gpu==1.7.0
2. cuda ファイル ディレクトリを見つけます。
find / -name "libcudart.so.11.0"
-name の後にファイル名が続きます。必要に応じて置き換えて、不足しているものを確認して、次のディレクトリに表示します。
3. 環境変数を構成します。
初め:
vi /etc/profile
次に、i を押して入力モードを切り替え、テキストの最後に複数行の環境変数を追加します。
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cudnn/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cublas/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cuda_runtime/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cuda_nvrtc/lib:$LD_LIBRARY_PATH
ディレクトリの場所は自分の好みに合わせて変更してください。これは私の側ではデフォルトです。変更後は次のようになります。
esc を押して入力モードを終了します。を押します: wq と入力して保存し、終了します。
その後、有効になります。
source /etc/profile
次のコマンドを入力して、環境変数が有効になっていることを確認します。
echo $LD_LIBRARY_PATH
正しい場合は、フレームワークを実行して cuda オペレーターを作成すると、エラー メッセージは表示されません。