[英]Using Lambda for data processing - Sagemaker
我創建了一個 docker 圖像,它的入口點為 processing.py。 此腳本從 /opt/ml/processing/input 獲取數據,並在處理后將其放入 /opt/ml/processing/output 文件夾。
為了處理數據,我應該將文件放在 s3 的 /opt/ml/processing/input 中,然后從 /opt/ml/processing/output 中選擇處理過的文件到 S3 中。
sagemaker 中的以下腳本正在正確執行:
from sagemaker.processing import Processor, ProcessingInput, ProcessingOutput
import sagemaker
input_data = 's3://sagemaker-ap-south-1-057036842446/sagemaker/Data/Training/Churn_Modelling.csv'
output_dir = 's3://sagemaker-ap-south-1-057036842446/sagemaker/Outputs/'
image_uri = '057036842446.dkr.ecr.ap-south-1.amazonaws.com/aws-docker-repo:latest'
aws_role = sagemaker.get_execution_role()
processor = Processor(image_uri= image_uri, role=aws_role, instance_count=1, instance_type="ml.m5.xlarge")
processor.run(
inputs=[
ProcessingInput(
source=input_data,
destination='/opt/ml/processing/input'
)
],
outputs=[
ProcessingOutput(
source='/opt/ml/processing/output',
destination=output_dir
)
]
)
有人可以指導如何使用 lambda function 執行此操作嗎? 它無法識別 sagemaker package,其次,在腳本執行之前放置文件並選擇已處理的文件存在挑戰。
我正在嘗試使用 codepipeline 來自動執行此操作。 但是沒有成功。
不確定如何將 S3 中的圖像放入腳本內部使用的文件夾中
我需要知道 S3 處理步驟如何從 /opt/ml/processing/input 中選取數據
如果您想從 Lambda 開始處理作業,您可以使用 boto3 進行CreateProcessingJob
API 調用: https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker。 Client.create_processing_job
我建議像您使用 SageMaker SDK 一樣創建作業。創建后,您可以使用DescribeProcessingJob
API 調用描述作業:
然后,您可以使用DescribeProcessingJob
API 調用 output 中的信息填寫 Lambda 中的CreateProcessingJob
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.