Instalación de bibliotecas y núcleos externos - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Instalación de bibliotecas y núcleos externos

importante

Actualmente, todos los paquetes de los entornos de instancias de notebook tienen licencia para su uso con Amazon SageMaker y no requieren licencias comerciales adicionales. Sin embargo, esto podría estar sujeto a cambios en el futuro, por lo que recomendamos revisar los términos de licencia con regularidad para ver si hay actualizaciones.

Las instancias de Amazon SageMaker Notebook vienen con varios entornos ya instalados. Estos entornos contienen núcleos de Jupyter y paquetes de Python que incluyen: scikit, Pandas,, y. NumPy TensorFlow MXNet Estos entornos, junto con todos los archivos de la carpeta sample-notebooks, se actualizan cuando detiene e inicia una instancia de cuaderno. También puede instalar sus propios entornos que contienen la opción de los paquetes y kernels.

Los diferentes núcleos de Jupyter en las instancias de Amazon SageMaker Notebook son entornos conda independientes. Para obtener información sobre los entornos conda, consulte la sección de administración de entornos en la documentación de Conda.

Instale entornos y núcleos personalizados en el EBS volumen Amazon de la instancia de notebook. Esto garantiza que persistan cuando detengas y reinicies la instancia de notebook, y que las bibliotecas externas que instales no se actualicen. SageMaker Para ello, utilice una configuración del ciclo de vida que incluya un script que se ejecute al crear la instancia de cuaderno (on-create) y un script que se ejecute cada vez que se reinicie la instancia de cuaderno (on-start). Para obtener más información acerca de las configuraciones de ciclo de vida utilizando instancias de cuaderno, consulte Personalización de una instancia de SageMaker bloc de notas mediante un LCC script. Hay un GitHub repositorio que contiene ejemplos de scripts de configuración del ciclo de vida en SageMakerNotebook Instance Lifecycle Config Samples.

En los ejemplos de https://github.com/aws-samples/amazon-sagemaker-notebook-instance- lifecycle-config-samples /blob/master/scripts/ persistent-conda-ebs /on-create.sh y https://github.com/aws-samples/ amazon-sagemaker-notebook-instance - lifecycle-config-samples /blob/master/scripts/ persistent-conda-ebs /on-start.sh se muestran las prácticas recomendadas para instalar entornos y núcleos en una instancia de notebook. El script on-create instala la biblioteca ipykernel para crear entornos personalizados como kernels de Jupyter y, a continuación, utiliza pip install y conda install para instalar las bibliotecas. Puede adaptar el script para crear entornos personalizados e instalar las bibliotecas que desee. SageMaker no actualiza estas bibliotecas al detener y reiniciar la instancia del bloc de notas, por lo que puede asegurarse de que su entorno personalizado tiene las versiones específicas de las bibliotecas que desee. El script on-start instala todos los entornos personalizados que cree como kernels de Jupyter para que aparezcan en la lista desplegable del menú Nuevo de Jupyter.

Herramientas de instalación de paquetes

SageMaker los portátiles admiten las siguientes herramientas de instalación de paquetes:

  • instalación conda

  • instalación pip

Puede instalar paquetes mediante los siguientes métodos:

Desde un cuaderno se puede usar la sintaxis de comandos del sistema (las líneas que comienzan por !) para instalar paquetes, por ejemplo, !pip install y !conda install. Más recientemente, se agregaron nuevos comandos aIPython: %pip y%conda. Estos comandos son los recomendados para instalar los paquetes desde un cuaderno, ya que tienen en cuenta correctamente el entorno activo o el intérprete que se está utilizando. Para obtener más información, consulte Añadir las funciones mágicas %pip y %conda.

Conda

Conda es un sistema de administración de paquetes y un sistema de administración de entornos de código abierto, que puede instalar paquetes y sus dependencias. SageMaker admite el uso de Conda con cualquiera de los dos canales principales, el canal predeterminado y el canal conda-forge. Para obtener más información, consulte Conda channels. El canal conda-forge es un canal comunitario en el que los colaboradores pueden subir paquetes.

nota

Debido a la forma en que Conda resuelve el gráfico de dependencias, la instalación de paquetes desde conda-forge puede llevar mucho más tiempo (en el peor de los casos, más de 10 minutos).

