创建训练任务(S3数据源)

在本章节中,您将学习到如果使用 S3 中的数据源训练图片分类的机器学习的模型。

准备实验数据步骤中,我们已将提前准备好的训练数据下载到 Cloud9, 并且上传到名为 ml-bot-exampledata-<aws-account-id> 的 S3 桶中,位于samples/shopeeiet/路径下。该路径下包含一组训练数据(位于train/路径下)和 一组测试数据(位于test/路径下)。训练数据为一组由BabyHat, BabyPantsBabyShirt 组成的数据集。在本实验中,我们将使用2个分类的数据进行训练,并且使用测试数据集下的数据进行交互式测试。

同时,您可以使用 Cloud9 对训练数据进行预览,位于ml-bot-sample-asset/samples/shopeeiet/路径下。

创建任务

任务名称中的字符仅允许包含[a-z][A-Z][0-9]及-字符。

  1. 在 ML Bot 登陆页面,选择 点击开始

  2. 选择 AI 功能页面,选择 图像分类

  3. 并且输入任务名称。 这里,我们以shopee-iet数据为例, 可以将任务名称设定为shopeeiet-1,并点击创建新任务

  4. 任务创建后会自动跳转到详情页。如果浏览器弹出获取访问摄像头的授权,请点击允许

准备数据

  1. 将默认的 class_1 修改为我们需要的类别名称。例如,这里我们需要分类shopee-iet数据集中的图片数据,我们可以将第一个类定义为BabyShirt

对于图像分类任务,我们至少需要创建两个类别用来进行分类任务。

  1. 在上传图片处选择从S3导入

  2. S3文件路径处输入该类别的图片数据在 S3 存储桶中的路径,输入 s3://ml-bot-exampledata-<aws-account-id>/samples/shopeeiet/train/BabyShirt/, 请将 <aws-account-id> 替换为当前账号的12位数字ID。

  3. 点击导入数据,将BabyShirt类别对应的图片数据导入到存储训练数据的 S3 存储桶中。

  4. 点击刚刚创建的类别名称右侧的+号, 创建一个新的类别,这里我们将其改为BabyPants

  5. S3文件路径处输入该类别的图片数据在 S3 存储桶中的路径, 输入 s3://ml-bot-exampledata-<aws-account-id>/samples/shopeeiet/train/BabyPants/, 请将 <aws-account-id> 替换为当前账号的12位数字ID。

  6. 点击导入数据,将BabyPants类别对应的图片数据导入到存储训练数据的 S3 存储桶中。

至此,我们创建了一个初具规模的图像分类数据集。

您可以创建另外两个分类 BabyHatPackageFart,并且将数据导入进行训练。导入的数据量越大,训练的时间也越长。

训练模型

以本次实验中我们导入的shopee-iet数据集的规模为例,模型训练到95%精度大约需要8分钟。

  1. 当所有类别的数据导入完成后,点击开始训练模型

  2. 我们可以在右侧观察到从启动实例模型完成的完整模型训练的进度。

验证模型

接下来,我们要对训练完成的模型进行交互式的验证。

  1. 选择测试图片中选择上传文件选项。

  2. 在 Cloud9 中下载测试图片至本地。测试图片位于 ml_bot_sample_assets/samples/shopeeiet/test目录下。例如: Test_1.jpg, Test_2.jpg, Test_11.jpg, Test_14.jpg.

  3. 将图片直接拖拽到拖动文件到此区域或者点击上传区域中,模型将自动进行推理,并显示推理结果。

如您希望下载模型,可以点击下载模型,将模型直接下载到本地。在本实验中,请跳过此步骤。