本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Hugging Face 是自然語言處理 (NLP) 模型的開放原始碼供應商。Amazon SageMaker Python SDK 中的 HuggingFaceProcessor
提供您使用 Hugging Face 指令碼執行處理任務的能力。當您使用 HuggingFaceProcessor
時,可以利用 Amazon 建置的 Docker 容器與受管 Hugging Face 環境,這樣就不必使用自己的容器。
下列程式碼範例示範如何使用 SageMaker AI 提供的 Docker 映像來執行HuggingFaceProcessor
處理任務。請注意,執行任務時,您可以在 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 Estimator