け日記

最近はPythonでいろいろやってます

SageMakerのコードをGitHubで管理する

SageMakerで分析・学習・推論のために作成した.ipynbファイルなどのバージョン管理やチームメンバへの共有を行いたい、ということが日々あります。

今回はSageMakerとGitHubを連携させる方法について紹介します。スクリーンショットたくさんです。

GitHubでリポジトリ作成

まずGitHubでリポジトリを作成します。ここではPrivateにしてます。

f:id:ohke:20190908182404p:plain

ノートブックインスタンスの作成

AWSコンソールからSageMakerノートブックを作成していきます。

f:id:ohke:20190908183009p:plain

設定項目の中のGitリポジトリにて、新たにリポジトリを追加します。

f:id:ohke:20190908183237p:plain

GiHub -> リポジトリのURL -> 認証情報をそれぞれ設定していきます。

  • GitHubの認証情報はAWS Secret Managerによって管理されます

f:id:ohke:20190908183637p:plain

シークレットが作成できたらリポジトリの追加を選択します。

f:id:ohke:20190908183842p:plain

ノートブックインスタンス作成画面に戻り、リポジトリの更新ボタンを押すと、先程追加したリポジトリが選べます。

f:id:ohke:20190908184330p:plain

.ipynbファイルのpush

Jupyter Labで開くとリポジトリがクローンされたディレクトリができていますので、そのディレクトリ内でtest.ipynbファイルを作成します。

f:id:ohke:20190908185437p:plain

左のメニューからGitを選択すると、Gitの操作画面が現れます。

新規作成したtest.ipynbをtrackに追加することでstagedにして、コミットコメントを書いてチェックボタンでコミットします。

f:id:ohke:20190908185834p:plain

最初のコミットではNameとEmailが求められますので適当に入力してOKします。.gitconfigの新規作成と同じですね。

f:id:ohke:20190908190142p:plain

あとはメニューの雲ボタンでpushされ、GitHubにファイルが追加されます。

f:id:ohke:20190908192447p:plain

もちろんGitHub上で.ipynbファイルを閲覧できます。

f:id:ohke:20190908192546p:plain

まとめ

SageMakerのファイルをGitHubで管理する方法について紹介しました。

アドホックに変更されることが多い.ipynbファイルなどを健全な状態に保つために、GitHubは役立つかと思います。