(Jingxing Ruichuang) 高性能コンピューティング プラットフォーム Pytorch 深層学習環境の超詳細なチュートリアル

序文

現在、一部の学校では、教師や生徒が大規模なコンピューティングタスクを実行しやすくするためにサーバークラスターを構築していますが、一般的に学校ではトレーニングや操作マニュアルが提供されていますが、詳細な操作手順や特定のタスクについての具体的な説明が不足していることがよくあります。誰もが (Jingxing Ruichuang) 高性能コンピューティング プラットフォームを使用して研究、特に Pytorch に基づくディープ ラーニング タスクを実行できるようにするために、私自身の多くの失敗と経験に基づいて、この完全な高性能コンピューティング プラットフォーム Pytorch をまとめました。深層学習環境に関する非常に詳細なチュートリアルです。このチュートリアルが皆様の参考になれば幸いです。コードを書くのは簡単ではありません。Sanlian がサポートしてくれることを願っています。

1. アカウント申請

デフォルトでは、Gaoshu プラットフォーム アカウントを申請しています。学校ごとに異なる方法でアカウントを申請する場合があります。詳細については、関連部門にお問い合わせください。

2. Gaoshu プラットフォーム Web サイトにログインします。

2.1 学校のハイ コンピューティング プラットフォームのログイン Web サイトにログインします。 : 学校の外にいる場合は、ハイ コンピューティング プラットフォームを使用する前に VPN にログインする必要があります。
ここに画像の説明を挿入します
2.2 ただし、ここでソフトウェアと環境をインストールするのは簡単ではないため、Xshell と Xftp という 2 つのツールをローカル コンピュータにダウンロードしました。前者は主にリモートの対話型操作 (黒いウィンドウ) に使用されます。 、後者 主にファイルの転送に使用されます。

3. Xshell、Xftp ソフトウェアをインストールします。

3.1 网址:https://www.xshell.com/zh/all-downloads/

ここに画像の説明を挿入します
3.2 [Xshell] をクリックし、無料認証ページを選択します。
ここに画像の説明を挿入します
3.3 名前とキャンパスのメールアドレスを入力し、両方を選択して、[ダウンロード] をクリックすると、キャンパスのメールアドレスに送信されます。ダウンロード リンク。リンク アドレスを開いてダウンロードするだけです。
ここに画像の説明を挿入します
3.4 上記の操作が面倒な場合は、次のリンクを使用して直接ダウンロードすることもできます:
Xshell: https ://www. xshell.com/zh/downloading/?token=dTQyZl96em9ENHl0bTIzaVdDSkhXd0Biell6LVNGaUE5WHJtaWhrRVhTNENR
F3d0Biell6LVNGaUE5WHJtaWhrRVhTNENR
3.5 インストール プロセスは非常に簡単です。変更に注意してください。 インストール パス

4. ハイコンピューティングプラットフォームに接続する

4.1 Xshell を開きます。
ここに画像の説明を挿入します
4.2 ssh 10.33.0.102 を入力し、ポップアップ ウィンドウに 学生番号 を入力して支払います。ここに注意 リモート接続経路は学校によって異なる場合がありますので、マニュアルをご自身で参照していただく必要があります。

4.3 [OK] をクリックし、ポップアップ ウィンドウでパスワードを選択し、ログイン パスワードを入力します。
ここに画像の説明を挿入します
4.4 [OK] をクリックすると、接続が確立されたことが出力接続に表示され、接続が成功したことが示されます。
ここに画像の説明を挿入します
4.5 メニュー バーの [Xftp] ボタンをクリックして、Xftp を直接開き、個人ログイン ノードに接続します。
ここに画像の説明を挿入します
4.6 図に示すように、左側がローカル フォルダ、右側が個人ログイン ノード フォルダです。Xftp では、ファイルをドラッグまたはダブルクリックすることでログイン ノードに直接コピーできます。 。
ここに画像の説明を挿入します
4.7 新しく登録されたハイ コンピューティング プラットフォームには、ログイン ノード上に jhupload フォルダが 1 つだけあります。その後の作業を容易にするために、ソフトウェアのインストールに使用される新しいフォルダ、ソフトウェア、プロジェクト、およびデータセットを作成できます。 、プロジェクトをそれぞれ保存し、それらを一時的に保存します。データセット、アップロードされたすべての圧縮パッケージ、およびその他のファイルは、jhupload フォルダーに配置されます。

