本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建批量推理作业
创建批量推理作业,根据 Amazon S3 的输入数据获取针对用户的批量物品建议。输入数据可以是用户列表或项目(或两者)的JSON格式。您可以使用 Amazon Personalize 控制台 Amazon Command Line Interface (Amazon CLI) 或 Amazon SDKs创建批量推理作业。
创建批量推理作业时,您可以指定输入和输出位置的 Amazon S3 路径。Amazon S3 基于前缀。如果您为输入数据位置提供前缀,则 Amazon Personalize 会使用与该前缀匹配的所有文件作为输入数据。例如,如果您提供 s3://amzn-s3-demo-bucket/folderName
且存储桶中还有一个路径为 s3://amzn-s3-demo-bucket/folderName_test
的文件夹,则 Amazon Personalize 会使用两个文件夹中的所有文件作为输入数据。要仅使用特定文件夹中的文件作为输入数据,请使用前缀分隔符作为 Amazon S3 路径的结尾,例如 /
: s3://amzn-s3-demo-bucket/folderName/
。有关 Amazon S3 如何组织对象的更多信息,请参阅组织、列出和处理您的对象。
有关 Amazon Personalize 中批量工作流程的更多信息(包括权限要求、建议评分以及准备和导入输入数据),请参阅使用自定义资源获取批量项目推荐。
创建批量推理作业(控制台)
完成为批量建议准备输入数据后,就可以创建批量推理作业了。此过程假定您已创建了一个解决方案和一个解决方案版本(经过训练的模型)。
创建批量推理作业(控制台)
-
在https://console.aws.amazon.com/personalize/家
中打开 Amazon Personalize 控制台并登录您的账户。 -
在数据集组页面,选择您的数据集组。
-
在导航窗格的自定义资源下,选择批量推理作业。
-
选择创建批量推理作业。
-
选择批量推理作业类型。
-
要生成不带主题的物品建议,请选择物品建议。
-
如果您使用 Similar-Items 配方并想向相似物品组添加描述性主题,请选择内容生成器中带有主题的建议。要生成主题,必须有一个包含物品名称数据和文本数据的物品数据集。有关更多信息,请参阅 内容生成器中带有主题的批量建议。
-
-
在批量推理作业详细信息的批量推理作业名称中,指定批量推理作业的名称。
-
对于解决方案,选择解决方案,然后选择要用于生成建议的解决方案版本 ID。
-
对于结果数量,可以选择为每行输入数据指定建议的数量。默认值为 25。
-
如果您的批处理作业生成了带有主题的建议,请在带有主题的建议详细信息中,选择物品数据集中包含物品名称或标题的列。这些数据可以帮助生成更相关的主题。有关更多信息,请参阅 内容生成器中带有主题的批量建议。
-
在输入源中,指定输入文件的 Amazon S3 路径。
使用以下语法:
s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
您的输入数据必须采用与您的解决方案使用的食谱对应的正确格式。有关输入数据的示例,请参阅Batch 推理作业输入和输出示例 JSON。
-
对于解密密钥,如果您使用自己的密 Amazon KMS 钥进行存储桶加密,请指定密钥的 Amazon 资源名称 (ARN)。Amazon Personalize 必须拥有使用您的密钥的权限 有关授予权限的信息,请参阅向 Amazon Personalize 授予使用您 Amazon KMS 密钥的权限。
-
在输出目标中,指定输出位置的路径。我们建议使用不同的输出数据位置(文件夹或其他 Amazon S3 存储桶)。
使用以下语法:
s3://amzn-s3-demo-bucket/<output folder name>/
-
对于加密密钥,如果您使用自己的 Amazon KMS 密钥进行加密,请指定您的密钥。ARNAmazon Personalize 必须拥有使用您的密钥的权限 有关授予权限的信息,请参阅向 Amazon Personalize 授予使用您 Amazon KMS 密钥的权限。
-
对于IAM服务角色,请选择您在设置过程中为 Amazon P IAM ersonalize 创建的服务角色。此角色必须分别对您的输入和输出 Amazon S3 存储桶具有读写权限。
-
在筛选条件中,(可选)选择一个筛选条件,以将筛选条件应用于批量建议。如果您的过滤器使用占位符参数,请确保这些参数的值包含在您的输入JSON中。有关更多信息,请参阅 在输入中提供筛选器值 JSON。
-
对于标签,可以选择添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参阅为 Amazon Personalize 资源添加标签。
-
选择创建批量推理作业。此时将开始创建批量推理作业,批量推理作业页面将显示,并显示批量推理作业详细信息部分。
当批量推理作业的状态更改为活动 时,您可以从指定的输出 Amazon S3 存储桶中检索作业的输出。输出文件的名称将采用
格式。input-name
.out
创建批量推理作业 (Amazon CLI)
完成为批量建议准备输入数据后,就可以通过 CreateBatchInferenceJob 操作创建批量推理作业了。
创建批量推理作业
您可以使用 create-batch-inference-job
命令创建批量推理作业。指定任务名称,替换Solution version ARN
为解决方案版本的亚马逊资源名称 (ARN),然后用您在设置期间为 Amazon Personalize 创建的IAM服务角色替换。IAM service role ARN
ARN此角色必须分别对您的输入和输出 Amazon S3 存储桶具有读写权限。(可选)提供筛选条件ARN来筛选推荐。如果您的过滤器使用占位符参数,请确保这些参数的值包含在您的输入JSON中。有关更多信息,请参阅 筛选批量建议和用户细分(自定义资源)。
将 S3 input path
和 S3 output path
替换为指向您的输入文件和输出位置的 Amazon S3 路径。我们建议使用不同的输出数据位置(文件夹或其他 Amazon S3 存储桶)。对输入和输出位置使用以下语法:s3://amzn-s3-demo-bucket/<folder
name>/<input JSON file name>.json
和 s3://amzn-s3-demo-bucket/<output folder
name>/
。
该示例包括可选的 User-Personalization 食谱特定的 itemExplorationConfig
超参数:explorationWeight
和 explorationItemAgeCutOff
。(可选)包括 explorationWeight
和 explorationItemAgeCutOff
值以配置浏览。有关更多信息,请参阅 User-Personalization 食谱。
aws personalize create-batch-inference-job \ --job-name
Batch job name
\ --solution-version-arnSolution version ARN
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
\ --batch-inference-job-config "{\"itemExplorationConfig\":{\"explorationWeight\":\"0.3
\",\"explorationItemAgeCutOff\":\"30
\"}}"
创建生成主题的批量推理作业
要为相似的物品生成主题,您必须使用 Similar-Items 配方,并且您的物品数据集必须有一个文本字段和一个物品名称数据列。有关带有主题的建议的更多信息,请参阅内容生成器中带有主题的批量建议。
以下代码创建了一个批量推理作业,该作业可生成带有主题的建议。将 batch-inference-job-mode
保留设置为 THEME_GENERATION
。将 COLUMN_NAME
替换为存储物品名称数据的列的名称。
aws personalize create-batch-inference-job \ --job-name
Themed batch job name
\ --solution-version-arnSolution version ARN
\ --filter-arnFilter ARN
\ --job-input s3DataSource={path=s3://S3 input path
} \ --job-output s3DataDestination={path=s3://S3 output path
} \ --role-arnIAM service role ARN
\ --batch-inference-job-mode THEME_GENERATION \ --theme-generation-config "{\"fieldsForThemeGeneration\": {\"itemName\":\"COLUMN_NAME
\"}}"
创建批量推理作业 (Amazon SDKs)
完成为批量建议准备输入数据后,就可以通过 CreateBatchInferenceJob 操作创建批量推理作业了。
创建批量推理作业
可以使用以下代码创建批量推理作业。指定任务名称、解决方案版本的亚马逊资源名称 (ARN) 以及您在设置过程中为 Amazon Personalize 创建的IAM服务角色。ARN此角色必须对您的输入和输出 Amazon S3 存储桶具有读写权限。
我们建议使用不同的输出数据位置(文件夹或其他 Amazon S3 存储桶)。对输入和输出位置使用以下语法:s3:/amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
和 s3://amzn-s3-demo-bucket/<output folder name>/
。
对于 numResults
,指定您希望 Amazon Personalize 为每行输入数据预测的物品数量。(可选)提供筛选条件ARN来筛选推荐。如果您的过滤器使用占位符参数,请确保这些参数的值包含在您的输入JSON中。有关更多信息,请参阅 筛选批量建议和用户细分(自定义资源)。
处理批处理作业可能需要一段时间才能完成。您可以通过调用 DescribeBatchInferenceJob 和传递 batchRecommendationsJobArn
作为输入参数来检查作业的状态。您也可以通过调ListBatchInferenceJobs用列出您 Amazon 环境中的所有 Amazon Personalize 批量推理作业。
创建生成主题的批量推理作业
要为相似的物品生成主题,您必须使用 Similar-Items 配方,并且您的物品数据集必须有一个文本字段和一个物品名称数据列。有关带有主题的建议的更多信息,请参阅内容生成器中带有主题的批量建议。
以下代码创建了一个批量推理作业,该作业可生成带有主题的建议。将 batchInferenceJobMode
保留设置为 "THEME_GENERATION"
。将 COLUMNN_NAME
替换为存储物品名称数据的列的名称。
import boto3 personalize_rec = boto3.client(service_name='personalize') personalize_rec.create_batch_inference_job ( solutionVersionArn = "
Solution version ARN
", jobName = "Batch job name
", roleArn = "IAM service role ARN
", filterArn = "Filter ARN
", batchInferenceJobMode = "THEME_GENERATION", themeGenerationConfig = { "fieldsForThemeGeneration": { "itemName": "COLUMN_NAME
" } }, jobInput = {"s3DataSource": {"path": "s3://amzn-s3-demo-bucket/<folder name>/<input JSON file name>.json
"}}, jobOutput = {"s3DataDestination": {"path": "s3://amzn-s3-demo-bucket/<output folder name>/
"}} )