import sagemaker import logging import boto3 from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput, FrameworkProcessor from sagemaker import get_execution_role from sagemaker.network import NetworkConfig role = get_execution_role() bucket = 'dev-cucumbers' sagemaker_session = sagemaker.session.Session(default_bucket = bucket) vpc_network_config = NetworkConfig( enable_network_isolation=False, security_group_ids=['sg-0363bd1722cdd35da'], subnets=['subnet-b649dfef', 'subnet-44c19a21'], encrypt_inter_container_traffic=True ) script_processor = ScriptProcessor( image_uri='683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-scikit-learn:0.20.0-cpu-py3', sagemaker_session=sagemaker_session, role=role, instance_count=1, instance_type= 'ml.c5.18xlarge', # 'ml.t3.medium', #'ml.c5.4xlarge', 'ml.c5.18xlarge', command=['python3'], base_job_name="ProcessingJob", network_config=vpc_network_config ) destination = '/opt/ml/processing/input' run_id = '20241120_PATTERN_DETECTION' CHUNK_COUNT=1 FOLDER = 'eimpara/pipelines/moments' script1='/home/ec2-user/SageMaker/ml-collab/eimpara/Moments/ML_pipeline/manual_pattern_detection/regression_script.py' logging.info(f"Running: {script1}") for chunk_id in range(CHUNK_COUNT): script_processor.run( code=script1, arguments = ['--dry-run', 'False', '--run-id', str(run_id), '--folder', FOLDER, '--chunk-count', str(CHUNK_COUNT), '--chunk-id', str(chunk_id), ], inputs=[ ProcessingInput( source='s3://dev-cucumbers/eimpara/requirements-OLS.txt', destination = '/opt/ml/processing/input/dependencies' ) ], outputs=[ ProcessingOutput( source='/opt/ml/processing/output', destination=destination, output_name="Master_output", ), ] )