5.Anacondaをインストールする

5.1 ハイコンピューティングプラットフォームのログインノードは学外のネットワークにアクセスできないため、すべてのソフトウェアとパッケージはオフラインでのみインストールできるため、事前にローカルにダウンロードする必要があります。

5.2 Anaconda の国内ミラー ソースからダウンロードします。ソフトウェア バージョン Anaconda3 とオペレーティング システム Linux_x86_64、清華社のソースに注意してください: https://mirrors.tuna.tsinghua.edu.cn /anaconda /archive/
ここに画像の説明を挿入します
5.3 Xftp を使用して、ダウンロードしたオフライン インストール パッケージをログイン ノードの jhupload フォルダにコピーします。

5.4 ログイン ノードに接続された Xshell で、現在のパスが ~ (ホーム ディレクトリ) であることがわかります。cd jhupload と入力してオフライン インストール パッケージのパスを入力します(これは Windows と一致しており、cd はディレクトリに入る、cd... は前のディレクトリに戻ります)。
ここに画像の説明を挿入します
5.5 sh Anaconda3-2021.05-Linux-x86_64.sh と入力して、インストール スクリプトを実行します。以下は、ダウンロードしたオフライン インストール パッケージの完全な名前です。実際のダウンロード状況によって異なる場合があります。個人; Enter キーをクリックして続行します。インストールします。
ここに画像の説明を挿入します
5.6 以下に閲覧規約が表示されますので、Enter キーを最後まで長押ししてください。
ここに画像の説明を挿入します
5.7 「yes」と入力して契約に同意します。
ここに画像の説明を挿入します
5.8 以前に作成したフォルダー ソフトウェアの下の Anaconda インストール パスを変更します。ここでフル パスを入力する必要があることに注意してください。フル パスがわからない場合は、Xftp ファイルにコピーできます。パスバー。
ここに画像の説明を挿入します
5.9 コピーしたパスの後に /anaconda3 を追加します。新しいディレクトリを手動で作成する必要はありません。自動的に作成されます。ディレクトリがすでに存在する場合、インストールは失敗します。Enter キーを押した後、長い待ち時間が発生します。
ここに画像の説明を挿入します
5.10 インストール後、ターミナルの起動時に conda 環境にいるかどうかを尋ねられます (Windows でのインストール後の Anaconda プロンプトに似ています)。「yes」と入力します。
ここに画像の説明を挿入します
5.11 インストールが完了しました。ここでは Pycharm のインストールを求められますが、グラフィカル インターフェイスがないため、インストールする必要はありません。
ここに画像の説明を挿入します
5.12 次に、環境変数を設定し、 vim ~/.bashrc と入力して設定ファイルを開きます。編集を開始するには、キーボードの挿入キーをクリックする必要があります。環境変数を追加し、「 a>export PATH="/data/users/CHDHPC/2022024024/software/anaconda3/bin:$PATH" と入力して conda コマンドが使用できるかどうかを判断します。通常は conda のバージョンが出力されます。 5.14 と入力して、設定ファイルを更新します。この時点で、Anaconda の基本環境に入ります。Anaconda のバージョンによっては、root として表示されるものもあります。 と入力して構成ファイルを終了し、Xshell で
ここに画像の説明を挿入します
5.13 Esc (キーボードのリターン キー) をクリックし、 :xsource ~/.bashrc」と入力します。パスは完全なパスであることに注意してください。
ここに画像の説明を挿入します
conda -V
ここに画像の説明を挿入します

6.CUDAのインストール

