機械学習環境(python,chainer,cupy)を作成して機械学習を行う。機械学習環境(python,chainer,cupy)を作成して機械学習を行う。その1CUDA機械学習gcegcpCuPyはじめにGCPの登録から機械学習を実行する環境構築までの手順を備忘録としてまとめます。アドバイスについてコメントをいただければ幸いです。以下サイトからGCPのアカウントを登録することができます。登録していない方は、まずアカウント登録しましょう!http://cloud.google.com※アカウント登録する際は有効なクレジットカードが必要になります!下記の画面が表示されたら、無料で始めるを選択して登録を行なってください。新規プロジェクトの作成GCPに登録すると以下のようなホーム画面的なものが表示されると思います。ページ中央付近に「作成」ボタンがあるので、それを選択してください。このような、プロジェクト作成画面が表示されるので、[プロジェクト名]と[場所]に対して任意の情報を入力してください。任意の情報を入力したら[作成]を選択してください。platformのホーム画面の右上にナビゲーションメニューがあるので、それを選択します。ナビゲーションメニューは、以下のようなマークになってます。インスタンス作成画面が表示されるので、[作成]を選択。インスタンスを作成する為の設定画面が表示されます。設定はせずに、あらかじめ用意されたテンプレートを使って作成したいので、左真ん中下にある[Marketplace]を選択してください。インスタンスのテンプレートが表示されます。今回はNVIDIAのGPUを利用した機械学習環境を作成するので、上側にある検索画面で「nvidia」と入力してEnterキーで検索を行なってください。HPC]を使って機械学習環境を作成したいと思いますので、それを選択してください。上で起動]を選択してください。割り当てページで割り当てを増やしてください。詳細」というエラーが表示されていると思います。このエラーは、新規アカウント作成時のデフォルト設定では作成できるCPUやGPUなどのリソース数に制限が設けられています。インスタンスを作成するサーバーの場所・地域)に対して、作成できるリソース数を増やす必要があります。今回は、以下のうようなzone「us-west1-a」に対してリソースの設定をしたいと思います。割り当てページで割り当てを増やしてください。詳細」の割り当てページと表示されている文字がリソース設定画面のリンクページになっているので、割り当てページを選択。以下のような割り当てページが表示されるので、一覧表示設定を以下のように設定してください。API]のチェックボックスにチェックを入れて、[割り当てを編集]を選択してください。以下のように「名前」、「メールアドレス」、「電話番号」について求められるので、各自以下のように自身の名前やメールアドレス、電話番号について入力してください。入力後、[次へ]を選択してください。以下のような、GPU割り当て設定画面が表示されるので、必要な新しい割り当て上限を入力しましょう!割り当て量を100とかに設定すると、申請が通らない場合もあるみたいなので必要な分だけの記載をしましょう。今回は[新しい割り当て上限]を2、[リクエストの説明]の内容を入力して、[リクエストを送信]を選択しましょう。大体、10分から1時間くらいで申請が通ります。変更リクエストを処理しています。リクエストの確認メールを送信しますので、不明な点がある場合はこのメールに返信してください。インスタンス作成設定画面に戻ります。割り当てページで割り当てを増やしてください。インスタンスの作成を行なってください。GPUの割り当て上限変更後、以下のように必要な箇所に対して変更を行なってください。GB:50GB・そのほかの設定はデフォルトのままとしました。インスタンスが立ち上がります!デプロイには約3分〜10分かかります。デプロイに成功すると以下のような画面になると思います。インスタンス]を選択してください。インスタンスが表示されていると思います。作ったVMインスタンスを選択してください。インスタンスを選択すると以下のような画面が表示されると思います。インスタンスの接続方法を選ぶことが出来ます。ウィンドウで開く]を選択します。インスタンスの作成は終了です。デプロイする際に以下のようなエラーが発生した場合。このエラーは、指定したzone(指定したVMインスタンスを作成するサーバーの地域)ではGPU、CPU、ディスクサイズがすでに一杯なので作成に失敗した際に出るみたいです。インスタンスの作成を行うか、時間を空けてから再デプロイを行なってください。インスタンスの作成を行なったらうまくデプロイをすることが出来ました。GPUを利用するためのCUDAとcuDNNのインストールCUDAとは、向けのGPUコンピューティング向けの統合開発環境らしいです。Learning用のライブラリです。Learning用のソフトウェアの速度が向上する。今回は、その二つをインストールしたいと思います。CUDAやcuDNNをインストールするにあたって、自分が使う予定の機械学習のライブラリが要求しているcudaやcudnnのバージョンを確認しておきましょう。TensorFlowが要求するcudaのバージョンは非常にタイトなので、間違えると再インストールするなどの手間がかかります。以下のサイトからインストールするcudaおよびcudnnのバージョンのURLを確認することが出来ます。https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/CUDAのインストール以下のコマンドからCUDAをインストールすることが出来ます。今回はCUDA10.1をインストールします。インスタンスにログインして、ターミナルに貼り付けて実行してください。cuda-driversCUDA10.1をインストール後、パスを追加します。LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHバスを追加した後に、再起動を行なってください。以下コマンドから再起動することが出来ます。接続できないので少し待ちましょうcuDNNのインストール先ほどインストールしたCUDAのバージョンによって、インストールするcuDNNも変わってきます。自身がインストールしたCUDAのバージョンに合わせてcuDNNのインストールを行なってください。以下コマンドを実行することでcuda10.1に対応したcuDNNをインストールすることが出来ます。libcudnn7これで、cuDNNのインストールは完了です。Python3と機械学習を行うためのライブラリのインストール最後にPython3とchainerをはじめとしたライブラリのインストールを行います。以下コマンドでPython3とライブラリをインストールするためのpipをインストールします。python3-pip最後に基本的な機械学習を利用するためのPython3ライブラリをインストールします。cupy-cuda101最後にライブラリchainerとcupyが使用できるかを確認します。ターミナルでpython3と入力するとpython3用のコマンドラインが呼び出されます。python3以下のようにpython3用のコマンドラインが呼び出されたら、chainerとcupyのライブラリを呼び出してエラーが出ないか確認してみましょう。exit()特にエラーが出なければこれで基本的な環境構築は終了です。cupyでcupyをインストールしようとすると毎回以下のようなエラーが出て上手くいきませんでした。10.1をインストールした場合はcupy-cuda101でライブラリcupyをインストールする必要があるみたいです。cupy-cuda100からインストールしてみてください。作成した環境のスナップショットを作成する。インスタンス(仮想環境)のバックアップみたいなものです。コマンドを間違って実行してもスナップショットを作成しておくと元の正常な状態に復元することが出来ます。[スナップショット]を選択してください。スナップショット作成画面が表示されるので、[スナップショットを作成]を選択してください。スナップショット作成をする際の設定画面が表示されるので、[名前]、[説明]、[ソースディスク]、[ロケーション]について設定を行います。インスタンスの名前を選択してください。必要記載事項に情報を入力したら[作成]を選択します。すると新しくスナップショットが作成されます。以上で基本的な環境構築は終了です。まとめGCPの登録から機械学習を実行する環境構築まで簡単にまとめてみました。タイトルで「その1」と書いてある通り、「その2」も書いたいなと思ってます。「その2」ではGPUを利用して機械学習を実行するためのchainerやcupyの使い方、gpuやcpuの監視方法や機械学習を繰り返し試行するための、スクリプトファイルの作成についてまとめたいと思います。いいねやコメントを頂けると「その2」の記事作成のやる気が出ます。requestStockLike5かんばやし@taka_baya新卒2年目。SE,インフラ周りの管理や機械学習エンジニアもやってます。趣味でCTFやりながらサークル「味噌とんトロ定食」としてセキュリティと機械学習の技術書を書いてます。※投稿する記事の内容は個人の意見であり、所属する企業の見解を代表するものではありません。「2019年に50周年を迎えたIT企業です。多くの実績があります。upLoginユーザーは見つかりませんでした。