Solución de problemas de notebooks

No sucede nada cuando hago clic en “Abrir JupyterLab”

Verifica que tu navegador no bloquee las pestañas emergentes. JupyterLab se abre en una pestaña del navegador nueva.

No puedo acceder a JupyterLab mediante un proxy

La configuración de la instancia de AI Platform Notebooks, la configuración de la red y otros factores pueden impedir el acceso a JupyterLab mediante un proxy. Usa SSH para conectarte a JupyterLab y obtener más información sobre los posibles motivos que podrían impedirte acceder mediante un proxy.

La descarga de archivos de JupyterLab produce un error 403 (Prohibido)

El paquete “notebook” de la versión M23 de VM de aprendizaje profundo incluye un error que impide descargar un archivo mediante la IU de JupyterLab. Puedes leer más sobre el error en las siguientes conversaciones de GitHub: Cannot download files after JL update (No se puede descargar archivos después de la actualización de JL) y Download file functionality is broken in notebook packages version 5.7.6+ (5.7.7, 5.7.8) (La función de descarga de archivos no funciona en paquetes de notebook versión 5.7.6+ (5.7.7, 5.7.8).

Si usas la versión M23 de la VM de aprendizaje profundo, puedes resolver el problema de dos maneras:

  • Utiliza un navegador Safari. La funcionalidad de descarga funciona para Safari.

  • Regresa a la versión 5.7.5 del paquete de notebook.

    Para regresar a una versión anterior de tu paquete de notebook, haz lo siguiente:

    1. Conéctate a la VM de aprendizaje profundo mediante SSH. Para obtener información sobre cómo conectarte a una VM mediante SSH, consulta Conéctate a instancias.

    2. Ejecuta los siguientes comandos:

      sudo pip3 install notebook==5.7.5
      sudo service jupyter restart
      

Cuando abres un notebook, se produce un error 403 (Prohibido)

Cuando haces clic en Abrir JupyterLab para abrir un notebook, el notebook se abre en una nueva pestaña del navegador. Si accediste a más de una Cuenta de Google, la pestaña nueva se abre con tu Cuenta de Google predeterminada. Si no creaste tu instancia de notebook con tu Cuenta de Google predeterminada, la pestaña del navegador nueva mostrará un error 403 (Forbidden).

Para resolver el problema, sigue estos pasos:

  1. Asegúrate de que tu Cuenta de Google, es decir, la cuenta a la que habías accedido cuando creaste la instancia de notebook, tenga permiso de Editor.

    Console

    1. Abre la página de IAM en Cloud Console.

      Abrir la página de IAM

    2. Verifica que tu cuenta esté en la función de editor.
    3. De lo contrario, edita tu cuenta y agrégala a la función de editor.

    Para obtener más información, consulta Otorga, cambia y revoca el acceso a los recursos en la documentación de Cloud IAM.

    gcloud

    1. Si aún no lo hiciste, instala la herramienta de línea de comandos de gcloud.

    2. Agrega la función de roles/editor a tu cuenta con el siguiente comando. Reemplaza project-id por el ID del proyecto de GCP y reemplaza your-google-account por el nombre de la Cuenta de Google. Por ejemplo sample-user@gmail.com.

      gcloud projects add-iam-policy-binding project-id \
      --member user:your-google-account \
      --role roles/editor
      
  2. Abre una nueva instancia del navegador y accede a una sola Cuenta de Google (la cuenta a la que accediste cuando creaste la instancia de notebook). Abre el notebook de JupyterLab desde esta instancia del navegador nueva.

Se superó la cuota de GPU

Determina la cantidad de GPU disponibles en el proyecto. Para hacerlo, verifica la página de cuotas. Si las GPU no están enumeradas en la página de cuotas o si necesitas obtener más cuota de GPU, puedes solicitar un aumento de cuota. Consulta Solicita un aumento de la cuota en la página Cuotas de recursos de Compute Engine.

No se crea un notebook nuevo (permisos insuficientes)

Por lo general, se tarda aproximadamente un minuto crear una instancia de notebook. Si tu nueva instancia de notebook permanece en estado "pendiente" indefinidamente, podría deberse a que la cuenta de servicio utilizada para iniciar la instancia de notebook no tiene el permiso de Editor requerido en tu proyecto de Google Cloud Platform (GCP).

Puedes iniciar una instancia de notebook con una cuenta de servicio personalizada que crees o en modo de usuario único con un ID de usuario. Si inicias una instancia de notebook en modo de usuario único, tu instancia de notebook comienza el proceso de inicio con la cuenta de servicio predeterminada de Compute Engine antes de pasar el control a tu ID de usuario.

Para verificar que una cuenta de servicio tenga los permisos apropiados, sigue estos pasos:

Console

  1. Abre la página de IAM en Cloud Console.

    Abrir la página de IAM

  2. Determina la cuenta de servicio que se usó con la instancia de notebook, que es una de las siguientes opciones:

    • Una cuenta de servicio personalizada que especificaste cuando creaste tu instancia de notebook.

    • La cuenta de servicio predeterminada de Compute Engine para el proyecto de GCP, que se usa cuando inicias la instancia de notebook en modo de usuario único. La cuenta de servicio predeterminada de Compute Engine del proyecto de GCP se llama project-number-compute@developer.gserviceaccount.com. Por ejemplo: 113377992299-compute@developer.gserviceaccount.com.

  3. Verifica que tu cuenta de servicio esté en la función de editor.

  4. Si no lo está, edita la cuenta de servicio y agrégala a la función de editor.

Para obtener más información, consulta Otorga, cambia y revoca el acceso a los recursos en la documentación de Cloud IAM.

gcloud

  1. Si aún no lo hiciste, instala la herramienta de línea de comandos de gcloud.

  2. Obtén el nombre y el número de proyecto de tu proyecto de GCP mediante el siguiente comando. Reemplaza project-id por el ID del proyecto de GCP.

    gcloud projects describe project-id
    

    Deberías ver un resultado similar al siguiente, que muestra el nombre (name:) y el número (projectNumber:) del proyecto.

    createTime: '2018-10-18T21:03:31.408Z'
    lifecycleState: ACTIVE
    name: my-project-name
    parent:
     id: '396521612403'
     type: folder
    projectId: my-project-id-1234
    projectNumber: '113377992299'
    
  3. Determina la cuenta de servicio que se usó con la instancia de notebook, que es una de las siguientes opciones:

    • Una cuenta de servicio personalizada que especificaste cuando creaste tu instancia de notebook.

    • La cuenta de servicio predeterminada de Compute Engine para el proyecto de GCP, que se usa cuando inicias la instancia de notebook en modo de usuario único. La cuenta de servicio predeterminada de Compute Engine del proyecto de GCP se llama project-number-compute@developer.gserviceaccount.com. Por ejemplo: 113377992299-compute@developer.gserviceaccount.com.

  4. Agrega la función de roles/editor a la cuenta de servicio con el siguiente comando. Reemplaza project-name por el nombre del proyecto y service-account-id por el ID de la cuenta de servicio de la instancia de notebook.

    gcloud projects add-iam-policy-binding project-name \
     --member serviceAccount:service-account-id \
     --role roles/editor
    

Reinicia el servicio de Jupyter

Para reiniciar el servicio de Jupyter, puedes detener y volver a iniciar la VM en la página Instancias de notebook o puedes acceder a la instancia de notebook a través de SSH y, luego, ingresar la siguiente información:

sudo service jupyter restart