# 前言
随着 **ChatGPT** 的爆火,有越来越多的同学多[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)感兴趣了,想尝试一下如何利用 **AI** 来解决自己身边的问题。在[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)领域主要分为两个派系,**CV** 方向和 **NLP** 方向,作为初学者我的建议是从 **CV** 方便入手,因为操作起来相对简单一些。
看到这里你是否已经跃跃欲试了呢,是否已经准备去买 4090 显卡了呢?不要急,我们可以先使用亚马逊云科技的免费机器学服务器来先动手试试看。
##### 注册与申请
官方网址:[免费机器学习服务 - Amazon (amazon.com)](https://aws.amazon.com/cn/free/machine-learning/?trk=cndc-detail)
![image.png](https://dev-media.amazoncloud.cn/d0d8cc4d2b6c4a3285b147b87e47f677_image.png "image.png")
如上图所示我们可以免费试用两个月,这对我们入门学习已经够用了。
在我们完成注册后,选择第一个免费的服务即可
![image.png](https://dev-media.amazoncloud.cn/42af2e1241a144088105c5d1133f6053_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/0969260e7f564606b0fc02fd36a91b31_image.png "image.png")
# 创建云服务
在我们进入控制台后,可以通过左上角的服务菜单来选择我们需要的服务, 我这里选择的是[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)相关的。
![image.png](https://dev-media.amazoncloud.cn/b7f21abcd7e34fdc99dd18e8f181769d_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/b946aed9af9949ddb1024defe76e84a0_image.png "image.png")
针对新手用户,他们提供了详细的文档
![image.png](https://dev-media.amazoncloud.cn/a8306e9e1a7f4ef183200698a312c097_image.png "image.png")
我选择【**Studio**】开始我们的环境搭建
![image.png](https://dev-media.amazoncloud.cn/8a736a5369634659a41aaac771db7cab_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/6a28bf63a2ef4a689b224e581f327382_image.png "image.png")
选择角色
如果之前没有创建过角色的,可以创建一个
![image.png](https://dev-media.amazoncloud.cn/87b2a9eaa7dc44849e5ab4f8921d6240_image.png "image.png")
在创建好域之后,我们在添加一个配置文件
![image.png](https://dev-media.amazoncloud.cn/76b9a42901fd42e8b541408af2c0e9cd_image.png "image.png")
使用默认即可
![image.png](https://dev-media.amazoncloud.cn/c999cc564bc542e184d9a4c059607511_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/bb118a3abbb94ccbb5ff17ed0335bbbf_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/bd2fc76aadda4002b5abefdc9043e61d_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/886958f7cf02498c80dc2a820de9d8b4_image.png "image.png")
点击启动菜单下面的【**Studio**】
![image.png](https://dev-media.amazoncloud.cn/0601fa0c8aa74a999d7e442a094ebf21_image.png "image.png")
根据网速,这个页面需要稍等一会
![image.png](https://dev-media.amazoncloud.cn/63efe3e51b974a09ade4252f2cc71112_image.png "image.png")
![image.png](https://dev-media.amazoncloud.cn/f1e227a8edbd4665a87f2bae4c313f11_image.png "image.png")
# 训练环境搭建
新建一个 **NoteBook**
![image.png](https://dev-media.amazoncloud.cn/56f9fba0486347ed98bc613c57785036_image.png "image.png")
镜像我们可以选择 **PyTorch1.13 + Python3.9 GPU** 版本的,我们后面也可以根据需求重新选择适合的镜像。
![image.png](https://dev-media.amazoncloud.cn/1cd5376b49ba4f248bf773c69f1b666a_image.png "image.png")
我们可以通过如下命令来查看云环境中 **PyTorch** 版本以及 GPU 的版本
```
!python -c 'import torch;print(torch.__version__);print(torch.version.cuda)'
```
![image.png](https://dev-media.amazoncloud.cn/2f07a4276b3548bd868610becf143864_image.png "image.png")
也可以用以下命令来查看我们安装了哪些 **Python** 库,需要注意的是,我们在 **Notebook** 中执行命令的时候,要在命令前加一个半角的感叹号(!)。
```
!pip list
```
![image.png](https://dev-media.amazoncloud.cn/664e6d8a6ba54fb48bf4809fa1adcf37_image.png "image.png")
> 这样我们就可以省去安装 PyTorch 的步骤,也不用担心 GPU 版本问题。
我们这里使用 **OpenMMLab** 框架来作为训练演示,配置 **OpenMMLab** 环境
```
!pip install -U openmim
```
![image.png](https://dev-media.amazoncloud.cn/52b1680c4ccb486fbc0a1971f0d26c95_image.png "image.png")
安装 **mmcv** 工具
```
!mim install "mmcv>=2.0.0rc1"
```
![image.png](https://dev-media.amazoncloud.cn/1e67d8d1ab8d4988ba9f29d9ad5a7ed9_image.png "image.png")
我们本次演示的是目标检测模型 (**mmclassification** ),因此再安装一个 **mmcls** 的工具
```
!mim install mmcls
```
![image.png](https://dev-media.amazoncloud.cn/a83b588a6b5a4c03a528fa557cad611a_image.png "image.png")
现在预训练模型
```
!mim download mmcls --config mobilenet-v2_8xb32_in1k --dest .
```
![image.png](https://dev-media.amazoncloud.cn/d03916fe0e364005be42019641cbb770_image.png "image.png")
- py 文件为配置文件,我们后期如果自己训练模型的时候,可以根据自己的需求进行修改,要符合 Python 语法。
- pth 文件为预训练模型,通常它的 size 比较大,他是我们模型训练完成后生成的一个文件。
# 效果验证
我们上传一张香蕉的图片, 然后用预训练的模型检测一下看看效果。
![image.png](https://dev-media.amazoncloud.cn/3a01aa91ca1b4135a8de605a99da106d_image.png "image.png")
```
CPU版本
from mmcls.apis import init_model, inference_model
model = init_model("mobilenet-v2_8xb32_in1k.py", "mobilenet_v2_batch256_imagenet_20200708-3b2dc3af.pth", device="cpu")
result = inference_model(model, "banana.png")
```
![image.png](https://dev-media.amazoncloud.cn/91c51f7a65e24b0db3b57c1cd201d96a_image.png "image.png")
我们也可以可视化的看一下效果:
```
from mmcls.apis import show_result_pyplot
show_result_pyplot(model, "banana.png", result)
```
![image.png](https://dev-media.amazoncloud.cn/ed0dcb9238544db588a29e2463e1c82d_image.png "image.png")
如果想用 GPU 来推理的话, 只需要将 device="cpu" 换成 device="cuda:0" 即可
```
model = init_model("mobilenet-v2_8xb32_in1k.py", "mobilenet_v2_batch256_imagenet_20200708-3b2dc3af.pth", device="cuda:0")
```
# 结束语
我们通过在亚马逊云服务上搭建了一个简单的目标检测的[机器学习](https://aws.amazon.com/cn/machine-learning/?trk=cndc-detail)项目,了解了亚马逊云的基础使用方法。我们这里只是演示了一下如何利用预训练模型来做目标检测,感兴趣的小伙伴可以尝试动手自己训练一个模型,顺便体验一下它的性能。如果还是小白,亚马逊云科技服务还提供了丰富的学习资源,500 多节免费数字课程任您选择,全面覆盖各种角色、技能水平和领域,以帮助您提升 Amazon Cloud 技能 。
![image.png](https://dev-media.amazoncloud.cn/ff1c36dd57884c49a5ea81c582cbf8a3_image.png "image.png")
除了上述既有的课程外,还会不定期的举办一些线上线下的活动,感兴趣的小伙伴可以关注一下,这里和大家简单分享一下日程:
| **活动名称** | **活动时间** | **活动地点** | **活动信息** |
| --- | --- |--- |--- |
| AIGC 实战营 | 2023年3月3日 | 上海 | [点击查看](https://aws.amazon.com/cn/campaigns/aigc-shanghai/?trk=cndc-detail) |
| 亚马逊云科技从业者加速训练营 | 2023年3月8日 | 线上 | [点击查看](https://www.awsevents.cn/livePage.aspx?code=13a56a503ed14864bf929ced3595f780&s=&smid=&vep_st=?trk=cndc-detail) |
| AIGC 创业实践在线大会 | 2023年3月9日 | 线上 | [点击查看](https://www.awsevents.cn/AIGC0309/listDetails.html?s=8188&smid=16976?trk=cndc-detail)|
| AIGC 实战营 | 2023年3月10日 | 北京 | [点击查看](https://aws.amazon.com/cn/campaigns/aigc-beijing/?trk=cndc-detail) |
| 亚马逊云科技从业者加速训练营 | 2023年3月14日 | 线上 | [点击查看](https://www.awsevents.cn/livePage.aspx?code=13a56a503ed14864bf929ced3595f780&s=&smid=&vep_st=?trk=cndc-detail)|
| 三月女性公益课堂:[无服务器](https://aws.amazon.com/cn/serverless/?trk=cndc-detail)开发简介 | 2023年3月15日 | 线上 | [点击查看](https://www.awsevents.cn/livePage.aspx?code=8bfa4bf3a0414952bf506d6354fb7e1d&s=&smid=&vep_st=?trk=cndc-detail) |
|AIGC 实战营 | 2023年3月17日 | 深圳 | [点击查看](https://aws.amazon.com/cn/campaigns/aigc-shenzhen/?trk=cndc-detail) |
| 备考训练营:Amazon Certified 解决方案架构师-专业级 | 2023年3月21日 | 线上 | [点击查看](https://www.awsevents.cn/livePage.aspx?code=1a77704cda44499bb8bac57b831fbc16&s=&smid=&vep_st=?trk=cndc-detail) |
| 三月女性公益课堂:保护您的亚马逊云科技云 | 2023年3月22日 | 线上 | [点击查看](https://www.awsevents.cn/livePage.aspx?code=cab4938df7334bc4952f4fc0ac9a9d18&s=&smid=&vep_st=?trk=cndc-detail) |
| 云原生大数据研讨会 | 2023年4月21日 | 上海 | [点击查看](https://www.awsevents.cn/livePage.aspx?code=cab4938df7334bc4952f4fc0ac9a9d18&s=&smid=&vep_st=?trk=cndc-detail?trk=cndc-detail) |
这次的分享就是这些,希望这篇文章对你有所帮助。