6.1 ここでインストールしたのは cuda 11.1 です。ハイ コンピューティング プラットフォームは cuda 9、10、および 11 バージョンをサポートしていますが、実際のテストでは、それより低いバージョンでは不明な理由でエラーが報告されることが判明しました。cuda オフライン インストール パッケージをダウンロードする場合、対応するシステム カーネルに注意してください。Xshell で cat /proc/version と入力すると、出力には Linux x86_64 が表示されます。cat /etc/redhat-release すると、出力には CentOS 7 のバージョンが表示されます。
ここに画像の説明を挿入します
6.2 cuda のオフライン インストール パッケージを次の場所からダウンロードします: https://developer.nvidia.com/cuda-toolkit-archiveCUDA Tookit 11.1.0 を選択します。
ここに画像の説明を挿入します
6.3 新しいインターフェースで Linux_x86_64_CentOS_7_runfile (local) を選択します。
ここに画像の説明を挿入します
6.4 この時点で、CUDA のインストールに必要なコマンドが bash インストーラー ボックスのドロップダウン インターフェイスに表示されますが、ログイン ノードは学外のネットワークにアクセスできないため、次のコマンドをコピーします。ブラウザの検索バーへのリンクを選択して Enter を押すと、しばらくするとダウンロードが開始されます。
ここに画像の説明を挿入します
6.5 同様に、Xftp を使用して、ダウンロードした cuda オフライン インストール パッケージを jhupload フォルダにコピーします。Xshell で jhupload ディレクトリに入り、sh cuda_11.1.0_455.23.05_linux.run と入力します。 a> a> と入力して cuda のバージョンを確認します。通常、現在の cuda のバージョンが出力されます。 6.16 nvcc を使用して cuda がインストールされているかどうかを確認します。 設定ファイルを更新します。 と入力して編集を終了し、次を入力します。 ; キーボードの Esc キーをクリックし、 および と入力して設定ファイルを開きます。キーボードの挿入キーをクリックして、前に追加した Anaconda 環境変数。6.15 次に、環境変数を設定する必要があります。Xshell に 6.14 インストール完了後の出力は図のようになり、CUDA Toolkit が正常にインストールされたことがわかります。 6.13 Enter キーを押して [完了] を選択し、[インストール] を選択してインストールを開始します。 ; これでは実際には何もインストールされませんが、念のためディレクトリを変更してください。 6.12 ライブラリのインストール パスを再度変更し、前の cuda11.1 フォルダの下に新しいフォルダ myLib を作成し、インストール パスをサンプルが配置されているフル パスに変更します。注< /span>6.11 サンプルのインストール パスを再度変更し、前の cuda11.1 フォルダーの下に新しいフォルダー サンプルを作成し、インストール パスをサンプルが配置されているフル パスに変更します。6.10 Enter キーを押してチェックした項目をすべてキャンセルし、完了を選択して Enter キーを押します。 に変更します。これは、フォルダ cuda11.1 が配置されているフル パスです。 6.9 カーソルを「オプション」に移動し、Enter キーを押して CUDA Toolkit を選択します。最初の項目「Chang Toolkit Install Path」を選択します。ここでは、あらかじめホーム ディレクトリのソフトウェア フォルダに新しいフォルダを作成し、 cuda11.1 という名前を付け、インストール パスを : 上下キーを使用してカーソルを移動し、Enter キーを押してオンまたはオフにします。 6.8 ドライバーのチェックを外します。これは、NVIDIA ドライバーがサーバー上にすでに存在しており、インストールする必要がないためです。また、CUDA Demo Suite と CUDA Documentation のチェックを外します。 続行してインストールを開始し、「accept」と入力します。 6.7 削除後、
ここに画像の説明を挿入します
6.6 この時点で、ログ ファイルが開かれていないというエラーが報告されることがあります。これは、他の誰かがこのサーバーに cuda をインストールしており、cuda-installer.log ファイルを削除する必要があるためです。はログイン ノードに存在しません。アクセス許可を削除するには、Gaosuan Exchange グループの管理者に削除を手伝ってもらうように依頼してください。 : 以下の cuda オフライン インストール パッケージの完全名は、次に従って変更されます。個人の実際のダウンロード状況。
ここに画像の説明を挿入します
sh cuda_11.1.0_455.23.05_linux.run
ここに画像の説明を挿入します

ここに画像の説明を挿入します
/data/users/CHDHPC/2022024024/software/cuda11.1
ここに画像の説明を挿入します

ここに画像の説明を挿入します
/data/users/CHDHPC/2022024024/software/cuda11.1/samples
ここに画像の説明を挿入します
/data/users/CHDHPC/2022024024/software/cuda11.1/myLib
ここに画像の説明を挿入します

ここに画像の説明を挿入します

