Visualice los tensores de salida de Amazon SageMaker Debugger en TensorBoard - 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.

Visualice los tensores de salida de Amazon SageMaker Debugger en TensorBoard

importante

Esta página está en desuso en favor de Amazon SageMaker with TensoBoard, que proporciona una TensorBoard experiencia integral integrada con la SageMaker formación y las funcionalidades de control de acceso del SageMaker dominio. Para obtener más información, consulte TensorBoard en Amazon SageMaker.

Utilice SageMaker Debugger para crear archivos tensoriales de salida que sean compatibles con. TensorBoard Cargue los archivos para visualizar TensorBoard y analizar sus trabajos de SageMaker entrenamiento. Debugger genera automáticamente archivos tensoriales de salida compatibles con. TensorBoard Para cualquier configuración de gancho que personalice para guardar los tensores de salida, Debugger tiene la flexibilidad de crear resúmenes escalares, distribuciones e histogramas a los que puede importar. TensorBoard

Un diagrama de arquitectura del mecanismo de almacenamiento del tensor de salida del depurador.

Puede habilitar esto pasando los objetos DebuggerHookConfig y TensorBoardOutputConfig a un estimator.

El siguiente procedimiento explica cómo guardar los escalares, los pesos y los sesgos como tensores, histogramas y distribuciones completos con los que se pueden visualizar. TensorBoard El depurador los guarda en la ruta local del contenedor de entrenamiento (la ruta predeterminada es /opt/ml/output/tensors) y los sincroniza con las ubicaciones de Amazon S3 transferidas a través de los objetos de configuración de salida del depurador.

Para guardar archivos de tensores de salida compatibles mediante Debugger TensorBoard
  1. Configure un objeto tensorboard_output_config de configuración para guardar la TensorBoard salida mediante la clase TensorBoardOutputConfig Debugger. Para el s3_output_path parámetro, especifique el depósito de S3 predeterminado de la SageMaker sesión actual o el depósito de S3 preferido. Este ejemplo no se añade el parámetro container_local_output_path, sino que se establece en la ruta local /opt/ml/output/tensors predeterminada.

    import sagemaker from sagemaker.debugger import TensorBoardOutputConfig bucket = sagemaker.Session().default_bucket() tensorboard_output_config = TensorBoardOutputConfig( s3_output_path='s3://{}'.format(bucket) )

    Para obtener información adicional, consulte el Depurador TensorBoardOutputConfig API en Amazon SageMaker Python SDK.

  2. Configure el enlace del depurador y personalice los valores de los parámetros del enlace. Por ejemplo, el siguiente código configura un enlace de depuración para guardar todas las salidas escalares cada 100 pasos en las fases de entrenamiento y 10 pasos en las fases de validación, los parámetros weights cada 500 pasos (el valor save_interval predeterminado para guardar las colecciones de tensores es 500) y los parámetros bias cada 10 pasos globales hasta que el paso global llegue a 500.

    from sagemaker.debugger import CollectionConfig, DebuggerHookConfig hook_config = DebuggerHookConfig( hook_parameters={ "train.save_interval": "100", "eval.save_interval": "10" }, collection_configs=[ CollectionConfig("weights"), CollectionConfig( name="biases", parameters={ "save_interval": "10", "end_step": "500", "save_histogram": "True" } ), ] )

    Para obtener más información acerca de la configuración del depuradorAPIs, consulte el Depurador CollectionConfig y DebuggerHookConfig APIs en Amazon Python SageMaker . SDK

  3. Construya un SageMaker estimador con los parámetros del depurador pasando por los objetos de configuración. La siguiente plantilla de ejemplo muestra cómo crear un estimador genérico. SageMaker Puede reemplazar estimator y por las clases principales Estimator de estimador y SageMaker las clases de estimador de otros marcos. Los estimadores de SageMaker marcos disponibles para esta funcionalidad son, y. TensorFlow PyTorch MXNet

    from sagemaker.estimator import Estimator estimator = Estimator( ... # Debugger parameters debugger_hook_config=hook_config, tensorboard_output_config=tensorboard_output_config ) estimator.fit()

    El estimator.fit() método inicia un trabajo de entrenamiento y Debugger escribe los archivos tensoriales de salida en tiempo real en la ruta de salida del Debugger S3 y en la ruta de salida S3. TensorBoard Para recuperar las rutas de salida, utilice los siguientes métodos de estimador:

    • Para la ruta de salida del depurador S3, utilice estimator.latest_job_debugger_artifacts_path().

    • Para la ruta de salida de TensorBoard S3, utilice. estimator.latest_job_tensorboard_artifacts_path()

  4. Una vez finalizado el entrenamiento, compruebe los nombres de los tensores de salida guardados:

    from smdebug.trials import create_trial trial = create_trial(estimator.latest_job_debugger_artifacts_path()) trial.tensor_names()
  5. Compruebe los datos TensorBoard de salida en Amazon S3:

    tensorboard_output_path=estimator.latest_job_tensorboard_artifacts_path() print(tensorboard_output_path) !aws s3 ls {tensorboard_output_path}/
  6. Descargue los datos TensorBoard de salida a la instancia de su notebook. Por ejemplo, el siguiente AWS CLI comando descarga los TensorBoard archivos /logs/fit en el directorio de trabajo actual de su instancia de notebook.

    !aws s3 cp --recursive {tensorboard_output_path} ./logs/fit
  7. Comprime el directorio de archivos en un TAR archivo para descargarlo en tu máquina local.

    !tar -cf logs.tar logs
  8. Descarga y extrae el TAR archivo de Tensorboard en un directorio de tu dispositivo, inicia un servidor de cuadernos de Jupyter, abre un cuaderno nuevo y ejecuta la aplicación. TensorBoard

    !tar -xf logs.tar %load_ext tensorboard %tensorboard --logdir logs/fit

La siguiente captura de pantalla animada ilustra los pasos 5 a 8. Muestra cómo descargar el TensorBoard TAR archivo Debugger y cómo cargarlo en un bloc de notas de Jupyter en tu dispositivo local.

Animación sobre cómo descargar y cargar el TensorBoard archivo del depurador en su máquina local.