def main(argv=None): parser = create_parser() args = parser.parse_args(argv) logging.getLogger().setLevel(logging.INFO) client = _utils.get_sagemaker_client(args.region, args.endpoint_url) logging.info('Submitting Processing Job to SageMaker...') job_name = _utils.create_processing_job(client, vars(args)) logging.info('Job request submitted. Waiting for completion...') try: _utils.wait_for_processing_job(client, job_name) except: raise finally: cw_client = _utils.get_cloudwatch_client(args.region) _utils.print_logs_for_job(cw_client, '/aws/sagemaker/ProcessingJobs', job_name) outputs = _utils.get_processing_job_outputs(client, job_name) with open('/tmp/job_name.txt', 'w') as f: f.write(job_name) with open('/tmp/output_artifacts.txt', 'w') as f: f.write(json.dumps(outputs)) logging.info('Job completed.')
def main(argv=None): parser = create_parser() args = parser.parse_args(argv) logging.getLogger().setLevel(logging.INFO) client = _utils.get_sagemaker_client(args.region, args.endpoint_url) logging.info('Submitting Training Job to SageMaker...') job_name = _utils.create_training_job(client, vars(args)) def signal_term_handler(signalNumber, frame): _utils.stop_training_job(client, job_name) logging.info(f"Training Job: {job_name} request submitted to Stop") signal.signal(signal.SIGTERM, signal_term_handler) logging.info('Job request submitted. Waiting for completion...') try: _utils.wait_for_training_job(client, job_name) _utils.wait_for_debug_rules(client, job_name) except: raise finally: cw_client = _utils.get_cloudwatch_client(args.region) _utils.print_logs_for_job(cw_client, '/aws/sagemaker/TrainingJobs', job_name) image = _utils.get_image_from_job(client, job_name) model_artifact_url = _utils.get_model_artifacts_from_job(client, job_name) logging.info('Get model artifacts %s from training job %s.', model_artifact_url, job_name) _utils.write_output(args.model_artifact_url_output_path, model_artifact_url) _utils.write_output(args.job_name_output_path, job_name) _utils.write_output(args.training_image_output_path, image) logging.info('Job completed.')
def main(argv=None): parser = create_parser() args = parser.parse_args(argv) logging.getLogger().setLevel(logging.INFO) client = _utils.get_sagemaker_client(args.region, args.endpoint_url) logging.info('Submitting Training Job to SageMaker...') job_name = _utils.create_training_job(client, vars(args)) logging.info('Job request submitted. Waiting for completion...') try: _utils.wait_for_training_job(client, job_name) except: raise finally: cw_client = _utils.get_cloudwatch_client(args.region) _utils.print_logs_for_job(cw_client, '/aws/sagemaker/TrainingJobs', job_name) image = _utils.get_image_from_job(client, job_name) model_artifact_url = _utils.get_model_artifacts_from_job(client, job_name) logging.info('Get model artifacts %s from training job %s.', model_artifact_url, job_name) with open('/tmp/model_artifact_url.txt', 'w') as f: f.write(model_artifact_url) with open('/tmp/job_name.txt', 'w') as f: f.write(job_name) with open('/tmp/training_image.txt', 'w') as f: f.write(image) logging.info('Job completed.')
def main(argv=None): parser = create_parser() args = parser.parse_args(argv) logging.getLogger().setLevel(logging.INFO) client = _utils.get_sagemaker_client(args.region, args.endpoint_url, assume_role_arn=args.assume_role) logging.info('Submitting Batch Transformation request to SageMaker...') batch_job_name = _utils.create_transform_job(client, vars(args)) def signal_term_handler(signalNumber, frame): _utils.stop_transform_job(client, batch_job_name) logging.info( f"Transform job: {batch_job_name} request submitted to Stop") signal.signal(signal.SIGTERM, signal_term_handler) logging.info('Batch Job request submitted. Waiting for completion...') try: _utils.wait_for_transform_job(client, batch_job_name) except: raise finally: cw_client = _utils.get_cloudwatch_client( args.region, assume_role_arn=args.assume_role) _utils.print_logs_for_job(cw_client, '/aws/sagemaker/TransformJobs', batch_job_name) _utils.write_output(args.output_location_output_path, args.output_location) logging.info('Batch Transformation creation completed.')
def main(argv=None): parser = create_parser() args = parser.parse_args(argv) logging.getLogger().setLevel(logging.INFO) client = _utils.get_sagemaker_client(args.region, args.endpoint_url) logging.info('Submitting Batch Transformation request to SageMaker...') batch_job_name = _utils.create_transform_job(client, vars(args)) logging.info('Batch Job request submitted. Waiting for completion...') try: _utils.wait_for_transform_job(client, batch_job_name) except: raise finally: cw_client = _utils.get_cloudwatch_client(args.region) _utils.print_logs_for_job(cw_client, '/aws/sagemaker/TransformJobs', batch_job_name) _utils.write_output(args.output_location_output_path, args.output_location) logging.info('Batch Transformation creation completed.')
def main(argv=None): parser = create_parser() args = parser.parse_args(argv) logging.getLogger().setLevel(logging.INFO) client = _utils.get_sagemaker_client(args.region, args.endpoint_url, assume_role_arn=args.assume_role) logging.info('Submitting Processing Job to SageMaker...') job_name = _utils.create_processing_job(client, vars(args)) def signal_term_handler(signalNumber, frame): logging.info(f"Stopping Processing Job: {job_name}") _utils.stop_processing_job(client, job_name) logging.info(f"Processing Job: {job_name} request submitted to Stop") signal.signal(signal.SIGTERM, signal_term_handler) logging.info('Job request submitted. Waiting for completion...') try: _utils.wait_for_processing_job(client, job_name) except: raise finally: cw_client = _utils.get_cloudwatch_client( args.region, assume_role_arn=args.assume_role) _utils.print_logs_for_job(cw_client, '/aws/sagemaker/ProcessingJobs', job_name) outputs = _utils.get_processing_job_outputs(client, job_name) _utils.write_output(args.job_name_output_path, job_name) _utils.write_output(args.output_artifacts_output_path, outputs, json_encode=True) logging.info('Job completed.')