ここに画像の説明を挿入します
vim ~/.bashrcexport PATH="/data/users/CHDHPC/2022024024/software/cuda11.1/bin:$PATH"export LD_LIBRARY_PATH="/data/users/CHDHPC/2022024024/software/cuda11.1/lib64:$LD_LIBRARY_PATH":xsource ~/.bashrc
ここに画像の説明を挿入します
nvcc -V
ここに画像の説明を挿入します

7. cuDNN の構成

7.1 cudnn オフライン パッケージを次の場所からダウンロードします:https://developer.nvidia.com/rdp/cudnn-archive。新規インストールには必須です。ユーザー登録: 登録後、ログインして Web サイトを開いて、対応するバージョンの cudnn を選択します。
ここに画像の説明を挿入します
7.2 ダウンロードが完了したら、Xftp を使用してダウンロードした cudnn オフライン パッケージを jhupload フォルダにコピーし、Xshell の下の jhupload ディレクトリに入り、tar -xzvf cudnn-11.1-linux-x64-v8.0.5.39.tgz と入力してファイルを解凍します。 cudnn 圧縮パッケージ。

7.3 次の 2 つのコマンドを使用して、cudnn 内のファイルを cuda インストール パスにコピーします。: 特定のパスは次のように変更する必要があります。実際の状況に合わせて。

