Passe informações de e para o seu caderno, etapa - 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á.

Passe informações de e para o seu caderno, etapa

As seções a seguir descrevem maneiras de passar informações para seu notebook como variáveis e parâmetros de ambiente.

Passe variáveis de ambiente

Passe variáveis de ambiente como um dicionário para o environment_variable argumento do seuNotebookJobStep, conforme mostrado no exemplo a seguir:

environment_variables = {"RATE": 0.0001, "BATCH_SIZE": 1000} notebook_job_step = NotebookJobStep( ... environment_variables=environment_variables, ... )

Você pode usar as variáveis de ambiente no notebook usandoos.getenv(), conforme mostrado no exemplo a seguir:

# inside your notebook import os print(f"ParentNotebook: env_key={os.getenv('env_key')}")

Parâmetros de passagem

Ao passar parâmetros para a primeira etapa do Notebook Job em sua NotebookJobStep instância, você pode, opcionalmente, marcar uma célula em seu notebook Jupyter para indicar onde aplicar novos parâmetros ou substituições de parâmetros. Para obter instruções sobre como marcar uma célula em seu notebook Jupyter, consulte. Parametrize seu caderno

Você passa os parâmetros por meio do parameters parâmetro da etapa do Notebook Job, conforme mostrado no seguinte trecho:

notebook_job_parameters = { "company": "Amazon", } notebook_job_step = NotebookJobStep( ... parameters=notebook_job_parameters, ... )

Dentro do seu caderno de entrada, seus parâmetros são aplicados após a célula marcada com parameters ou no início do caderno, se você não tiver uma célula marcada.

# this cell is in your input notebook and is tagged with 'parameters' # your parameters and parameter overrides are applied after this cell company='default'
# in this cell, your parameters are applied # prints "company is Amazon" print(f'company is {company}')

Recuperar informações de uma etapa anterior

A discussão a seguir explica como você pode extrair dados de uma etapa anterior para passar para a etapa Notebook Job.

Usar properties atributo

Você pode usar as seguintes propriedades com o properties atributo da etapa anterior:

  • ComputingJobName—O nome do trabalho de treinamento

  • ComputingJobStatus—O status do trabalho de treinamento

  • NotebookJobInputLocation—A localização de entrada do Amazon S3

  • NotebookJobOutputLocationPrefix—O caminho para os resultados do seu trabalho de treinamento, mais especificamente{NotebookJobOutputLocationPrefix}/{training-job-name}/output/output.tar.gz. contendo resultados

  • InputNotebookName—O nome do arquivo do notebook de entrada

  • OutputNotebookName— O nome do arquivo do notebook de saída (que pode não existir na pasta de saída do trabalho de treinamento se o trabalho falhar)

O trecho de código a seguir mostra como extrair parâmetros do atributo properties.

notebook_job_step2 = NotebookJobStep( .... parameters={ "step1_JobName": notebook_job_step1.properties.ComputingJobName, "step1_JobStatus": notebook_job_step1.properties.ComputingJobStatus, "step1_NotebookJobInput": notebook_job_step1.properties.NotebookJobInputLocation, "step1_NotebookJobOutput": notebook_job_step1.properties.NotebookJobOutputLocationPrefix, }

Use JsonGet

Se você quiser passar parâmetros diferentes dos mencionados anteriormente e as JSON saídas da etapa anterior residirem no Amazon S3, use. JsonGet JsonGeté um mecanismo geral que pode extrair dados diretamente de JSON arquivos no Amazon S3.

Para extrair JSON arquivos no Amazon S3 comJsonGet, conclua as seguintes etapas:

  1. Faça o upload JSON do seu arquivo para o Amazon S3. Se seus dados já tiverem sido enviados para o Amazon S3, pule esta etapa. O exemplo a seguir demonstra o upload de um JSON arquivo para o Amazon S3.

    import json from sagemaker.s3 import S3Uploader output = { "key1": "value1", "key2": [0,5,10] } json_output = json.dumps(output) with open("notebook_job_params.json", "w") as file: file.write(json_output) S3Uploader.upload( local_path="notebook_job_params.json", desired_s3_uri="s3://path/to/bucket" )
  2. Forneça seu S3 URI e o JSON caminho para o valor que você deseja extrair. No exemplo a seguir, JsonGet retorna um objeto representando o índice 2 do valor associado a key key2 (10).

    NotebookJobStep( .... parameters={ # the key job_key1 returns an object representing the value 10 "job_key1": JsonGet( s3_uri=Join(on="/", values=["s3:/", ..]), json_path="key2[2]" # value to reference in that json file ), "job_key2": "Amazon" } )