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{
. contendo resultadosNotebookJobOutputLocationPrefix
}/{training-job-name
}/output/output.tar.gz -
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:
-
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
" ) -
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 keykey2
(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" } )