El aprendizaje profundo AMI viene con muchos entornos de conda y muchos paquetes preinstalados. Debido a la cantidad de paquetes preinstalados, es difícil encontrar un conjunto de paquetes que garanticen su compatibilidad. Es posible que aparezca una advertencia que diga: “The environment is inconsistent, please check the package plan carefully”. A pesar de esta advertencia, SageMaker garantiza que todos los entornos SageMaker proporcionados sean correctos. SageMaker no puede garantizar que los paquetes instalados por el usuario funcionen correctamente.

nota

Los usuarios AWS Deep Learning AMIs y Amazon EMR pueden acceder al repositorio comercial de SageMaker Anaconda sin necesidad de obtener una licencia comercial hasta el 1 de febrero de 2024 si utilizan Anaconda en esos servicios. Para cualquier uso del repositorio comercial de Anaconda después del 1 de febrero de 2024, los clientes son responsables de determinar sus propios requisitos de licencia de Anaconda.

Conda tiene dos métodos para activar los entornos: conda activate/deactivate y source activate/deactivate. Para obtener más información, consulte Should I use 'conda activate' or 'source activate' in Linux.

SageMaker permite mover los entornos de Conda al EBS volumen de Amazon, que persiste cuando se detiene la instancia. Los entornos no persisten cuando se instalan en el volumen raíz, lo que es el comportamiento predeterminado. Para ver un ejemplo de script de ciclo de vida, consulte. persistent-conda-ebs

Operaciones conda compatibles (consulte la nota al final de este tema)
  • instalación conda de un paquete en un solo entorno

  • instalación conda de un paquete en todos los entornos

  • instalación conda de un paquete R en el entorno R

  • Instalación de un paquete desde el repositorio principal de conda

  • Instalación de un paquete desde conda-forge

  • Cambiar la ubicación de instalación de Conda que se va a usar EBS

  • Compatible con conda activate y source activate

Pip

Pip es la herramienta de facto para instalar y administrar paquetes de Python. De forma predeterminada, Pip busca paquetes en el Índice de paquetes de Python (PyPI). A diferencia de Conda, pip no cuenta con un entorno integrado y no es tan exhaustivo como Conda en relación con los paquetes con dependencias entre bibliotecas nativas y del sistema. Pip se puede usar para instalar paquetes en entornos Conda.

Puede usar repositorios de paquetes alternativos con pip en lugar de PyPI. Para ver un ejemplo de script de ciclo de vida, consulta on-start.sh.

Operaciones pip compatibles (consulte la nota al final de este tema)
  • Uso de pip para instalar un paquete sin un entorno conda activo (instalación de paquetes en todo el sistema)

  • Uso de pip para instalar un paquete en un entorno conda

  • Uso de pip para instalar un paquete en todos los entornos conda

  • Cambiar la ubicación de instalación de pip que se va a utilizar EBS

  • Uso de un repositorio alternativo para instalar paquetes con pip

No se admite

SageMaker tiene como objetivo admitir tantas operaciones de instalación de paquetes como sea posible. Sin embargo, si los paquetes se instalaron mediante SageMaker o DLAMI y utiliza las siguientes operaciones en estos paquetes, es posible que la instancia de su portátil sea inestable:

  • Desinstalación

  • Degradación

  • Mejora

No ofrecemos soporte para instalar paquetes a través de yum install ni para instalar paquetes R desdeCRAN.

Debido a posibles problemas con las condiciones o configuraciones de la red, o con la disponibilidad de Conda PyPi, no podemos garantizar que los paquetes se instalen en un período de tiempo fijo o determinista.

nota

No podemos garantizar que la instalación de un paquete se realice correctamente. Si se intenta instalar un paquete en un entorno con dependencias incompatibles, se puede producir un error. En tal caso, debe ponerse en contacto con el responsable de la biblioteca para ver si es posible actualizar las dependencias del paquete. Como alternativa, puede intentar modificar el entorno de tal manera que permita la instalación. Sin embargo, es probable que esta modificación implique eliminar o actualizar los paquetes existentes, lo que significa que ya no podemos garantizar la estabilidad de este entorno.