本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建批量推理作业
创建批量推理作业,根据 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您的输入数据必须采用与您的解决方案使用的食谱对应的正确格式。有关输入数据的示例,请参阅批量推理作业输入和输出 JSON 示例。
-
对于解密密钥,如果您使用自己的密 Amazon KMS 钥进行存储桶加密,请指定密钥的 Amazon 资源名称 (ARN)。Amazon Personalize 必须拥有使用您的密钥的权限 有关授予权限的信息,请参阅授予 Amazon Personalize 使用您的 Amazon KMS 密钥的权限。
-
在输出目标中,指定输出位置的路径。我们建议使用不同的输出数据位置(文件夹或其他 Amazon S3 存储桶)。
使用以下语法:
s3://amzn-s3-demo-bucket/<output folder name>/ -
对于加密密钥,如果您使用自己的 Amazon KMS 密钥进行加密,请指定密钥的 ARN。Amazon Personalize 必须拥有使用您的密钥的权限 有关授予权限的信息,请参阅授予 Amazon Personalize 使用您的 Amazon KMS 密钥的权限。
-
对于 IAM 服务角色,选择您在设置过程中为 Amazon Personalize 创建的 IAM 服务角色。此角色必须分别对您的输入和输出 Amazon S3 存储桶具有读写权限。
-
在筛选条件中,(可选)选择一个筛选条件,以将筛选条件应用于批量建议。如果您的筛选器使用占位符参数,请确保这些参数的值包含在您的输入 JSON 中。有关更多信息,请参阅 在您的输入 JSON 中提供筛选器值。
-
对于标签,可以选择添加任何标签。有关标记 Amazon Personalize 资源的更多信息,请参阅为 Amazon Personalize 资源添加标签。
-
选择创建批量推理作业。此时将开始创建批量推理作业,批量推理作业页面将显示,并显示批量推理作业详细信息部分。
当批量推理作业的状态更改为活动 时,您可以从指定的输出 Amazon S3 存储桶中检索作业的输出。输出文件的名称将采用
格式。input-name.out
创建批量推理作业 (Amazon CLI)
完成为批量建议准备输入数据后,就可以通过 CreateBatchInferenceJob 操作创建批量推理作业了。
创建批量推理作业
您可以使用 create-batch-inference-job 命令创建批量推理作业。指定作业名称,将 Solution version ARN 替换为解决方案版本的 Amazon 资源名称 (ARN),然后将 IAM service role ARN 替换为您在设置期间为 Amazon Personalize 创建的 IAM 服务角色的 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-nameBatch 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-nameThemed 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 操作创建批量推理作业了。
创建批量推理作业
可以使用以下代码创建批量推理作业。指定作业名称、解决方案版本的 Amazon 资源名称 (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>/"}} )