Skip To Content

Ampliar el tiempo de ejecución de un notebook

ArcGIS Notebook Server incluye dos tiempos de ejecución de notebook (recopilaciones de módulos de Python). Estos tiempos de ejecución están disponibles para los usuarios de los notebooks mediante imágenes de contenedor, que se aplican a cada contenedor ejecutado en el sitio de un servidor.

Tanto el tiempo de ejecución Standard como Advanced del notebook incluyen ArcGIS API for Python y diferentes módulos de Python que pueden utilizarse para ciencia de datos, análisis espacial, administración de contenido y administración. El tiempo de ejecución Advanced también incluye ArcPy.

Consultar la lista de bibliotecas de Python disponibles

En algunos casos, es posible que los autores del notebook necesiten módulos o versiones específicas de los mismos que no se incluyen en estos dos tiempos de ejecución. Puede acceder a módulos adicionales de Python en ArcGIS Notebook Server de estas formas:

  • Instale un módulo de Python durante una sesión del notebook. Esto hará que el módulo esté disponible para ser utilizado en ese notebook.
  • Amplíe una imagen de contenedor de Esri para que incluya bibliotecas de Python adicionales en un tiempo de ejecución personalizado. La imagen de contenedor que cree hará que el tiempo de ejecución ampliado quede a disposición de todos los autores de notebooks de su sitio.

Instalar módulos durante una sesión

Los autores de notebooks pueden hacer que los módulos o las versiones de los módulos de Python que no se incluyen en los tiempos de ejecución estén disponibles para su uso durante una sesión del notebook mediante el sistema de administración de paquetes de conda. Le recomendamos utilizar conda, porque ArcGIS Notebook Server lo usa para administrar módulos.

Este método instala el módulo deseado durante la sesión del notebook. Una vez que se cierra el notebook o que termina el contenedor que pertenece al usuario, el módulo deja de estar disponible. Para instalar módulos con este método, debe poder conectarse a través de Internet con el canal conda.

Nota:

conda está incluido en los dos tiempos de ejecución del notebook y no es necesario instalarlo.

Para instalar el paquete scrapy durante una sesión, por ejemplo, ejecute una celda del notebook con uno de los siguientes comandos, en función del sistema de administración de paquetes que esté utilizando:

Uso del sistema de administración de paquetes conda

!conda install --yes scrapy

Para utilizar una versión diferente de un módulo de Python en el tiempo de ejecución del notebook en el que está trabajando, indique el número de la versión en el comando.

Debe reiniciar el kernel después de ejecutar un comando conda para que su nuevo paquete esté disponible.

Por ejemplo, un paquete determinado está disponible en ambos tiempos de ejecución de notebook en la versión 1.5, pero usted quiere usar una herramienta introducida en la versión 1.6. Para que la versión 1.6 del paquete esté disponible durante una sesión de notebook, ejecute una celda del notebook con uno de los siguientes comandos, en función del sistema de administración de paquetes que esté utilizando:

Uso del sistema de administración de paquetes conda

!conda install --yes <package name>==1.6

Crear una imagen de contenedor personalizada

Para realizar cambios persistentes en el tiempo de ejecución de un notebook, puede crear una imagen de contenedor personalizada en un sitio. El siguiente flujo de trabajo, que necesita privilegios administrativos, crea una imagen personalizada y configura ArcGIS Notebook Server para que la utilice.

