LoginSignup
0
0

[AWS]Sagemaker ノートブックインスタンスで毎回pythonモジュールのインストールを不要にするやり方

Posted at

今年初めてAmazon Sagemakerに入門しました。Jupyternotebookを使いたかったのと、Sagemakerに触ってみたかったことが動機です(Sagemaker Studioにも入門しました)。
さて、Sagemakerのノートブックインスタンスを使ったときに、毎回「pip install」を実行していました。1つだけで軽いのならそれでいいのですが、依存関係とかいろいろあるやつだと待たされます。この手間をなんとかしたいと模索した備忘録です。
(模索を通して仕様を理解しようというのがこの活動のモチベーションだったりしました。)

初心者がたどり着いたメモです。他の良いやり方があれば教えてください。

1.ポイント

・Sagemakerのノートブックは一部の領域を除き、インスタンス起動ごとに新しく作られる。
 →インスタンスで初期化されないところもあることを発見
 →モジュールをインストールしておき、そこのパスを通せばいいのでは?(環境変数設定)
  →環境変数の設定を毎回起動時に行うことにしよう(自動設定)

2.たどりついたこと

起動スクリプトとして下記を登録し、pythonモジュールの検索パスとして認識させる。

#!/bin/bash

set -e
touch /home/ec2-user/anaconda3/envs/python3/lib/python3.10/site-packages/importpkg.pth
echo /home/ec2-user/SageMaker/{your_module} >> /home/ec2-user/anaconda3/envs/python3/lib/python3.10/site-packages/importpkg.pth

3.豆知識

「ノートブックの開始」と「ノートブックの作成」の違い
11.png

・ノートブックの開始
 インスタンス作成時に1回だけ起動されるもの
・ノートブックの作成
 インスタンスの起動時に毎回起動されるもの

以上です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0