Colab はGoogle より提供されている人気の無料データ分析クラウドサービスです。Colab を使ってTensorFlow,Keras などよく使われている機械学習のツールを利用できるので機械学習エンジニアにとってとても便利なツールです。ただ Colab のinstance が8時間しか動けないのでコードのバージョン管理が混乱する可能性が高いです。
今回はGitHub でColab のコードをバージョン管理する方法を皆さんへ紹介させて頂きます。
全体の流れ
Colab+GitHubコードのバージョン管理の流れは下記になります。GitHubのrepoを作成
GitHubのaccountにログインして新しいprivate repoを作成します。今回は例としてcolab_testのrepoを作成しました。Colabでssh keyを作成
下記のコマンドでkeyfileを作成します。
1 |
!ssh-keygen -t rsa -b 4096 |
作成されたkeyfileの実行権限の設定も忘れないようにしてください。
1 |
!chmod go-rwx /root/.ssh/id_rsa |
1 |
!cp /root/.ssh/id_rsa ~/ |
1 |
!cp id_rsa /root/.ssh/id_rsa !chmod go-rwx /root/.ssh/id_rsa |
GitHubでkeyを登録
先に作成されたkeyのpublic keyをprint outしてGitHubへ登録してください。
1 |
!cat /root/.ssh/id_rsa.pub |
GitHubへsource コードを追加
hellocolab.pyを追加し、下記のコードを入れましょう。
1 |
print("hello colab")# colab_sample |
ColabでGitHubからコードを読み込む
下記のコマンドでコードを読み込みます。
1 |
#! git clone git@github.com:<user name>/<repo name>.git !git clone git@github.com:CodeDiggerM/colab_sample.git !python colab_sample/hellocolab.py |
source codeを変更してGitHubへ提出
hellocolab.pyにコードを変更してcommit/pushしましょう。
1 |
print("hello colab again") |
Colabで変更されたコードを実行
git pullでコードを更新できます。下記のコマンドで最新のコードを実行できます。
1 |
!cd colab_sample && git pull !python colab_sample/hellocolab.py |
まとめ
今回の例でcloneするプライベートリポジトリのソースコードにAPIキーなどのシークレット情報が含まれ内容に気をつけてください。 機械学習エンジニアとしてColabとGitHubは日々の業務によく使われているものです。もし今回のブログが皆さんの分析業務のお役に立てれば幸いです。注意点:cloneするプライベートリポジトリのソースコードにAPIキーなどのシークレット情報が含まれないように気をつけてください。