作業の重複をなくしましょう! 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枚の自撮り写真から人の性格を判別

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

ブログ    
ブログ    
ブログ    

推薦する

Moka、業界初となるAIネイティブHR SaaS製品「Moka Eva」をリリース、AGI時代を見据えた準備万端

2023年6月28日、Mokaは北京で2023年夏の新製品発表会を開催した。 Moka CEOのLi...

ドローンは何に使えるのでしょうか?これらの使い方は本当に素晴らしいです!

ドローンは最近ますます人気が高まっています。高解像度カメラ付きの機械を数百ドルで購入することもできま...

...

AIとビッグデータに焦点を当て、インテルとToutiaoが技術革新研究所を設立

[原文は51CTO.comより] 8月22日、インテルとToutiaoの共同戦略協力記者会見と「デー...

とても早いですね!わずか数分で、10行未満のコードでビデオ音声をテキストに変換します。

みなさんこんにちは。私はFeng Kiteですオーディオおよびビデオ ファイル内のオーディオをテキス...

海底撈のIPOは1000億元規模:将来、厨房に必要なのはエンジニア2人だけ

[[245580]] 2018年9月26日、海底撈国際ホールディングス株式会社(06862.HK)が...

...

デザイナーがAIについて語る:「デザインは最終的に完全に消滅するだろう」

デザイン界では有名なブランド、フィリップ・スタルク。国際宇宙ステーションの居住モジュールからスティー...

ディープラーニングの台頭から10年:OpenAIのイノベーターたち

AlexNet、AlphaGo、GPT、CLIP、DALL-E、Codex、これらはAIの世界でセン...

動作計画のための探索アルゴリズム: フロントエンド計画、バックエンド軌道生成から状態解まで

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

PythonコードからAPPまで、必要なのは小さなツールだけ:GitHubには3,000以上のスターがある

機械学習開発者にとってアプリを構築するのはどれくらい難しいのでしょうか?実際、Python コードを...

シンプルで効果的な新しい敵対的攻撃手法により、人気の Android アプリの DL モデルが破られることに成功

現在、多くのディープラーニング モデルがモバイル アプリに組み込まれています。デバイス上で機械学習を...

実現可能な AI、SF から科学的事実へ: 今日の AI の現実

人工知能(AI)の概念は何千年も前から存在しています。 AI の物語は歴史を通じて世界中に広がってい...

Kuaishouは、技術的な実践を共有する最初のFlutter交換会を開催しました

Flutter はますます多くの開発者や組織で使用されており、Kuaishou も Flutter ...

北京冬季オリンピックまでのカウントダウン:人工知能は準備完了!あなたも?

「一つの夢」から「共に未来へ」へ2つのオリンピック開催都市、北京オリンピック聖火は今冬も歓迎される...