作業の重複をなくしましょう! 30分で独自のディープラーニングマシンを作成する方法を教えます

作業の重複をなくしましょう! 30分で独自のディープラーニングマシンを作成する方法を教えます

[[327809]]

画像ソース: unsplash

繰り返し作業はいつも面倒です。

新しいプロジェクトを始めるたびに、新しいディープラーニングマシンを何度も作成する必要があります。まず Anaconda をインストールし、次に Python と Tensorflow の異なる環境を構成して、相互の干渉を防ぎます。必然的に、途中で完全に混乱してしまい、StackOverflow のすべてのスレッドをチェックしながら最初からやり直しても、何が間違っていたのかわかりませんでした。こういうことはしょっちゅう起こります。

何度も拷問を受けた後、もっと効率的な方法はないかと考えるようになりました。

努力は報われる。ついに、EC2 上にディープラーニング サーバーをセットアップする最も簡単な方法を見つけました。繰り返しの作業を 30 分だけ減らすだけで、より重要なことに取り組む時間を確保できます。

Amazon EC2 マシンのセットアップ

まず、AWS アカウントを取得し、AWS コンソールにログインできる必要があります。そうでない場合は、まず Amazon AWS アカウントを申請する必要があります。

まず、「サービス」タブに移動して EC2 ダッシュボードにアクセスします。

2 番目のステップは、EC2 ダッシュボードで独自のインスタンスの作成を開始することです。

3 番目のステップでは、Amazon はディープラーニング ソフトウェアがプリインストールされたコミュニティ AMI (Amazon マシンイメージ) を提供します。これらの AMI にアクセスするには、まずコミュニティ AMI にアクセスし、検索タブで「Ubuntu バージョンのディープラーニング」を検索します。

他の Linux オペレーティングシステムも利用可能ですが、ディープラーニングには Ubuntu バージョンが最適だと思います。この手順では、Deep Learning AMI (Ubuntu 18.04)、バージョン 27.0 を使用します。

次に、AMI を選択したら、次のステップはインスタンス タイプを選択することです。この時点で、システムに必要な CPU、メモリ、GPU の数を決定することが重要です。 Amazon は個人のニーズに基づいてさまざまなオプションを提供します。 「フィルター条件」フィルターを使用して GPU インスタンスをフィルターできます。

この記事では、NVIDIA K80 GPU に 2496 個の並列処理コアと 12 GiB の GPU メモリを提供する p2.xlaege インスタンスを使用します。

ステップ 5 では、ステップ 4 でマシンに取り付けられたメモリを変更するか、事前にメモリを追加しなかった場合は後で変更することができます。ほとんどのディープラーニングには適切なメモリ容量が必要なので、メモリ容量を 90GB から 500GB に拡張しました。

ステップ 6. 上記の手順を完了すると、インスタンス設定の最終ページに入り、インスタンスを起動できます。 「起動」をクリックすると、次のようなページが表示されます。 「キーペア名」にキー名を入力し、「キーペアのダウンロード」をクリックします。キーは指定した名前でコンピュータにダウンロードされます。設定の名前は「aws_key.pem」です。完了したら、「LaunchInstances」をクリックできます。

インスタンスにログインするたびにキーペアの入力を求められるので、キーペアのセキュリティを必ず確保してください。

次のページで「インスタンスの表示」をクリックすると、インスタンスが表示されます。作成されたインスタンスは次のとおりです。

インスタンスに接続する場合は、ローカル コンピューターでターミナル ウィンドウを開き、キー ペア ファイルを保存したフォルダーを参照して、いくつかの権限を変更します。

  1. chmod 400 aws_key.pem

その後、SSH 経由でインスタンスに接続できます。 SSH コマンドの形式は次のとおりです。

  1. ssh -i "aws_key.pem" ubuntu@<パブリックDNS(IPv4)>

指示は次のとおりです。

  1. ssh -i " aws_key.pem " [email protected]

