設定資料輸入通道以使用 Amazon FSx for Lustre - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定資料輸入通道以使用 Amazon FSx for Lustre

了解如何使用 Amazon FSx for Lustre 作為資料來源,透過縮短資料載入時間來提高輸送量和加快訓練速度。

注意

當您使用已啟用 EFA的執行個體,例如 P4d 和 P3dn 時,請確定您在安全群組中設定適當的傳入和輸出規則。特別需要開啟這些連接埠, SageMaker 才能存取訓練任務中的 Amazon FSx 檔案系統。若要進一步了解,請參閱使用 Amazon 進行檔案系統存取控制VPC

同步 Amazon S3 和 Amazon FSx for Lustre

若要將您的 Amazon S3 連結至 Amazon FSx for Lustre 並上傳訓練資料集,請執行下列動作。

  1. 準備資料集並上傳至 Amazon S3 儲存貯體。例如,假設訓練資料集和測試資料集的 Amazon S3 路徑格式如下。

    s3://amzn-s3-demo-bucket/data/train s3://amzn-s3-demo-bucket/data/test
  2. 若要使用訓練資料建立與 Amazon S3 儲存貯體連結FSx的 for Lustre 檔案系統,請遵循 Amazon for Lustre 使用者指南 中的將檔案系統連結至 Amazon S3 儲存貯體的步驟。 FSx 請務必將端點新增至VPC允許 Amazon S3 存取的 。如需詳細資訊,請參閱建立 Amazon S3 VPC端點。當您指定資料儲存庫路徑 時,請提供包含資料集URI之資料夾的 Amazon S3 儲存貯體。例如,根據步驟 1 中的 S3 路徑範例,資料儲存庫路徑應如下所示。

    s3://amzn-s3-demo-bucket/data
  3. 建立 FSx for Lustre 檔案系統後,請執行下列命令來檢查組態資訊。

    aws fsx describe-file-systems && \ aws fsx describe-data-repository-association

    這些命令會傳回 FileSystemIdMountNameFileSystemPathDataRepositoryPath。輸出結果應如下列範例所示。

    # Output of aws fsx describe-file-systems "FileSystemId": "fs-0123456789abcdef0" "MountName": "1234abcd" # Output of aws fsx describe-data-repository-association "FileSystemPath": "/ns1", "DataRepositoryPath": "s3://amzn-s3-demo-bucket/data/"

    Amazon S3 和 Amazon 之間的同步FSx完成後,您的資料集會儲存在下列目錄中的 Amazon FSx 中。

    /ns1/train # synced with s3://amzn-s3-demo-bucket/data/train /ns1/test # synced with s3://amzn-s3-demo-bucket/data/test

將 Amazon FSx 檔案系統路徑設定為 SageMaker 訓練的資料輸入管道

下列程序會逐步引導您設定 Amazon FSx 檔案系統作為 SageMaker 訓練任務的資料來源。

Using the SageMaker Python SDK

若要將 Amazon FSx 檔案系統正確設定為資料來源,FileSystemInput請使用下列指示設定 SageMaker估算器類別和 。

  1. 設定 FileSystemInput 類別物件。

    from sagemaker.inputs import FileSystemInput train_fs = FileSystemInput( file_system_id="fs-0123456789abcdef0", file_system_type="FSxLustre", directory_path="/1234abcd/ns1/", file_system_access_mode="ro", )
    提示

    當您指定 時directory_path,請務必提供以 開頭的 Amazon FSx 檔案系統路徑MountName

  2. 使用 Amazon FSx 檔案系統的VPC組態來設定 SageMaker 估算器。

    from sagemaker.estimator import Estimator estimator = Estimator( ... role="your-iam-role-with-access-to-your-fsx", subnets=["subnet-id"], # Should be the same as the subnet used for Amazon FSx security_group_ids="security-group-id" )

    確定 SageMaker 訓練任務IAM的角色具有存取和從 Amazon 讀取的許可FSx。

  3. 使用 Amazon FSx 檔案系統執行 estimator.fit 方法啟動訓練任務。

    estimator.fit(train_fs)

若要尋找更多程式碼範例,請參閱 SageMaker Python SDK 文件 中的使用檔案系統作為訓練輸入

Using the SageMaker CreateTrainingJob API

作為CreateTrainingJob請求 的一部分JSON,設定InputDataConfig如下。

"InputDataConfig": [ { "ChannelName": "string", "DataSource": { "FileSystemDataSource": { "DirectoryPath": "/1234abcd/ns1/", "FileSystemAccessMode": "ro", "FileSystemId": "fs-0123456789abcdef0", "FileSystemType": "FSxLustre" } } } ],
提示

當您指定 時DirectoryPath,請務必提供以 開頭的 Amazon FSx 檔案系統路徑MountName