Use uno de los dos tiempos de ejecución del notebook (Standard o Advanced) como punto de partida. Cuando haya creado su tiempo de ejecución personalizado, puede registrarlo como nuevo tiempo de ejecución en su sitio.

  1. Instale y configure ArcGIS Notebook Server.
  2. Inicie sesión en el Directorio de administrador de ArcGIS Notebook Server como administrador.

    La URL está en el formato https://notebookserver.domain.com:11443/arcgis/admin/.

  3. Haga clic en notebooks > tiempos de ejecución y seleccione el tiempo de ejecución del notebook que desea ampliar para su imagen personalizada.

    En la página de recursos del tiempo de ejecución, anote el valor de imageId para este tiempo de ejecución. Deberá incluir este valor en el siguiente paso.

  4. Cree un Dockerfile que agregue los módulos de Python que desee a la imagen personalizada.

    Un Dockerfile es un archivo de texto sencillo con instrucciones para crear una imagen de contenedor de Docker. Consulte la documentación de Dockerfile para obtener información y conocer las prácticas recomendadas.

    En este ejemplo, agregará el paquete graphviz de visualización de datos de Python al tiempo de ejecución Advanced del notebook. El siguiente bloque de código en su Dockerfile ordena a Docker que acceda al tiempo de ejecución Advanced con su nombre repository y tag y que instale graphviz en el tiempo de ejecución. Puede obtener el nombre repository y tag usando el comando docker images en un equipo ArcGIS Notebook Server donde esté instalado este tiempo de ejecución. Para reducir el tamaño del archivo se recomienda el comando conda clean.

    Utilice el comando docker images para obtener el nombre de la imagen (repositorio) y la etiqueta para un tiempo de ejecución de notebook existente.

    
    docker images
    
    REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
    arcgis-notebook-python-advanced   10.8.1.14362        e46a81f69ea0        12 months ago       12.4GB
    arcgis-notebook-python-standard   10.8.1.14362        106a660a4d0b        12 months ago       7.51GB

    Cree un tiempo de ejecución personalizado agregando el paquete de visualización de datos Python graphviz al tiempo de ejecución de notebook Advanced.

    # Specify the existing notebook runtime imageId as FROM
    FROM arcgis-notebook-python-advanced:10.8.1.14362
    
    # Use RUN to issue a command to install, then clean
    RUN conda install graphviz \
      && conda clean -y -a
  5. Guarde su Dockerfile en el equipo, en una carpeta nueva que solo contenga ese archivo.
  6. Cree una imagen de contenedor personalizada utilizando un comando Docker.

    Esta imagen contendrá un nuevo tiempo de ejecución según lo especificado en el Dockerfile. Abra un terminal y ejecute un comando con la siguiente sintaxis:

    docker build -t arcgis-notebook-python-advanced-custom:10.8.1.14362 -f /data/DockerfileDir/Dockerfile .
    Nota:

    Asegúrese de incluir el punto al final del comando.

    Al ejecutar el comando, Docker crea la nueva imagen de contenedor. La última línea de la salida del comando será Successfully built <imageId> con el valor de id. abreviado de la nueva imagen. Debe indicar su sitio de ArcGIS Notebook Server con el valor completo de imageId.

  7. Ejecute el siguiente comando en su terminal para obtener el valor de Id. de imagen:

    docker inspect <imageId>

    Si tiene un sitio Notebook Server con un único equipo, puede omitir los pasos del 8 al 10. Si tiene un sitio Notebook Server con varios equipos, complete los pasos del 8 al 10.

  8. Guarde la imagen Docker personalizada como un archivo *.tar con docker save.

    Abra una ventana de comando en el equipo Notebook Server donde está instalada la imagen de tiempo de ejecución personalizada y ejecute el siguiente comando para guardar la imagen de tiempo de ejecución personalizada como un archivo *.tar.

     docker save arcgis-notebook-python-advanced-custom:10.8.1.14362 > arcgis-notebook-python-advanced-custom.tar

  9. En cada equipo donde esté instalado Notebook Server, cargue la imagen de tiempo de ejecución personalizada usando la utilidad de postinstalación de ArcGIS Notebook Server.
    1. Abra una ventana de comando como administrador.
    2. Cambie los directorios a la carpeta de la utilidad de postinstalación de ArcGIS Notebook Server.

      La ruta predeterminada es ${HOME}/arcgis/notebookserver/tools/postInstallUtility.

    3. Instale la imagen de Docker personalizada especificando su ruta de archivo.

       ./PostInstallUtility.sh -l <path of .tar Custom Docker image>

  10. Repita el paso 9 en cada equipo participante en su sitio de ArcGIS Notebook Server.

Ya se ha creado su imagen personalizada y tiene su valor de imageId al completo, que utilizará para registrarlo con el sitio de ArcGIS Notebook Server en la sección siguiente.

Registrar un nuevo tiempo de ejecución en Manager

A partir de 10.8, puede utilizar ArcGIS Notebook Server Manager para registrar un tiempo de ejecución personalizado que haya creado.

  1. Inicie sesión en su portal de ArcGIS Enterprise como administrador y abra ArcGIS Notebook Server Manager.
  2. Abra la página Configuración y haga clic en Tiempos de ejecución.
  3. Haga clic en Registrar tiempo de ejecución para abrir el cuadro de diálogo de registro.
  4. Especifique los valores adecuados para completar el registro.

    ParámetroDetalles

    Nombre

    Una cadena para representar el nuevo tiempo de ejecución, por ejemplo, "Notebook Custom Runtime Python 3".

    Tipo de contenedor

    El único valor válido es docker.

    CPU máx.

    El número máximo de CPU que se deben utilizar para cada contenedor.

    Se requieren privilegios avanzados

    Active el botón de alternancia si el tiempo de ejecución requiere el privilegio Notebooks avanzados.

    Id. de imagen

    Id. completo (no truncado) para la nueva imagen de Docker, cuando se creó.

    Docker runtime

    Solo se aplica a los tiempos de ejecución de GPU en entornos Linux.

    Más información sobre ArcGIS Notebook Server y las GPU.

    Memoria máx.

    La cantidad máxima de memoria que se debe utilizar para cada contenedor.

    Unidad de memoria máx.

    La unidad especificada por el parámetro maxMemory.

    Memoria de intercambio máx.

    La cantidad máxima de memoria de intercambio disponible para cada contenedor si se alcanza el límite de maxMemory.

    Unidad de memoria de intercambio máx.

    La unidad especificada por el parámetro maxSwapMemory.

    Memoria compartida

    Cantidad de memoria compartida para cada contenedor.

    Unidad de memoria compartida

    La unidad especificada por el parámetro sharedMemory.

    Manifiesto de biblioteca

    La ruta completa a un archivo *.json (en codificación UTF-8 o ANSI) que contiene la lista de bibliotecas Python del tiempo de ejecución.

    Nota:

    Para crear un archivo de manifest.json, abra un terminal en el equipo ArcGIS Notebook Server en el que se encuentra instalada la imagen de tiempo de ejecución de notebook y ejecute el comando siguiente:

    ID=$(docker container run -d --rm -it -v /:/host <custom_runtime_image_ID> /bin/bash) && docker exec -it $ID /opt/conda/bin/conda list --json >> ~/manifest.json && docker kill $ID
  5. Cuando tenga todo listo, haga clic en Guardar para registrar el nuevo tiempo de ejecución.
  6. Abra un nuevo notebook para probar esta actualización. Compruebe que los módulos o las versiones de los módulos que agregó a su imagen personalizada estén disponibles en el notebook.

