SageMaker Canvas

SageMaker Canvas让机器学习的门槛降低,不需要写代码就可以完成整个流程。

本节我们使用SageMaker Canvas完成这样一个项目——基于观察到的摄氏华氏对应数据,使用SageMaker Canvas来训练出两者的转换工式。

这是一个回归(Regression)问题, 如果训练正确将得到以下公式:

华氏度(℉) = 32 + 摄氏度(℃) × 1.8

上传数据到S3

先创建一个S3桶:

aws s3 mb s3://my-first-model-xxx

下载csv文件:

wget https://pingfan.s3.amazonaws.com/files/Celsius.csv

csv文件中是摄氏与华氏度的对应数据:

image-20220808074702005

将csv文件上传到S3:

aws s3 cp Celsius.csv s3://my-first-model-xxx/

上面的操作也可以通过在AWS控制台上完成

数据上传到Canvas

Canvas目前和Studio是一个入口。点击Launch SageMaker Studio

image-20220808074916622

点击Launch app,然后选择Canvas:

image-20220808074931858

会跳转到Canvas的页面,第一次加载可能要4-5分钟。


加载完成后会进入到Canvas的UI,第一步先上传Datasets:

image-20220808075449642

选择S3, 然后选择我们上一步创建的S3桶和文件,点击Import

image-20220808075559857

使用Canvas训练模型

进入Canvas的Models页面,点击New Model

image-20220808080254302

为Model命名Temperature-converter

image-20220808080345328

第一步是选择数据集,这里我们选择上面导入的Celsius.csv数据集:

image-20220808080401306

选择要预测的列,我们是基于摄氏度来预测华氏度,所以选择Fahrenheit

image-20220808080426042

此时可以看到Canvas自动将数据集的分布用图表展示出来。在进行训练时,有两种方式,一种是Quick build ,用于快速验证,所需要时间短,但精度差;另一种是Standard build,所需时间要2-4h,精度高。这里选择Quick Build

image-20220808080449095

训练完成后,我们得到了模型,可以看到它的偏差为0,这是因为数据集中的数据本身是准确的。

image-20220808080544650

点击Predict进行预测。输入摄氏度的值,可以预测出对应华氏度的值:

image-20220808080617648

本节是最简单的SageMaker Canvas示例,关于更多的实验,参考SageMaker Canvas Immersion Day

关闭SageMaker Canvas

SageMaker Canvas在打开会话时就会收费,所以在测试结束后要把它关闭掉:

image-20220808082335877

点击左下角的Log out图标:

image-20220808082356511

点击log out

image-20220808082408817

登出后会回SageMaker的主页。