AWS 上で大規模なディープラーニング処理を実行することは、学習と開発を行うための安価で効果的な方法です。わずかな費用で数十 GB のメモリ、数十個の CPU、複数の GPU を使用できる点もお勧めの理由です。 EC2 または Linux コマンドを初めて使用する場合は、クラウドでディープラーニング スクリプトを実行するときにこれらのコマンドが非常に効果的です。 この記事の主な内容は次のとおりです。
注: すべてのコマンドは Linux のような環境 (Linux、OS X、または Cygwin) で実行されます。 0. 環境協定 AWS EC2 が正常に動作していることを前提として、便宜上、環境を次のように設定します。
ディープラーニングを実行するための GPU ベースの EC2 インスタンスを構築する方法については、以下を参照してください。 https://machinelearningmastery.com/develop-evaluate-large-deep-learning-models-keras-amazon-web-services/ 1. サーバーにログインする 操作を行う前に、まず対象サーバーにログインする必要があります。単純に、SSH コマンドを使用します。 aws-keypair.pem などの意味のあるファイル名を使用して、SSH キーを ~/.ssh/ に保存します。次のコマンドを使用して EC2 ホストにログインし、アドレスとユーザー名に注意してください。
2. ファイルをサーバーにコピーする SCP コマンドを使用して、ローカル ファイルをサーバーにコピーします。たとえば、script.py ファイルを EC2 サーバーにコピーするコマンドは次のとおりです。
3. スクリプトをサーバーのバックグラウンドで実行する サービスのバックグラウンドでスクリプトを実行し、進行中の他のシグナルを無視し、標準入力と出力を無視し、すべての出力とエラー情報をログ ファイルにリダイレクトします。これは、長時間実行する必要があるディープラーニング モデルにとって不可欠です。
このコマンドでは、script.py と script.py.log は両方とも /home/ec2-user/ ディレクトリにあります。 nohup とリダイレクトの詳細については、他の詳細な説明 (Wikipedia など) を参照してください。 4. サーバーの指定されたGPUでスクリプトを実行する EC2 がサポートしている場合は、複数のスクリプトを同時に実行することをお勧めします。たとえば、EC2 に 4 つの GPU がある場合、各 GPU で個別にスクリプトを実行できます。サンプル コードは次のとおりです。
GPU が 4 つある場合は、CUDA_VISIBLE_DEVICES を 0 から 3 まで指定できます。これは、TF をバックエンドとして Keras で実行できますが、Theano ではテストされていません。 CUDA_VISIBLE_DEVICES の詳細については、https://devblogs.nvidia.com/parallelforall/cuda-pro-tip-control-gpu-visibility-cuda_visible_devices/ を参照してください。 5. スクリプト出力の監視 出力にプロジェクトのスコアやアルゴリズムの結果が含まれる場合は、スクリプトの出力をリアルタイムで監視するのが合理的です。次に例を示します。
残念ながら、AWS はしばらく画面に出力がない場合にターミナルを閉じるので、以下を使用する方が適切です。
Python の標準出力が表示されないことがあります。Python の問題なのか、EC2 の問題なのかはわかりません。 6. システムとプロセスのパフォーマンスを監視する EC2 システムのパフォーマンス、特にメモリの使用量や残量を監視することは理にかなっています。例えば:
または、プロセス ID PID を指定します。
7. GPUパフォーマンスを監視する GPU 上で複数のスクリプトを同時に並行して実行している場合は、各 GPU のパフォーマンスと使用率を確認することをお勧めします。例えば:
8. スクリプトがサーバー上でまだ実行されているかどうかを確認する 通常、ターミナルは常に開いたままにしておきます。
9. サーバー上のファイルを編集する 通常、vi に精通していない限り、サーバー上で直接変更することは推奨されません。
vi の使い方についてはここでは説明しません。 10. サーバーからファイルをダウンロードする ファイルをアップロードするのではなく、png ファイルをダウンロードする例を次に示します。
注意すべき点
|
<<: ディープラーニングのこれらの落とし穴に遭遇したことがありますか?ニューラルネットワークのよくある落とし穴11選とその対処法
>>: 注目を浴びるAIとゲームは、どんな火花を散らすことができるのでしょうか?
10年以上前、テヘラン大学の研究者らは、Surenaと呼ばれる原始的なヒューマノイドロボットを発表し...
スマート セキュリティ業界は急速に進化しており、AI と 4K がスマート カメラで普及するにつれて...
C# 選択ソート アルゴリズムとは何ですか?これはどのように達成されるのでしょうか?この紹介が C#...
過去数か月間にネットユーザーを最も怖がらせたものは何かと問われれば、それは以下のウイルス攻撃だろう。...
[[411439]] DeepMind が提案した Rainbow アルゴリズムは、Atari ゲー...
この記事では、CSranking の計算に基づいて、コンピューターサイエンスの分野システムと学部の観...
この記事では、機械学習における回帰と分類のさまざまな指標について説明します。私たちは常に、優れた機械...
[[206343]]アメリカの企業では、多数のロボットを使って働くことが当たり前になっている。ここ...
ユビキタス データ インテリジェンス テクノロジーを提供する世界唯一のプロバイダーである Terad...
[[318810]]ビッグデータダイジェスト制作出典: rutgers.edu編纂者:張大毓如、夏亜...
ChatGPT の 1 周年に、OpenAI は公式発表を行いました: Sam Altman が O...
想像してみてください。あなたはずっと夢見てきた機械学習の職種の面接を受けに行こうとしています。すべて...