かんちゃんの備忘録

プログラミングや言語処理、ガジェットなど個人の備忘録です。(メモ書き+α)

Google Compute EngineでPythonのGPU環境を構築

機械学習環境として、Google Compute Engine(GCE)のGPUインスタンス上にPythonを構築しました。 また、GPU対応版のLightGBMとCatboostをインストールしました。

本記事はその備忘録となります。

導入プラン

  • マシンタイプ
    • n1-highmem-8 (vCPUx8、メモリ52GB)
    • Ubuntu 18.04
  • GPU
    • 1 x NVIDIA Tesla K80
    • CUDA 9.1
    • cudnn 7
  • Python
    • pyenv
    • Anaconda3
    • LightGBM with GPU
    • Catboost with GPU

Dockerは試したのですが、コンテナ内のJupyter Notebookとクライアント間でセキュアな通信をうまく確立できませんでした*1

今回は、GCEにいろいろと直接インストールします。

スクリプト

Gistにアップロードしたものを貼り付けました。 上から順に実行することで、環境構築できるはずです。

概要を説明すると、

  • gce_gpu_init.sh
    • GPUドライバーのインストール
    • CUDAとcudnnのインストール
    • ドライバを有効化するために再起動
  • gce_init_jupyter.sh
    • pyenvの導入
    • anaconda3のインストール
    • Jupyter Notebookのログインパスワードの設定(ログインパスワードの入力を求められる)
    • 「GCEのポート8888をファイアウォールに追加してね」とメッセージを表示する
  • gce_lightgbm_catboost_installation.sh
    • LightGBMのGPUビルドとインストール
    • CatboostのGPU対応バイナリのインストール*2

Initialization script for jupyter(and lightgbm, ca ...

*1:別記事で書こうと思います。

*2:どうしてもGPU版のビルドができなかったため、バイナリを導入しています。