cp /data/users/CHDHPC/2022024024/jhupload/cuda/include/* /data/users/CHDHPC/2022024024/software/cuda11.1/include/
cp /data/users/CHDHPC/2022024024/jhupload/cuda/lib64/* /data/users/CHDHPC/2022024024/software/cuda11.1/lib64/

7.4 cudnn バージョンを確認するには、cat /data/users/CHDHPC/2022024024/software/cuda11.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 と入力すると、現在の cudnn バージョンが正常に出力されます。図に示すように、現在の cudnn バージョンは 8.0.5 です。
ここに画像の説明を挿入します

8. トーチとトーチビジョンを取り付ける

8.1 ここでは、ベース直下に pytorch をインストールします。まず Python のバージョンを確認し、python -V と入力します。インストールした Anaconda のベース環境の Python バージョンが 3.8 であることがわかります。 . 8; 拠点直下に設置する理由は、拠点自体に基本パッケージが多数存在しており、追加でインストールする必要がないためであり、そうでないと一つ一つインストールする必要があり非常に面倒だからです。面倒な。
ここに画像の説明を挿入します
8.2 Pytorch 1.9.0 をインストールします。公式 Web サイト: https://download.pytorch.org/whl/torch_stable.html、清華語ソース: https:/ / pypi.tuna.tsinghua.edu.cn/simple/torch/; cuda11.1、python3.8.8、Linux_x86_64 に対応するオフライン パッケージ .whl をダウンロードします。注: 清華園のインストールではエラーが発生しました (必ずしもエラーが報告されるわけではありません)。
ここに画像の説明を挿入します
8.3 Pytorch 1.9.0 の対応する torchvision バージョンは 0.10.0 です。公式 Web サイトからダウンロードした場合は、下にスクロールし続けて、cuda11.1、python3 に対応するオフライン パッケージ .whl を見つけます。 8.8 および Linux_x86_64; 清華社のソースからダウンロードする場合は、新しい Web ページに入る必要があります: https://pypi.tuna.tsinghua.edu.cn/simple/torchvision/
ここに画像の説明を挿入します
8.4 ダウンロードした torch と torchvision の 2 つの .whl ファイルを、Xftp を使用して jhupload フォルダにコピーします。Xshell で jhupload ディレクトリに入り、基本環境で使用します。 pip install torch-1.9.0+cu111-cp38-cp38-linux_x86_64.whlpip install torchvision-0.10.0+cu111-cp38-cp38-linux_x86_64.whl は別々にインストールされます。注: : torch を最初にインストールし、次に torchvision をインストールします。
ここに画像の説明を挿入します
8.5 インストール後、 pyhon と入力して対話型環境に入り、 import torch と入力してトーチが正常にインポートできるかどうかを確認します。 can enter a>print(torch.cuda.is_available()); 必要なパッケージを見つけるには、通常、URL の後にパッケージ名を追加して検索できます。 https:// pypi.tuna.tsinghua.edu.cn/simple/8.6 この時点で、pytorch 環境全体が構成されました。いくつかの特別なパッケージはまだ個別にダウンロードしてインストールする必要があります、清華ソース: cuda が使用できるか確認します。通常は False が出力されます。これは、ログイン ノードに NVIDIA グラフィックス カードが割り当てられておらず、割り当てられるためです。ジョブが送信された後にのみ、送信された設定に従います。
ここに画像の説明を挿入します

9. 宿題テストを提出する

9.1 test.py ファイルを準備します。この機能は、CUDA が利用可能かどうか、使用できる GPU の数、現在の CUDA バージョン、現在のノードの GPU 占有率を確認することです。< a i=1>注< /span> このテスト コードは、後でジョブを送信するときに頻繁に使用されます。

#!/data/users/CHDHPC/2022024024/software/anaconda3/bin/python3
import torch
print(torch.cuda.is_available()) # 检查 cuda 是否可用
print(torch.cuda.device_count()) # 检查可用的 gpu 数量
print(torch.version.cuda) # 查看 cuda 版本

# 下边的代码就是返回服务器上 GPU 的占用情况,这样方便我们选择 GPU 或者节点
import subprocess
ret = subprocess.run('nvidia-smi', shell=True, capture_output=True, timeout=100)
print(ret.stdout.decode('utf8'))

9.2 Windows で test.py を編集する場合は、エンコード形式を Unix に変換する必要があります。これは、Windows と Linux オペレーティング システムではキャリッジ リターンとライン フィードに違いがあるためです。NotePad++ では、右下隅にある、他のソフトウェア方法は不明です。
ここに画像の説明を挿入します
9.3 Python ファイルをホーム ディレクトリのプロジェクト フォルダに置き、右クリックして [権限の変更] を選択し、test.py にすべての権限を与えます。権限が付与されていない場合は、エラーが報告されます。< /span>/apps/jhinno/unischeduler/jobstarter/qgpu_starter: line 8: ./test.py: Permission denied を使用してジョブを送信します。特定のパラメータは次のように定義されます。 9.4 Xshell でプロジェクト ディレクトリを入力し、
ここに画像の説明を挿入します
jsub -q qgpu -m gpu05x8 -e ./error.txt -o ./output.txt -J ceshi ./test.py

jsub ジョブ送信コマンド

-q はキューを指定します。pytorch コードは通常、qgpu キューを指定します

-m はコードを実行するノードを指定します

-e はエラー ログの出力ファイルを指定し、操作中に発生したエラーはファイルに書き込まれます。

-o は出力ログの出力ファイルを指定し、コードのプロセス出力がファイルに書き込まれます。

-J は、現在送信されているジョブの名前を指定します。通常、一度に 1 つのジョブだけを送信する場合は、これについて心配する必要はありません。たとえば、上記のコマンドはジョブに ceshi という名前を付けます。

./test.py は以前のテスト コードの Python ファイルです

9.5 上記のパラメータのうち、-q-m はマニュアルを参照してキューとノードを決定する必要があります。学校が異なれば識別子も異なる場合があります。
9.6 サブミット後、ジョブがサブミットされたことが Xshell に出力されます。
ここに画像の説明を挿入します
9.7 現時点では、Gaoshu プラットフォームの Web バージョンにログインし、[マイ ジョブ] にアクセスして送信されたジョブを確認できます。ステータスが DONE であれば、プログラムは正常に終了し、ジョブは名前はセシです。
ここに画像の説明を挿入します
9.8 Xshell に jjobs または jjobs 作业号 と直接入力して、Web バージョンの Gaoshu にログインせずにジョブのステータスを確認することもできます。プラットフォーム; 前者は現在実行中またはキューに入れられているすべてのジョブを表示し、後者は指定したジョブ番号のジョブ ステータスを表示します。
ここに画像の説明を挿入します
9.9 この時点で、error.txt ファイルと Output.txt ファイルは test.py と同じディレクトリに表示されます。error.txt を開いて空であることを確認すると、エラー出力はありません。 Output.txt を開いて最後まで下にスクロールすると、出力が True、7 および 11.1 であることがわかります。これは、pytorch が CUDA を検出できることを示しています。検出できる現在の GPU の数は 7 で、現在の CUDA のバージョンは次のとおりです。 11.1. ドロップダウンには GPU 占有率の出力も表示され、その後の作業が容易になります。アイドル時間を増やして GPU に送信します。
ここに画像の説明を挿入します
9.10 後続のジョブを正式に送信する場合、コマンド ラインでパラメータを指定して送信する以前の方法を使用することはお勧めしません。テスト例でジョブを送信する方法に加えて、スクリプトを使用してジョブを送信することもできます。つまり、次の内容で新しい test.sh ファイルを作成します。パラメータの説明については、セクション 9.4 を参照してください。最後から 2 番目の行はPython インタープリタへのフル パス; 最後の行は必須です 実行中の Python ファイルのパス これには相対パスを使用できますが、Xshell が現在のスクリプトが配置されているフォルダーに入ることが前提です; 設定が完了した後、パスを入力し、jsub < ./test.sh を使用してジョブを送信します。

#!/bin/sh
#JSUB -q qgpu
#JSUB -m gpu04ai
#JSUB -e error.txt
#JSUB -o output.txt
#JSUB -J ceshi
/data/users/CHDHPC/2022024024/software/anaconda3/bin/python3 
./test.py

10. ファイルの解凍と圧縮

10.1 解凍または圧縮する必要があるファイルのサイズが 4G 未満の場合は、プラットフォーム独自の unzip または zip コマンドを使用してそれを実現します。これは、Xshell で直接解凍できるという意味ではありません。実装するには、ジョブの形式でハイ コンピューティング プラットフォームに送信する必要があります。
10.2 ファイル unzip.sh を解凍するスクリプトは次のとおりです。パスを変更する必要があることに注意してください。スクリプト ファイルを .zip ファイルは同じディレクトリにあります。

#!/bin/bash
#JSUB -q normal
#JSUB -e error.txt
#JSUB -o output.txt
#JSUB -J unzip
unzip 'train.zip'

10.3 ファイルを圧縮するスクリプトzip.shを以下に示します。パスを変更する必要があることに注意してください。スクリプト ファイルは、.result

#!/bin/bash
#JSUB -q normal
#JSUB -e error.txt
#JSUB -o output.txt
#JSUB -J zip
zip -r result.zip ./result

10.4 4G を超えるファイルの場合、この単純なツールは使用できないため、他のツールをインストールする必要があります。 Linux には多くの解凍ツールがあります。ここでは、.zip 形式の圧縮パッケージを解凍するために使用できる 7zip のインストールを例に挙げます。次の URL で 7zip インストール パッケージをダウンロードします: https://sourceforge.net/projects/ p7zip/; [ダウンロード] をクリックして最新バージョンをダウンロードします。
ここに画像の説明を挿入します

10.5 Xftp を使用して、ダウンロードした 7zip インストール パッケージを jhupload フォルダにコピーします。Xshell で jhupload ディレクトリに入り、 tar -jxvf p7zip_16.02_src_all.tar.bz2 と入力してインストール パッケージを解凍します。: 7zip インストール パッケージの完全名は、ダウンロードしたものと一致する必要があります。

10.6 解凍が完了したら、 cd p7zip_16.02 解凍したフォルダー ディレクトリに入り、 make all3 と入力します。

10.7 の make が完了したら、メモ帳を使用して Xftp の p7zip_16.02 パスにある makefile.common ファイルを開き、DEST_HOME のパスを 7zip をインストールする予定のパスに変更します< a i=1>;< /span> パスを独自のパスに変更してください。 /data/users/CHDHPC/2022024024/software/7zip

10.8 修改完成后,make install

10.9 エラー: サーバーの時計が間違っています。Xftp では、ファイルの変更時刻に基づいてサーバーの時計が間違っていると判断することもできます。
ここに画像の説明を挿入します
10.10 順次実行:

find . -type f | xargs -n 5 touch
make clean	
make
make install

10.11 環境変数を変更する; >注 パスを独自のパスに変更します。完了したら、キーボードの Esc をクリックし、 と入力して終了します。編集。 vim ~/.bashrc :x

export PATH="/data/users/CHDHPC/2022024024/software/7zip/bin:$PATH"

10.12 source ~/.bashrc と入力して、構成ファイルを更新します。

10.13 7za と入力すると、7zip のバージョンなどが正常に出力されます。
ここに画像の説明を挿入します
10.14 解凍の例。圧縮パッケージが配置されているディレクトリを Xshell に入力します。-o の後のパラメータは、途中にスペースを入れずに解凍先のパスを指定します。

7za x 01.zip -o目标路径

10.15 圧縮の例; Xshell に圧縮するフォルダーが存在するディレクトリを入力します。

7za a 01.7z 文件夹名

10.16 実際のテストでは、7zip をローカルで使用して比較的大きなファイルを解凍または圧縮すると非常に時間がかかることが判明しました。おそらく、これも実行用のジョブの形式でプラットフォームに送信する必要がありますが、具体的な方法はまだ試していません。 。

11. その他

11.1 共通ジョブのさまざまなステータスとその意味

意味
走る ジョブが送信され、プログラムが実行されています
出口 ジョブが異常終了します。通常、コードに問題があるためです。error.txt をチェックしてエラー レポートを表示できます。
終わり ジョブが完了し、プログラムが正常に終了する
保留中 ジョブはキューに入れられていますが、プログラムはまだ実行を開始していません

11.2 ジョブを送信するときに、必要な GPU の数を指定する必要はありません。コード内で必要な GPU の数を設定するだけで済みます。デフォルトの GPU 番号は設定しないでください。0; GPU の数を指定します。その数は送信されたジョブ ファイルに設定する必要があり、その方法は次のように非常に簡単です。設定する前にコードをマルチカード トレーニングに変更する必要があることに注意してください。そうしないと、コードはデフォルトで指定された GPU シーケンスの最初のカードを実行することになります。

import os
os.environ["CUDA_VISIBLE_DEVICES"] = '0, 3, 4'

11.3 提出されたメイン Python コードの最初の行にはインタープリタ定義が必要ですが、メイン コードによって呼び出される他のパッケージを追加する必要はありません。

#!/data/users/CHDHPC/2022024024/software/anaconda3/bin/python3

11.4 完全なプロジェクトを実行する必要がある場合、対話型環境での Python の実行はソースの設定とは異なるため、参照コードを直接呼び出す前に、メイン コードと同じディレクトリに配置する必要があります。 Pycharm のルート フォルダーです。 ; ただし、次の方法でも呼び出すことができます。 . より前は、プロジェクト直下の train.py と同じ階層にある models フォルダーです。
ここに画像の説明を挿入します
11.5 ジョブの送信後に終了する必要がある場合は、Web バージョンの Gaoshuan プラットフォームの [マイ ジョブ] でジョブを終了するか、jctrl kill 作业号 と入力できます。 Xshell で指定したジョブ番号を終了するには、この時点でジョブのステータスを確認すると、DONE が表示されます。
ここに画像の説明を挿入します
11.6 エラー: SyntaxError: 文字列リテラルのスキャン中に EOL が発生しました。これは、パスが引用符で囲まれていないためです。

11.7 ファイルまたはフォルダーを削除するときに、Xftp での削除が非常に遅い場合は、次のコマンドを使用して Xshell で削除することをお勧めします。

rm -f 文件名
rm -rf 文件夹

11.8 私が推奨する完全な Pytorch ジョブ送信プロセスは次のとおりです。

a. コード ファイル形式を Windows 形式から Unix 形式、つまりセクション 9.2 に変更します。
b. メイン コードの最初の行にインタープリタの定義を追加します。 、つまりセクション 11.3 ;
c. まず、test.py を実行するスクリプト ファイルを特定のノードに送信して、現在のノードの GPU 使用率を確認します (つまり、セクション 9.9; f. コード ファイルのメイン スクリプト ファイルを送信します (セクション 9.10)。 e. プロジェクト フォルダ全体に編集権限を与えます (セクション 11.2)。 9.3;
d. アイドル時間が長い GPU を選択してジョブを送信します (セクション 11.2)。

結論

私のチュートリアルがあなたの研究に役立つ場合は、「いいね」を押して収集してください。また、不備がございましたら遠慮なくご指摘いただければ適時修正させていただきます。

おすすめ

転載: blog.csdn.net/Wenyuanbo/article/details/134216006
おすすめ