Instalação externa da biblioteca e do kernel - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Instalação externa da biblioteca e do kernel

Importante

Atualmente, todos os pacotes em ambientes de instância de notebook são licenciados para uso com a Amazon SageMaker e não exigem licenças comerciais adicionais. No entanto, isso pode estar sujeito a alterações no futuro, e recomendamos revisar os termos de licenciamento regularmente para verificar se há atualizações.

As instâncias de SageMaker notebooks da Amazon vêm com vários ambientes já instalados. Esses ambientes contêm kernels Jupyter e pacotes Python, incluindo: scikit, Pandas,, e. NumPy TensorFlow MXNet Os ambientes, com todos os arquivos da pasta sample-notebooks, são atualizados quando você interrompe e inicia uma instância de caderno. Você também pode instalar seus próprios ambientes, com os pacotes e kernels de sua escolha.

Os diferentes kernels do Jupyter nas instâncias de notebooks da SageMaker Amazon são ambientes conda separados. Para obter mais informações sobre ambientes do Conda, consulte a seção de gerenciamento de ambientes na documentação do Conda.

Instale ambientes e kernels personalizados no volume Amazon EBS da instância do notebook. Isso garante que eles persistam quando você interrompe e reinicia a instância do notebook e que as bibliotecas externas instaladas não sejam atualizadas pelo SageMaker. Para fazer isso, use uma configuração de ciclo de vida que inclua um script que é executado quando você cria a instância do caderno on-create) e um script que é executado toda vez que você reinicia a instância do caderno (on-start). Para obter informações sobre o uso das configurações do ciclo de vida da instância do caderno, consulte Personalização de uma instância de SageMaker notebook usando um script LCC. Há um GitHub repositório que contém exemplos de scripts de configuração do ciclo de vida em SageMakerNotebook Instance Lifecycle Config Samples.

Os exemplos em https://github.com/aws-samples/amazon-sagemaker-notebook-instance- lifecycle-config-samples /blob/master/scripts/ persistent-conda-ebs /on-create.sh e https://github.com/aws-samples/ amazon-sagemaker-notebook-instance - lifecycle-config-samples /blob/master/scripts/ persistent-conda-ebs /on-start.sh mostram as melhores práticas para instalar ambientes e kernels em uma instância de notebook. O script on-create script instala a biblioteca ipykernel para criar ambientes personalizados como kernels do Jupyter e, em seguida, usa pip install e conda install para instalar bibliotecas. Você pode adaptar o script para criar ambientes personalizados e instalar as bibliotecas que desejar. SageMaker não atualiza essas bibliotecas quando você interrompe e reinicia a instância do notebook, portanto, você pode garantir que seu ambiente personalizado tenha as versões específicas das bibliotecas que você deseja. O script on-start instala todos os ambientes personalizados que você cria como kernels do Jupyter, para que eles apareçam na lista suspensa no menu Novo do Jupyter.

Ferramentas de instalação do pacote

SageMaker os notebooks suportam as seguintes ferramentas de instalação de pacotes:

  • instalação do conda

  • instalação do pip

Você pode instalar pacotes usando os métodos a seguir:

De dentro de um caderno, você pode usar a sintaxe de comando do sistema (linhas começando com !) para instalar pacotes, por exemplo, !pip install e !conda install. Mais recentemente, novos comandos foram adicionados aIPython: %pip %conda e. Esses comandos são a forma recomendada de instalar pacotes de um caderno, pois eles levam corretamente em consideração o ambiente ativo ou o intérprete que está sendo usado. Para obter mais informações, consulte Adicionar funções mágicas %pip e %conda.

Conda

O Conda é um sistema de gerenciamento de pacotes e sistema de gerenciamento de ambiente de código aberto, que pode instalar pacotes e suas dependências. SageMaker suporta o uso do Conda com qualquer um dos dois canais principais, o canal padrão e o canal conda-forge. Para obter mais informações, consulte Canais conda. O canal conda-forge é um canal comunitário onde os colaboradores podem fazer upload de pacotes.

nota

Devido à forma como o Conda resolve o gráfico de dependências, a instalação de pacotes do conda-forge pode levar muito mais tempo (nos piores casos, mais de 10 minutos).