また、インスタンスをシャットダウンすると、パブリック DNS が変更される可能性があることにも注意してください。

この時点でマシンの準備は完了です。このマシンには、必要になる可能性のあるさまざまなライブラリを含むさまざまな環境が含まれています。このマシンには、MXNet、Tensorflow、Pytorch、およびさまざまなバージョンの Python も搭載されています。これらはすべて事前にインストールされており、すぐに使用できます。

Jupyterノートブックを作成する

デバイスを最大限に活用したい場合は、いくつか必要なものがあります。その 1 つが Jupyter Notebook です。 TMUX とトンネリングを使用して、マシン上に Jupyter Notebook を作成することをお勧めします。

  1. TMUX を使用して Jupyter Notebook を実行する

まず、TMUX を使用してインスタンス上で Jupyter ノートブックを実行します。 TMUX が主に使用されるのは、ターミナル接続が失われても Jupyter Notebook を実行できるためです。したがって、次のコードを使用して新しい TMUX セッションを作成する必要があります。

  1. tmux新規-s ストリームセッション

完了すると、下部に緑色の枠線が付いた新しいインターフェースが表示されます。通常の Jupyter ノートブックの手順を使用して、独自の Jupyter ノートブックを作成できるようになりました。以下のように表示されます。

後で Jupyter Notebook にログインするときにトークンを取得できるように、ログイン URL をコピーしておくと便利です。トークンは次のようになります: http://localhost:8888/?token=
5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

次のステップは、SSH シェルを閉じてもバックグラウンドで実行され続けるように TMUX セッションをデタッチすることです。 Ctrl+B を押してから D を押すと (D を押すときに Ctrl を押さないでください)、最初のインターフェイスに戻り、「現在のセッションが切断されました」というメッセージが表示されます。

必要に応じて、次のコードを使用してセッションを再接続することもできます。

  1. tmux アタッチ -t ストリームセッション

2. ローカルブラウザでJupyterノートブックにアクセスするためのSSHトンネル

2 番目のステップは、Amazon インスタンスにログインし、ローカル ブラウザーで Jupyter Notebook を取得することです。ご覧のとおり、Jupyter Notebook は実際にはクラウド インスタンスのローカル ホスト上で実行されています。それで、どうやってアクセスするのでしょうか? SSH トンネル。空白部分を直接埋めていくようなものです。ローカル マシンのターミナル ウィンドウで次のコマンドを使用するだけです。

  1. ssh -i "aws_key.pem" -L<ローカルマシンポート>:localhost: 8888 ubuntu@<パブリックDNS(IPv4)>

この場合は、次のように使用します。

  1. ssh -i " aws_key.pem" -L8001 :ローカルホスト: [email protected]

つまり、ローカルマシンのブラウザで localhost:8001 を開くと、JupyterNotebook を使用できるようになります。前の手順で保存したトークンを入力して、ノートブックにアクセスします。トークンは
5ccd01f60971d9fc97fd79f64a5bb4ce79f4d96823ab7872

独自のトークンを使用してログインすると、ノートブックの完全な所有権が得られます。

これで、希望する環境を選択して、新しいプロジェクトの作業を開始できます。これは Tensorflow または Pytorch、あるいはその両方の最良の組み合わせである可能性があります。このノートブックはあなたを失望させません。

デバッグ

マシンを再起動すると、NVIDIA グラフィック カードで問題が発生する可能性があります。 nvidia-smi コマンドが動作しなくなる状況に遭遇しました。この問題が発生した場合は、NVIDIA Web サイトからグラフィック ドライバーをダウンロードすることで解決できます。

上記は私が選択した特定の AMI の設定です。 「検索」をクリックすると次のページが表示されます。

