Как установить (и сохранить) расширения в SageMaker Studio

Если вы используете SageMaker Studio, то, возможно, вам не хватало некоторых функций, которые есть в других современных IDE. Как вы, возможно, знаете, SageMaker Studio построена на основе IDE JupyterLab. Она расширяет ее, интегрируясь с другими ресурсами SageMaker. Но это не включает никаких функций для удобства разработчиков.

Чтобы обогатить SageMaker Studio необходимыми вам функциями, вы можете установить расширения JupyterLab. Это можно сделать разными способами.

Вы можете использовать Менеджер расширений, который находится в меню слева. Он имеет значок в виде кусочка головоломки. В менеджере расширений вы можете проверить уже установленные расширения. Вы также можете искать расширения, если напишете их название в строке поиска. Когда вы найдете расширение, которое хотите установить, нажмите кнопку «Установить». После установки всех необходимых расширений перезапустите JupyterLab, обновив страницу. Теперь вы должны иметь возможность использовать их.

Другой способ установки расширений — использование инструмента Jupyter CLI. Для этого метода вам потребуется предварительно узнать название расширения. Откройте терминал внутри студии и введите следующие команды:

conda activate studio
Войти в полноэкранный режим Выйти из полноэкранного режима

Если пакет, который вы пытаетесь установить, находится в реестре пакетов NPM, вы можете установить его с помощью Jupyter CLI:

jupyter labextension install my-extension@1.2.3
Войти в полноэкранный режим Выйти из полноэкранного режима

Вы также можете установить расширения, находящиеся в реестре пакетов pip, с помощью команды pip:

pip install my-extension=1.2.3
Войти в полноэкранный режим Выйти из полноэкранного режима

Наконец, выполните следующую команду:

restart-jupyter-lab
Войти в полноэкранный режим Выйти из полноэкранного режима

и обновите страницу.

Установка расширений имеет проблему в SageMaker Studio. Каждый раз, когда ваш JupyterServer выключается, он теряет все установленные расширения и начинает работу с чистого состояния. Чтобы сохранить все установленные расширения, необходимо создать конфигурацию Lifecycle Configuration. Эта Lifecycle Configuration будет устанавливать все расширения при запуске. Конфигурация жизненного цикла будет выполнять сценарий при запуске JupyterServer. Содержание сценария будет следующим:

source activate studio
jupyter labextension install extension-foo
pip install extension-bar
restart-jupyter-server
Войти в полноэкранный режим Выход из полноэкранного режима

Как вы можете заметить, в этом скрипте мы активируем среду с помощью source activate studio вместо conda activate studio, это потому, что conda не может быть использована из конфигурации жизненного цикла.

Существует много способов создания конфигурации жизненного цикла. Вы можете сделать это через консоль, используя Cloudformation Stack, или через AWS CLI. Используя CLI, вы можете сделать следующее:

aws sagemaker create-studio-lifecycle-config 
  --region <your-region> 
  --studio-lifecycle-config-name my-studio-lcc 
  --studio-lifecycle-config-content $LCC_CONTENT 
  --studio-lifecycle-config-app-type JupyterServer 
Войти в полноэкранный режим Выйти из полноэкранного режима

$LCC_CONTENT — это строка с содержимым скрипта, описанного ранее. Затем, при создании профиля пользователя в домене SageMaker Domain, вы можете привязать к нему конфигурацию Lifecycle Configuration:

aws sagemaker create-user-profile --domain-id <DOMAIN-ID> 
  --user-profile-name <USER-PROFILE-NAME> 
  --region <REGION> 
  --user-settings '{ "JupyterServerAppSettings": { "LifecycleConfigArns": ["<LIFECYCLE-CONFIGURATION-ARN-LIST>"] } }'
Вход в полноэкранный режим Выйти из полноэкранного режима

С этого момента, когда пользователи запускают свой экземпляр SageMaker Studio, у них всегда будут установлены расширения. Они смогут использовать их с самого начала. Они также смогут устанавливать и удалять расширения из интерфейса и терминала, но эти изменения будут действовать только в течение всего сеанса работы с Studio.

Оцените статью
devanswers.ru
Добавить комментарий