O Deep Learning AMI vem com muitos ambientes conda e muitos pacotes pré-instalados. Devido ao número de pacotes pré-instalados, é difícil encontrar um conjunto de pacotes com garantia de compatibilidade. Você pode ver um aviso “O ambiente é inconsistente, verifique o plano do pacote com cuidado”. Apesar desse aviso, SageMaker garante que todos os ambientes SageMaker fornecidos estejam corretos. SageMaker não podemos garantir que nenhum pacote instalado pelo usuário funcione corretamente.

nota

Os usuários AMIs de deep learning da AWS e a Amazon EMR podem acessar o repositório comercial do Anaconda sem obter uma licença comercial até 1º de fevereiro de 2024 ao usar o Anaconda nesses serviços. SageMaker Para qualquer uso do repositório comercial do Anaconda após 1º de fevereiro de 2024, os clientes são responsáveis por determinar seus próprios requisitos de licença do Anaconda.

O Conda tem dois métodos para ativar ambientes: ativar/desativar conda e ativar/desativar a fonte. Para obter mais informações, consulte Devo usar 'conda activate' ou 'source activate' no Linux?.

SageMaker suporta a migração de ambientes Conda para o EBS volume da Amazon, que persiste quando a instância é interrompida. Os ambientes não persistem quando são instalados no volume raiz, que é o comportamento padrão. Para obter um exemplo de script de ciclo de vida, consulte. persistent-conda-ebs

Operações conda compatíveis (consulte a nota na parte inferior deste tópico)
  • instalação conda de um pacote em um único ambiente

  • instalação conda de um pacote em todos os ambientes

  • instalação conda de um pacote R no ambiente R

  • Instalar um pacote do repositório principal do conda

  • Instalar um pacote do conda-forge

  • Alterando o local de instalação do Conda para usar EBS

  • Suporte ao 'conda activate' e ao 'source activate'

Pip

O pip é a ferramenta de fato para instalar e gerenciar pacotes Python. O Pip pesquisa pacotes no Python Package Index (PyPI) por padrão. Ao contrário do Conda, o pip não tem suporte integrado ao ambiente e não é tão completo quanto o Conda quando se trata de pacotes com dependências de bibliotecas nativas/sistema. O pip pode ser usado para instalar pacotes em ambientes conda.

Você pode usar repositórios de pacotes alternativos com pip em vez do PyPI. Para ver um exemplo de script de ciclo de vida, consulte on-start.sh.

Operações conda compatíveis (consulte a nota na parte inferior deste tópico)
  • Usar pip para instalar um pacote sem um ambiente conda ativo (instalar pacotes em todo o sistema)

  • Usar pip para instalar um pacote em um ambiente conda

  • Usar pip para instalar um pacote em todos os ambientes conda

  • Alterando o local de instalação do pip a ser usado EBS

  • Usar um repositório alternativo para instalar pacotes com pip

Sem suporte

SageMaker visa oferecer suporte ao maior número possível de operações de instalação de pacotes. No entanto, se os pacotes foram instalados por SageMaker ou DLAMI e você usa as seguintes operações nesses pacotes, isso pode tornar sua instância do notebook instável:

  • Desinstalação

  • Rebaixamento

  • Atualizar

Não fornecemos suporte para instalação de pacotes via yum install ou instalação de pacotes R a partir deCRAN.

Devido a possíveis problemas com as condições ou configurações da rede, ou com a disponibilidade do Conda ou PyPi, não podemos garantir que os pacotes serão instalados em um período de tempo fixo ou determinístico.

nota

Não podemos garantir que a instalação de um pacote será bem-sucedida. A tentativa de instalar um pacote em um ambiente com dependências incompatíveis pode resultar em uma falha. Nesse caso, você deve entrar em contato com o mantenedor da biblioteca para ver se é possível atualizar as dependências do pacote. Como alternativa, você pode tentar modificar o ambiente de forma a permitir a instalação. No entanto, essa modificação provavelmente significará remover ou atualizar os pacotes existentes, o que significa que não podemos mais garantir a estabilidade desse ambiente.