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á.
Executar pipelines usando o modo local
SageMaker O modo local do pipeline é uma maneira fácil de testar seus scripts de treinamento, processamento e inferência, bem como a compatibilidade de tempo de execução dos parâmetros do pipeline
O modo local do Pipelines aproveita o modo local de trabalhos de SageMaker IA
Atualmente, o modo local do pipeline é compatível com os seguintes tipos de etapas:
-
Etapa do modelo (somente com argumentos de criação de modelo)
Ao contrário do serviço gerenciado do Pipelines, que permite que várias etapas sejam executadas em paralelo usando a Configuração de Paralelismo
nota
O modo local do Pipelines não é compatível com algoritmos de SageMaker IA, como o XGBoost. Caso queira usar esses algoritmos, você deve usá-los no modo script
Para executar um pipeline localmente, os campos sagemaker_session associados às etapas do pipeline e ao próprio pipeline precisam ser do tipo LocalPipelineSession. O exemplo a seguir mostra como você pode definir um pipeline de SageMaker IA para ser executado localmente.
from sagemaker.core.workflow.pipeline_context import LocalPipelineSession from sagemaker.train import ModelTrainer from sagemaker.train.configs import InputData, SourceCode from sagemaker.train.configs import Compute from sagemaker.mlops.workflow.steps import TrainingStep from sagemaker.mlops.workflow.pipeline import Pipeline from sagemaker.core.helper.session_helper import get_execution_role from sagemaker.core import image_uris local_pipeline_session = LocalPipelineSession() training_image = image_uris.retrieve( framework="pytorch", region=region, version="1.8.0", py_version="py36", instance_type="ml.c5.xlarge", image_scope="training" ) pytorch_model_trainer = ModelTrainer( role=get_execution_role(), compute=Compute( instance_type="ml.c5.xlarge", instance_count=1, ), training_image=training_image, source_code=SourceCode(entry_script="./entry_point.py"), ) step = TrainingStep( name="MyTrainingStep", step_args=pytorch_model_trainer.train( input_data_config=[InputData(channel_name="training", data_source="s3://amzn-s3-demo-bucket/my-data/train")], ) ) pipeline = Pipeline( name="MyPipeline", steps=[step], sagemaker_session=local_pipeline_session ) pipeline.create( role_arn=get_execution_role(), description="local pipeline example" ) # pipeline will execute locally execution = pipeline.start() steps = execution.list_steps() training_job_name = steps['PipelineExecutionSteps'][0]['Metadata']['TrainingJob']['Arn'] step_outputs = local_pipeline_session.sagemaker_client.describe_training_job(TrainingJobName = training_job_name)
Quando estiver pronto para executar o pipeline no serviço gerenciado de SageMaker Pipelines, você pode fazer isso LocalPipelineSession substituindo o trecho de código anterior por PipelineSession (conforme mostrado na amostra de código a seguir) e executar o código novamente.
from sagemaker.workflow.pipeline_context import PipelineSession pipeline_session = PipelineSession()