Расширьте возможности своих специалистов по обработке и анализу данных с помощью расширений SageMaker Studio.

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

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

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

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

conda activate studio

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

jupyter labextension install [email protected]

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

pip install my-extension=1.2.3

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

restart-jupyter-lab

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

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

source activate studio
jupyter labextension install extension-foo
pip install extension-bar
restart-jupyter-server

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

Существует множество способов создания конфигурации жизненного цикла. Вы можете сделать это через консоль, с помощью стека Cloudformation или через интерфейс командной строки AWS. Используя 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, вы можете привязать к нему конфигурацию жизненного цикла:

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.