サーバー上のトレーニング用の GPU を指定します

モーション

 会社のサーバー上の GPU が併用されています。私は GPU 番号 6 と 7 の 2 つの GPU を申請しました。通常、コードで使用されるデフォルトの GPU は 0 です。GPU 0 が他のものによって占有されている場合は、GPU を指定する必要があります。トレーニングです。

方法

トレーニング用に指定された GPU を実装する 2 つのメソッドをコンパイルしました。

 1. ターミナルにコマンドを入力します。

export CUDA_VISIBLE_DEVICES = 7

その後、トレーニングのために py ファイルを実行できます。

 2. Python コードを変更します。

Python コードの先頭に次のコードを追加します。

os.environ["CUDA_VISIBLE_DEVICES"] = "7"

上記の 2 つの方法で、学習に 7 番目の GPU を使用するという目的は達成できます。残念ながら、私のコードでは 1 つの GPU しか使用できません。将来的には、複数の GPU を使用してモデルを同時にトレーニングする方法を学習する予定です。

さらに、ビデオ メモリの使用は、必ずしも揮発性 GPU 使用率ではなく、メモリ使用率列に焦点を当てています。以下はビデオメモリがいっぱいですが、使用されていません。利用率は0%です。
ここに画像の説明を挿入
ここにゾンビ プロセスがあるはずです。

查看pid号
sudo fuser -v /dev/nvidia*
然后kill PId 的进程号
sudo kill -9 pid号码

root ユーザーではない場合は、次のコマンドを入力して、GPU が使用しているユーザーを確認します。

ps -f -p pid_number
ps u pid_number

Torch1.8 と RTX3080 間の非互換性:

CUDA 機能 sm_86 を備えた NVIDIA GeForce RTX 3080 Ti は、現在の PyTorch インストールと互換性がありません。現在の PyTorch
インストールは、CUDA 機能 sm_37 sm_50 sm_60 sm_70 をサポートしています。

解決策:
環境をインストールするときは、最初に torch をインストールせず、次のコマンドを使用して torch をインストールします。

> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

GPUの使用状況をリアルタイムで表示

 watch -n 1 -d nvidia-smi

nohup.out のコンテンツをリアルタイムで表示する

tail -f nohup.out

Pycharm の新しいサーバーにコードをデプロイします。

対応するサーバーの環境を更新するには、忘れずに右クリックして「デフォルトとして設定」を設定してください。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_41623632/article/details/125656662