重要な点を 3 回言います。必ず最初にサーバーでインターネットに接続することを忘れないでください。そうしないと、奇妙なエラーが発生します。ウーウーウー
github からコードをダウンロードします。私の環境は python3.7 、torch-gpu は 1.7.1 (これら 2 つは別々にインストールされます。python 環境は anconda を使用して作成されます。torch のインストールは前の記事で説明されています)。GitHub によるとrequirements.txt ファイルは、プログラムの実行に必要なパッケージをインストールするコマンドを使用します。
注文:
pip install -rrequirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
-i の背後にある目的は、インストール パッケージをより速くダウンロードし、清華ミラーを使用することです。
pip install -rrequirements.txt を直接実行することもできます。
電車:
トレーニングの前に、トレーニング データのパスを表す構成ファイル config.yaml 内の files_a の内容を変更する必要があります。
次に、python train.py を実行します (初めてインターネットに接続することを忘れないでください)。これにより、inceptionresnetv2.pth ファイルが自動的にダウンロードされます。インターネットに接続していない場合は、******'\ xef' エラーが表示されます (図を参照)。一日戸惑いましたが、先輩が助けてくれたので解決できました 原因としては、初回実行時のファイルダウンロードでエラーが発生した(ネットワークに接続していないため)ことが考えられます。したがって、オンラインで実行されている必要があります。
学んだヒント:
- conda env list 作成したPython環境を表示する
- conda activate 環境名: activate Python 環境
- サーバー上で実行する場合、サーバーに 2 つの GPU がある場合、1 人がサーバー上でコードを実行していて何もしなければ、ネットワークを実行できません。図のような状況が現れます
解決策: コマンド CUDA_VISIBLE_DEVICES=1 python train.py を使用して、上記に基づいてネットワークを実行します。
CUDA_VISIBLE_DEVICES=1 python train.py
- バックグラウンドでのトレーニング:
- コマンドnohup python train.py & を使用して、後続の操作に影響を与えずにトレーニングをバックグラウンドで配置します。(トレーニングに時間がかかるため)
- cat nohup.outコマンドを使用して、nohup.out ファイルの内容を表示します。この内容は、保存されたトレーニング データです。
サーバー上で実行中のプログラムを一時停止します。
nvidia-smi コマンドを使用して情報を表示します
PID に基づいてシャットダウンするプロセスを強制終了するには、コマンドkill process idを使用します。
今日はたくさんのことが得られたので、忘れないように記録しておきます。