ダウンロード リンクをコピーするには、リンク アドレスを右クリックしてコピーするだけです。次に、マシン上で次のコマンドを実行します。ここでリンク アドレスとファイル名を変更する必要がある場合があります。

  1. # nvidia-smi が動作しない場合:wget https://www.nvidia.in/content/DriverDownload-March2009/confirmation.php?url=/tesla/410.129/NVIDIA-Linux-x86_64-410.129-diagnostic.run&lang=in&type=Teslasudo shNVIDIA-Linux-x86_64-410.129-diagnostic.run --no-drm --disable-nouveau --dkms--silent --install-libglvndmodinfo nvidia | head -7sudo modprobe nvidia

インスタンスを停止する

さて、これでディープラーニング マシンを作成して起動し、好きなように使用できるようになりました。

注意すべき点の 1 つは、作業を停止するときにインスタンスを停止することを忘れないようにすることです。そうすれば、インスタンスで作業していないときに Amazon に料金を支払う必要がなくなります。また、このマシンに再度ログインする際には、変更されている場合に備えて、インスタンス ページからパブリック DNS (IPv4) を取得する必要があります。

ディープラーニング環境を整えることは非常に重要です。これで、Deep Learning Community AMI、TMUX、およびトンネリングを使用して、EC2 上の Jupyter Notebook 用の新しい Deep Learning Server を最短時間で作成する方法を学習しました。このプリインストールされたサーバーには、作業に必要なディープラーニング ライブラリがすべて付属しており、すぐに使用できます。

それで、何を待っていますか?

<<:  AIが再び人間に勝つ:たった1枚の自撮り写真から人の性格を判別

>>:  対称暗号化、非対称暗号化、ハッシュアルゴリズムについてお話ししましょう

ブログ    
ブログ    
ブログ    

推薦する

PyTorch と TensorFlow のベンチマーク: どちらのプラットフォームが NLP モデル推論をより速く実行しますか?

PyTorch と TensorFlow のどちらが優れているかという議論は、決して終わることはあ...

...

...

2018年、ブロックチェーンは監査人の仕事を破壊するでしょうか?

電卓が普及した後、そろばんの使い方しか知らなかった会計士は失業した。ゴールドマン・サックスは最盛期に...

...

AI はどのようにして人間の会話の内容を認識するのでしょうか?マイクロソフト研究チームがお伝えします

[[280027]]この記事はLeiphone.comから転載したものです。転載する場合は、Leip...

Adobeが次世代Photoshop機械学習機能を発表、ワンクリックで画像を切り抜くことが可能に

Adobeは月曜日、ビデオを通じて次世代Photoshop CCのいくつかの新機能を発表した。ビデオ...

顔認識技術のまとめ:従来の方法からディープラーニングまで

1970 年代以来、顔認識はコンピューター ビジョンと生体認証の分野で最も研究されているトピックの ...

...

なぜ機械学習展開プラットフォームを Python ではなく Go で作成したのでしょうか?

Python は機械学習の分野で広く使われるようになりました。しかし、Python は、全能の神が...

中国気象局:2030年までに、人工知能気象アプリケーションの開発レベルは世界最高レベルに達する

中国気象局は7月29日、「人工知能気象応用作業計画(2023-2030年)」を発表し、国内の人工知能...

ディープラーニングのメリットが終わりを迎える中、AIは再び「死の谷」に直面しているのでしょうか?

[[384224]]大いに期待されているディープラーニングは、人工知能を再び AI の冬に突入させ...

Facebookの新しいAIモデルは、英語以外の言語から英語以外の言語に直接翻訳できる

海外メディアの報道によると、機械翻訳技術は誕生以来長い道のりを歩んできた。 Google のような翻...

ソフトウェア開発者ガイド: 独自のデータで ChatGPT をトレーニングする

翻訳者 | 李睿レビュー | Chonglou制作:51CTO テクノロジースタック(WeChat ...

エッジAIとクラウドAIのバランスを見つける

エッジ AI により、ローカライズされた処理を通じてリアルタイムの機械学習が可能になり、即時のデータ...