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

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

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

ベンチャー投資における機械学習の活用方法

過去 20 年間にわたり、Veronica Wu は多くの大きな技術的変化の始まりを目撃してきました...

Chain World: シンプルで効果的な人間行動エージェントモデル強化学習フレームワーク

強化学習は、エージェントが環境と対話し、蓄積された報酬を最大化するために最適なアクションを選択する方...

5G、IoT、AI、機械学習は2021年に最も重要なテクノロジーとなる

[[353503]]画像ソース: https://pixabay.com/images/id-575...

未成年者の顔情報の処理には保護者の個別の同意が必要です

[[414012]] 「顔認識技術を用いた個人情報処理に関する民事訴訟における法律適用の若干の問題に...

スマート物流が一般的なトレンドであり、ロボット、ドローン、5Gの価値が強調されている

近年、電子商取引経済の急速な発展と人々の生活水準の継続的な向上により、物流の需要が急増していますが、...

2021 年の AI イノベーション トレンド トップ 10

人工知能は、人々の日常の仕事や生活を変えるテクノロジーとイノベーションに関して、最もホットなトレンド...

Canvasの画像認識技術とインテリジェントデザインについて考える

[[403856]]著者は最近、フロントエンドの視覚化と構築の技術を研究しています。最近、設計図に基...

人工知能は私たちに何をもたらしてくれるのでしょうか?人工知能は非常に強力です

人工知能は皆さんにとって馴染み深いものかもしれませんが、では人工知能は一体何ができるのでしょうか?本...

AIとクラウドコンピューティングが相互に利益をもたらし、ビジネス効率を向上させる方法

長年にわたり、クラウド コンピューティングは現代のビジネスに欠かせないツールとなり、2020 年には...

科学者は機械学習を利用して結晶構造の酸化状態の謎を解明する

化学元素は物理世界のほぼすべてを構成しています。 2016 年現在、人類が知っている元素の数は 11...

ITとビジネスの調和を実現する: デジタル変革にローコードが不可欠な理由

[51CTO.com クイック翻訳]ビジネスの世界では、デジタルトランスフォーメーションという言葉を...

多くの企業が自社のサービスはAIだと主張しているが、実際はAIのふりをしている人間である。

[[235932]] 「疑似AI」の台頭:テクノロジー企業がボットの仕事を人間にひそかに任せる方法...

AI は製造業と産業用 IoT をどのように変えるのでしょうか?

Business Insider によると、製造業ではモノのインターネット (IoT) と AI ...

...