Crear una imagen de tiempo de ejecución personalizada con el paquete de troncales de ArcGIS Deep Learning

ArcGIS API for Python es compatible con la capacidad de entrenar varios modelos de aprendizaje profundo, cada uno de los cuales admite sus propios modelos básicos (troncales). El metapaquete conda de arcgis_dl_backbones ofrece soporte a usuarios sin conexión porque coloca troncales en las ubicaciones necesarias de forma automática, con lo que se elimina la necesidad de descargar troncales de internet al entrenar modelos de aprendizaje profundo con ArcGIS. Realice los pasos siguientes para crear una imagen de tiempo de ejecución personalizada que incluya el metapaquete conda de arcgis_dl_backbones.

  1. Cree una carpeta nueva en su equipo de ArcGIS Notebook Server.

    /data/custom es una ubicación de ejemplo

  2. Descargue el paquete arcgis_dl_backbones.

    Consulte Instalación adicional para entornos sin conexión para obtener más información.

  3. Extraiga el paquete arcgis_dl_backbones-2.0.1-py_0.tar.bz2 en la carpeta que ha creado.
  4. Cree un archivo Docker con el siguiente contenido en la carpeta que ha creado.
    FROM arcgis-notebook-python-standard:11.1.0.42869
    USER root
    RUN mkdir -p /home/user/DUMP/arcgis_dl_backbones-2.0.1
    USER $NB_UID
    WORKDIR /home/user/DUMP/arcgis_dl_backbones-2.0.1
    COPY arcgis_dl_backbones-2.0.1-py_0.tar.bz2 /home/user/DUMP/arcgis_dl_backbones-2.0.1
    RUN conda install --offline arcgis_dl_backbones-2.0.1-py_0.tar.bz2 -y
    RUN conda clean -y -a
    WORKDIR $HOME
  5. Vaya a la carpeta que ha creado y cree una imagen de contenedor personalizada mediante el siguiente comando de Docker.
    docker build -t arcgis-notebook-python-standard-custom:11.1.0.42869 -f /data/custom/Dockerfile .
  6. Realice los pasos del 7 al 10 de la sección Registrar un nuevo tiempo de ejecución en Manager anterior para instalar esta imagen de tiempo de ejecución personalizada en los equipos de Notebook Server.

Actualizar un tiempo de ejecución personalizado tras actualizar ArcGIS Notebook Server

Realizado los pasos siguientes para personalizar un tiempo de ejecución personalizado después de actualizar ArcGIS Notebook Server.

  1. Cree una imagen de tiempo de ejecución personalizado mediante el uso de la imagen de tiempo de ejecución de notebook.
  2. Utilice la utilidad de posintalación del servidor de notebooks para instalar la nueva imagen de tiempo de ejecución en cada equipo servidor de notebooks.
  3. Registre el nuevo tiempo de ejecución mediante el uso del administrador de ArcGIS Notebook Server.
  4. En la página de detalles de los elementos de cada notebook que utilice el tiempo de ejecución personalizado, haga clic en Configuración.
  5. Verifique y actualice el tiempo de ejecución al tiempo de ejecución personalizado recién registrado para cada equipo que utilice el tiempo de ejecución personalizado.
  6. Una vez que haya confirmado que la nueva imagen de tiempo de ejecución funciona, deje de utilizar la versión anterior del tiempo de ejecución personalizado anulando el registro del tiempo de ejecución y eliminando la imagen de tiempo de ejecución de cada equipo servidor de notebooks.

Para devolver los tiempos de ejecución de su sitio de ArcGIS Notebook Server a la configuración original, utilice la operación Restaurar tiempos de ejecución de fábrica en el Directorio de administrador. Esta operación está disponible en https://notebookserver.domain.com:11443/arcgis/admin/notebooks/runtimes/restore y solo restaurará los tiempos de ejecución de fábrica de la versión actual de su sitio.