Tencent クラウド サーバーの導入に関する nxruntime-GPU エクスペリエンスの概要

序文

プロジェクトによっては、推論のために 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 オペレーターを作成すると、エラー メッセージは表示されません。

おすすめ

転載: blog.csdn.net/weixin_43945848/article/details/129194357