本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon SageMaker Python SDK 中使用 HuggingFaceProcessor 的代码示例
Hugging Face 是自然语言处理 (NLP) 模型的开源提供商。Amazon SageMaker Python SDK 中的 HuggingFaceProcessor 为您提供了使用 Hugging Face 脚本运行处理作业的功能。在使用 HuggingFaceProcessor 时,您可以利用 Amazon 构建的 Docker 容器和托管的 Hugging Face 环境,这样您便无需自带容器。
以下代码示例显示了如何使用 HuggingFaceProcessor 以及 SageMaker AI 提供并维护的 Docker 映像运行处理作业。请注意,在运行作业时,您可以在 source_dir 参数中指定包含脚本和依赖关系的目录,并且可以在 source_dir 目录中有一个 requirements.txt 文件以指定处理脚本的依赖项。SageMaker Processing 会在容器的 requirements.txt 中为您安装依赖项。
from sagemaker.huggingface import HuggingFaceProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput from sagemaker import get_execution_role #Initialize the HuggingFaceProcessor hfp = HuggingFaceProcessor( role=get_execution_role(), instance_count=1, instance_type='ml.g4dn.xlarge', transformers_version='4.4.2', pytorch_version='1.6.0', base_job_name='frameworkprocessor-hf' ) #Run the processing job hfp.run( code='processing-script.py', source_dir='scripts', inputs=[ ProcessingInput( input_name='data', source=f's3://{BUCKET}/{S3_INPUT_PATH}', destination='/opt/ml/processing/input/data/' ) ], outputs=[ ProcessingOutput(output_name='train', source='/opt/ml/processing/output/train/', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'), ProcessingOutput(output_name='test', source='/opt/ml/processing/output/test/', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}'), ProcessingOutput(output_name='val', source='/opt/ml/processing/output/val/', destination=f's3://{BUCKET}/{S3_OUTPUT_PATH}') ] )
如果您有 requirements.txt 文件,它应该是您要在容器中安装的库的列表。source_dir 的路径可以是相对路径、绝对路径或 Amazon S3 URI 路径。但是,如果您使用 Amazon S3 URI,则路径必须指向 tar.gz 文件。在您为 source_dir 指定的目录中可以有多个脚本。要了解有关 HuggingFaceProcessor 类的更多信息,请参阅《Amazon SageMaker AI Python SDK》中的 Hugging Face 估算器