本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要在需要比本機可用硬體更強大的大型資料集上執行特徵處理器,您可以使用@remote
裝飾器來裝飾程式碼,將本機 Python 程式碼當做單一或多節點分散式 SageMaker 訓練工作執行。如需將程式碼做為 SageMaker 訓練工作執行的詳細資訊,請參閱以 SageMaker 訓練工作方式執行本機代碼。
以下是 @remote
裝飾器和 @feature_processor
裝飾器的使用範例。
from sagemaker.remote_function.spark_config import SparkConfig
from sagemaker.remote_function import remote
from sagemaker.feature_store.feature_processor import CSVDataSource, feature_processor
CSV_DATA_SOURCE = CSVDataSource('s3://bucket/prefix-to-csv/')
OUTPUT_FG = 'arn:aws:sagemaker:us-east-1:123456789012:feature-group/feature-group'
@remote(
spark_config=SparkConfig(),
instance_type="ml.m5.2xlarge",
dependencies="/local/requirements.txt"
)
@feature_processor(
inputs=[CSV_DATA_SOURCE],
output=OUTPUT_FG,
)
def transform(csv_input_df):
return csv_input_df
transform()
此spark_config
參數指出遠端工作以 Spark 應用程式的形式執行。該SparkConfig
執行個體可用於配置 Spark 組態,並提供額外的相依性到 Spark 應用程式,如 Python 文件、JAR 和文件。
為了在開發特徵處理代碼時更快地迭代,您可以在@remote
裝飾器中指定keep_alive_period_in_seconds
引數,以將設定的資源保留在暖集區中,以供後續訓練任務使用。如需有關暖集區的更多資訊,請參閱 API 參考指南中的 KeepAlivePeriodInSeconds
。
以下是本機 requirements.txt:
範例
sagemaker>=2.167.0
這將在遠端任務中安裝對應的 SageMaker AI SDK 版本,這是執行 註釋的方法所需的@feature-processor
。