提交 4d8ef28a 编写于 作者: D dyonghan 提交者: Gitee

!26 improve description of all experiments

Merge pull request !26 from dyonghan/master
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
- Windows/Ubuntu x64笔记本,NVIDIA GPU服务器,或Atlas Ascend服务器等。 - Windows/Ubuntu x64笔记本,NVIDIA GPU服务器,或Atlas Ascend服务器等。
## 实验准备 ## 实验准备
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
MNIST是一个手写数字数据集,训练集包含60000张手写数字,测试集包含10000张手写数字,共10类。MNIST数据集的官网:[THE MNIST DATABASE](http://yann.lecun.com/exdb/mnist/) MNIST是一个手写数字数据集,训练集包含60000张手写数字,测试集包含10000张手写数字,共10类。MNIST数据集的官网:[THE MNIST DATABASE](http://yann.lecun.com/exdb/mnist/)
- 途径一,从MNIST官网下载如下4个文件到本地并解压: - 方式一,从MNIST官网下载如下4个文件到本地并解压:
``` ```
train-images-idx3-ubyte.gz: training set images (9912422 bytes) train-images-idx3-ubyte.gz: training set images (9912422 bytes)
...@@ -63,7 +63,7 @@ t10k-images-idx3-ubyte.gz: test set images (1648877 bytes) ...@@ -63,7 +63,7 @@ t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes) t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
``` ```
- 途径二,从华为云OBS中下载[MNIST数据集](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/MNIST.zip)并解压。 - 方式二,从华为云OBS中下载[MNIST数据集](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/MNIST.zip)并解压。
### 脚本准备 ### 脚本准备
...@@ -71,7 +71,7 @@ t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes) ...@@ -71,7 +71,7 @@ t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
checkpoint checkpoint
...@@ -91,7 +91,7 @@ checkpoint ...@@ -91,7 +91,7 @@ checkpoint
ModelArts Notebook资源池较小,且每个运行中的Notebook会一直占用Device资源不释放,不适合大规模并发使用。可以参考[创建并打开Notebook](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0034.html)来创建并打开本实验的Notebook脚本。 ModelArts Notebook资源池较小,且每个运行中的Notebook会一直占用Device资源不释放,不适合大规模并发使用。可以参考[创建并打开Notebook](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0034.html)来创建并打开本实验的Notebook脚本。
创建Notebook的参考配置: 打开[ModelArts控制台-开发环境-Notebook](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/notebook),点击“创建”按钮进入Notebook配置页面,创建Notebook的参考配置:
- 计费模式:按需计费 - 计费模式:按需计费
- 名称:checkpoint - 名称:checkpoint
...@@ -413,14 +413,14 @@ args, unknown = parser.parse_known_args() ...@@ -413,14 +413,14 @@ args, unknown = parser.parse_known_args()
MindSpore暂时没有提供直接访问OBS数据的接口,需要通过MoXing提供的API与OBS交互。将OBS中存储的数据拷贝至执行容器: MindSpore暂时没有提供直接访问OBS数据的接口,需要通过MoXing提供的API与OBS交互。将OBS中存储的数据拷贝至执行容器:
- 途径一,拷贝自己账户下OBS桶内的数据集。 - 方式一,拷贝自己账户下OBS桶内的数据集。
```python ```python
import moxing import moxing
moxing.file.copy_parallel(src_url=args.data_url, dst_url='MNIST/') moxing.file.copy_parallel(src_url=args.data_url, dst_url='MNIST/')
``` ```
- 途径二,拷贝他人账户下OBS桶内的数据集,前提是他人账户下的OBS桶已设为公共读/公共读写,且需要他人账户的访问密钥、私有访问密钥、OBS桶-概览-基本信息-Endpoint。 - 方式二,拷贝他人账户下OBS桶内的数据集,前提是他人账户下的OBS桶已设为公共读/公共读写,且需要他人账户的访问密钥、私有访问密钥、OBS桶-概览-基本信息-Endpoint。
```python ```python
import moxing import moxing
...@@ -443,7 +443,7 @@ moxing.file.copy_parallel(src_url='ckpt', dst_url=os.path.join(args.train_url, ' ...@@ -443,7 +443,7 @@ moxing.file.copy_parallel(src_url='ckpt', dst_url=os.path.join(args.train_url, '
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的checkpoint目录 - 代码目录:选择上述新建的OBS桶中的checkpoint目录
......
...@@ -166,4 +166,5 @@ if __name__ == "__main__": ...@@ -166,4 +166,5 @@ if __name__ == "__main__":
if args.data_url.startswith('s3'): if args.data_url.startswith('s3'):
import moxing import moxing
# 将ckpt目录拷贝至OBS后,可在OBS的`args.train_url`目录下看到ckpt目录 # 将ckpt目录拷贝至OBS后,可在OBS的`args.train_url`目录下看到ckpt目录
moxing.file.copy_parallel(src_url='ckpt', dst_url=os.path.join(args.data_url, 'ckpt')) moxing.file.copy_parallel(src_url='ckpt', dst_url=os.path.join(args.train_url, 'ckpt'))
print('Copied checkpoints from ./ckpt to %s' % os.path.join(args.train_url, 'ckpt'))
...@@ -21,7 +21,7 @@ deeplabv3中提出 Atrous Spatial Pyramid Pooling(ASPP)模块, 挖掘不同尺 ...@@ -21,7 +21,7 @@ deeplabv3中提出 Atrous Spatial Pyramid Pooling(ASPP)模块, 挖掘不同尺
## 实验环境 ## 实验环境
* MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套)。 * MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套)。
* 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html * 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。。
## 实验准备 ## 实验准备
### 创建OBS桶 ### 创建OBS桶
...@@ -29,7 +29,7 @@ deeplabv3中提出 Atrous Spatial Pyramid Pooling(ASPP)模块, 挖掘不同尺 ...@@ -29,7 +29,7 @@ deeplabv3中提出 Atrous Spatial Pyramid Pooling(ASPP)模块, 挖掘不同尺
> 提示: 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以[参考获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html) 获取并配置访问密钥。 > 提示: 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以[参考获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html) 获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
* 区域:华北-北京四 * 区域:华北-北京四
* 数据冗余存储策略:单AZ存储 * 数据冗余存储策略:单AZ存储
...@@ -60,7 +60,7 @@ deeplabv3中提出 Atrous Spatial Pyramid Pooling(ASPP)模块, 挖掘不同尺 ...@@ -60,7 +60,7 @@ deeplabv3中提出 Atrous Spatial Pyramid Pooling(ASPP)模块, 挖掘不同尺
从MindSpore开源仓库model_zoo中下载[deeplabv3模型案例](https://gitee.com/mindspore/mindspore/tree/r0.5/model_zoo/deeplabv3) 。从[课程gitee仓库](https://gitee.com/mindspore/course) 中下载相关执行脚本。 从MindSpore开源仓库model_zoo中下载[deeplabv3模型案例](https://gitee.com/mindspore/mindspore/tree/r0.5/model_zoo/deeplabv3) 。从[课程gitee仓库](https://gitee.com/mindspore/course) 中下载相关执行脚本。
## 上传文件 ## 上传文件
将脚本和数据集上传到OBS桶中,可参考如下组织形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,可参考如下组织形式:
``` ```
deeplabv3_example deeplabv3_example
├── voc2012 # 数据集 ├── voc2012 # 数据集
...@@ -331,7 +331,7 @@ train_checkpoint_path = "./checkpoint/deeplabv3_train_14-1_1.ckpt" #预训练的 ...@@ -331,7 +331,7 @@ train_checkpoint_path = "./checkpoint/deeplabv3_train_14-1_1.ckpt" #预训练的
## 创建训练作业 ## 创建训练作业
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
* 算法来源:常用框架->Ascend-Powered-Engine->MindSpore * 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
* 代码目录:如选择上述新建的OBS桶中的deeplabv3_example/deeplabv3/ * 代码目录:如选择上述新建的OBS桶中的deeplabv3_example/deeplabv3/
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
## 实验环境 ## 实验环境
- MindSpore 0.2.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.2.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -52,7 +52,7 @@ CIFAR-10是一个图片分类数据集,包含60000张32x32的彩色物体图 ...@@ -52,7 +52,7 @@ CIFAR-10是一个图片分类数据集,包含60000张32x32的彩色物体图
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
experiment_3 experiment_3
...@@ -315,7 +315,7 @@ mox.file.copy_parallel(src_url='output', dst_url='s3://OBS/PATH') ...@@ -315,7 +315,7 @@ mox.file.copy_parallel(src_url='output', dst_url='s3://OBS/PATH')
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的experiment_3目录 - 代码目录:选择上述新建的OBS桶中的experiment_3目录
......
...@@ -27,7 +27,7 @@ BERT模型包含由不同隐含层数(number hidden layers)和隐含层单 ...@@ -27,7 +27,7 @@ BERT模型包含由不同隐含层数(number hidden layers)和隐含层单
## 实验环境 ## 实验环境
- MindSpore 0.2.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.2.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
...@@ -37,7 +37,7 @@ BERT模型包含由不同隐含层数(number hidden layers)和隐含层单 ...@@ -37,7 +37,7 @@ BERT模型包含由不同隐含层数(number hidden layers)和隐含层单
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -71,7 +71,7 @@ BERT模型包含由不同隐含层数(number hidden layers)和隐含层单 ...@@ -71,7 +71,7 @@ BERT模型包含由不同隐含层数(number hidden layers)和隐含层单
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
experiment_4 experiment_4
...@@ -243,7 +243,7 @@ mox.file.copy_parallel(src_url='bert_classfication-3_3335.ckpt', ...@@ -243,7 +243,7 @@ mox.file.copy_parallel(src_url='bert_classfication-3_3335.ckpt',
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的experiment_4目录 - 代码目录:选择上述新建的OBS桶中的experiment_4目录
...@@ -304,7 +304,7 @@ class BertNERModel(nn.Cell): ...@@ -304,7 +304,7 @@ class BertNERModel(nn.Cell):
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的experiment_4目录 - 代码目录:选择上述新建的OBS桶中的experiment_4目录
...@@ -343,7 +343,7 @@ class BertNERModel(nn.Cell): ...@@ -343,7 +343,7 @@ class BertNERModel(nn.Cell):
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的experiment_4目录 - 代码目录:选择上述新建的OBS桶中的experiment_4目录
......
...@@ -14,23 +14,23 @@ ...@@ -14,23 +14,23 @@
- 熟练使用Python。 - 熟练使用Python。
- 具备一定的深度学习理论知识,如感知机、前馈神经网络、损失函数、优化器,训练策略等。 - 具备一定的深度学习理论知识,如感知机、前馈神经网络、损失函数、优化器,训练策略等。
- 了解华为云的基本使用方法,包括[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com - 了解华为云的基本使用方法,包括[OBS(对象存储)](https://www.huaweicloud.com/product/obs.html)[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com
- 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/ - 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
### 创建OBS桶 ### 创建OBS桶
本实验需要使用华为云OBS存储脚本,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。 本实验需要使用华为云OBS存储脚本和数据集,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -44,9 +44,9 @@ ...@@ -44,9 +44,9 @@
Fashion-MNIST是一个替代MNIST手写数字集的图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28x1的灰度图片。 Fashion-MNIST是一个替代MNIST手写数字集的图像数据集。 它是由Zalando(一家德国的时尚科技公司)旗下的研究部门提供。其涵盖了来自10种类别的共7万个不同商品的正面图片。Fashion-MNIST的大小、格式和训练集/测试集划分与原始的MNIST完全一致。60000/10000的训练测试数据划分,28x28x1的灰度图片。
这里介绍一下经典的MNIST(手写字母)数据集。经典的MNIST数据集包含了大量的手写数字。十几年来,来自机器学习、机器视觉、人工智能、深度学习领域的研究员们把这个数据集作为衡量算法的基准之一。实际上,MNIST数据集已经成为算法作者的必测的数据集之一,但是MNIST数据集太简单了。很多深度学习算法在测试集上的准确率已经达到99.6% 这里介绍一下经典的MNIST(手写字母)数据集。经典的MNIST数据集包含了大量的手写数字。十几年来,来自机器学习、机器视觉、人工智能、深度学习领域的研究员们把这个数据集作为衡量算法的基准之一。实际上,MNIST数据集已经成为算法作者的必测的数据集之一,但是MNIST数据集太简单了。很多深度学习算法在测试集上的准确率已经达到99.6%
[这里](https://github.com/zalandoresearch/fashion-mnist/tree/master/data)下载Fashion-MNIST数据集并解压到本地。 - 方式一,从[Fashion-MNIST GitHub仓库](https://github.com/zalandoresearch/fashion-mnist/tree/master/data/fashion)下载如下4个文件到本地并解压:
``` ```
train-images-idx3-ubyte training set images(47,042,560 bytes) train-images-idx3-ubyte training set images(47,042,560 bytes)
...@@ -55,13 +55,15 @@ t10k-images-idx3-ubyte test set images (7,843,840 bytes) ...@@ -55,13 +55,15 @@ t10k-images-idx3-ubyte test set images (7,843,840 bytes)
t10k-labels-idx1-ubyte test set labels (12,288 bytes) t10k-labels-idx1-ubyte test set labels (12,288 bytes)
``` ```
- 方式二,从华为云OBS中下载[Fashion-MNIST数据集](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/fashion-mnist.zip)并解压。
### 脚本准备 ### 脚本准备
[课程gitee仓库](https://gitee.com/mindspore/course)上下载本实验相关脚本。 [课程gitee仓库](https://gitee.com/mindspore/course)上下载本实验相关脚本。
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
feedforward feedforward
...@@ -469,10 +471,23 @@ args, unknown = parser.parse_known_args() ...@@ -469,10 +471,23 @@ args, unknown = parser.parse_known_args()
MindSpore暂时没有提供直接访问OBS数据的接口,需要通过MoXing提供的API与OBS交互。将OBS中存储的数据拷贝至执行容器: MindSpore暂时没有提供直接访问OBS数据的接口,需要通过MoXing提供的API与OBS交互。将OBS中存储的数据拷贝至执行容器:
```python - 方式一,拷贝自己账户下OBS桶内的数据集。
import moxing as mox
mox.file.copy_parallel(src_url=args.data_url, dst_url='Fashion-MNIST') ```python
``` import moxing
moxing.file.copy_parallel(src_url=args.data_url, dst_url='Fashion-MNIST/')
```
- 方式二,拷贝他人账户下OBS桶内的数据集,前提是他人账户下的OBS桶已设为公共读/公共读写,且需要他人账户的访问密钥、私有访问密钥、OBS桶-概览-基本信息-Endpoint。
```python
import moxing
# set moxing/obs auth info, ak:Access Key Id, sk:Secret Access Key, server:endpoint of obs bucket
moxing.file.set_auth(ak='VCT2GKI3GJOZBQYJG5WM', sk='t1y8M4Z6bHLSAEGK2bCeRYMjo2S2u0QBqToYbxzB',
server="obs.cn-north-4.myhuaweicloud.com")
# copy dataset from obs bucket to container/cache
moxing.file.copy_parallel(src_url="s3://share-course/dataset/fashion-mnist/", dst_url='Fashion-MNIST/')
```
如需将训练输出(如模型Checkpoint)从执行容器拷贝至OBS,请参考: 如需将训练输出(如模型Checkpoint)从执行容器拷贝至OBS,请参考:
...@@ -485,8 +500,8 @@ mox.file.copy_parallel(src_url='model_fashion', dst_url=args.train_url) ...@@ -485,8 +500,8 @@ mox.file.copy_parallel(src_url='model_fashion', dst_url=args.train_url)
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
>**创建训练作业的参考配置:** 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
>
>- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore; >- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore;
>- 代码目录:选择上述新建的OBS桶中的feedforward目录; >- 代码目录:选择上述新建的OBS桶中的feedforward目录;
>- 启动文件:选择上述新建的OBS桶中的feedforward目录下的`main.py`; >- 启动文件:选择上述新建的OBS桶中的feedforward目录下的`main.py`;
......
...@@ -111,8 +111,18 @@ parser.add_argument('--data_url', required=True, default=None, help='Location of ...@@ -111,8 +111,18 @@ parser.add_argument('--data_url', required=True, default=None, help='Location of
parser.add_argument('--train_url', required=True, default=None, help='Location of training outputs.') parser.add_argument('--train_url', required=True, default=None, help='Location of training outputs.')
args, unknown = parser.parse_known_args() args, unknown = parser.parse_known_args()
import moxing as mox import moxing
mox.file.copy_parallel(src_url=args.data_url, dst_url='Fashion-MNIST')
# WAY1: copy dataset from your own OBS bucket.
# moxing.file.copy_parallel(src_url=args.data_url, dst_url='Fashion-MNIST')
# WAY2: copy dataset from other's OBS bucket, which has been set public read or public read&write.
# set moxing/obs auth info, ak:Access Key Id, sk:Secret Access Key, server:endpoint of obs bucket
moxing.file.set_auth(ak='VCT2GKI3GJOZBQYJG5WM', sk='t1y8M4Z6bHLSAEGK2bCeRYMjo2S2u0QBqToYbxzB',
server="obs.cn-north-4.myhuaweicloud.com")
# copy dataset from obs bucket to container/cache
moxing.file.copy_parallel(src_url="s3://share-course/dataset/fashion-mnist/", dst_url='Fashion-MNIST/')
cfg = edict({ cfg = edict({
'train_size': 60000, # 训练集大小 'train_size': 60000, # 训练集大小
......
...@@ -19,23 +19,23 @@ K近邻算法(K-Nearest-Neighbor, KNN)是一种用于分类和回归的非 ...@@ -19,23 +19,23 @@ K近邻算法(K-Nearest-Neighbor, KNN)是一种用于分类和回归的非
- 熟练使用Python。 - 熟练使用Python。
- 具备一定的机器学习理论知识,如KNN、无监督学习、Lp距离等。 - 具备一定的机器学习理论知识,如KNN、无监督学习、Lp距离等。
- 了解华为云的基本使用方法,包括[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com - 了解华为云的基本使用方法,包括[OBS(对象存储)](https://www.huaweicloud.com/product/obs.html)[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com
- 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/ - 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
### 创建OBS桶 ### 创建OBS桶
本实验需要使用华为云OBS存储脚本,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。 本实验需要使用华为云OBS存储脚本和数据集,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -63,8 +63,8 @@ Wine数据集是模式识别最著名的数据集之一,Wine数据集的官网 ...@@ -63,8 +63,8 @@ Wine数据集是模式识别最著名的数据集之一,Wine数据集的官网
12. OD280/OD315 of diluted wines,稀释酒的OD280/OD315 12. OD280/OD315 of diluted wines,稀释酒的OD280/OD315
13. Proline,脯氨酸 13. Proline,脯氨酸
- 途径一,从Wine数据集官网下载[wine.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data) - 方式一,从Wine数据集官网下载[wine.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data)
- 途径二,从华为云OBS中下载[wine.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/wine.data) - 方式二,从华为云OBS中下载[wine.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/wine.data)
| Key | Value | Key | Value | | Key | Value | Key | Value |
| :------------------------- | :------------- | :-------------------- | :--- | | :------------------------- | :------------- | :-------------------- | :--- |
...@@ -78,7 +78,7 @@ Wine数据集是模式识别最著名的数据集之一,Wine数据集的官网 ...@@ -78,7 +78,7 @@ Wine数据集是模式识别最著名的数据集之一,Wine数据集的官网
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
knn knn
...@@ -254,7 +254,7 @@ print('Validation accuracy is %f' % (acc/len(Y_test))) ...@@ -254,7 +254,7 @@ print('Validation accuracy is %f' % (acc/len(Y_test)))
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的knn目录 - 代码目录:选择上述新建的OBS桶中的knn目录
......
...@@ -20,7 +20,7 @@ LeNet5 + MINST被誉为深度学习领域的“Hello world”。本实验主要 ...@@ -20,7 +20,7 @@ LeNet5 + MINST被誉为深度学习领域的“Hello world”。本实验主要
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore
- Windows/Ubuntu x64笔记本,NVIDIA GPU服务器,或Atlas Ascend服务器等。 - Windows/Ubuntu x64笔记本,NVIDIA GPU服务器,或Atlas Ascend服务器等。
## 实验准备 ## 实验准备
...@@ -31,7 +31,7 @@ LeNet5 + MINST被誉为深度学习领域的“Hello world”。本实验主要 ...@@ -31,7 +31,7 @@ LeNet5 + MINST被誉为深度学习领域的“Hello world”。本实验主要
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -45,7 +45,7 @@ LeNet5 + MINST被誉为深度学习领域的“Hello world”。本实验主要 ...@@ -45,7 +45,7 @@ LeNet5 + MINST被誉为深度学习领域的“Hello world”。本实验主要
MNIST是一个手写数字数据集,训练集包含60000张手写数字,测试集包含10000张手写数字,共10类。MNIST数据集的官网:[THE MNIST DATABASE](http://yann.lecun.com/exdb/mnist/) MNIST是一个手写数字数据集,训练集包含60000张手写数字,测试集包含10000张手写数字,共10类。MNIST数据集的官网:[THE MNIST DATABASE](http://yann.lecun.com/exdb/mnist/)
- 途径一,从MNIST官网下载如下4个文件到本地并解压: - 方式一,从MNIST官网下载如下4个文件到本地并解压:
``` ```
train-images-idx3-ubyte.gz: training set images (9912422 bytes) train-images-idx3-ubyte.gz: training set images (9912422 bytes)
...@@ -54,7 +54,7 @@ t10k-images-idx3-ubyte.gz: test set images (1648877 bytes) ...@@ -54,7 +54,7 @@ t10k-images-idx3-ubyte.gz: test set images (1648877 bytes)
t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes) t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
``` ```
- 途径二,从华为云OBS中下载[MNIST数据集](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/MNIST.zip)并解压。 - 方式二,从华为云OBS中下载[MNIST数据集](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/MNIST.zip)并解压。
### 脚本准备 ### 脚本准备
...@@ -62,7 +62,7 @@ t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes) ...@@ -62,7 +62,7 @@ t10k-labels-idx1-ubyte.gz: test set labels (4542 bytes)
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
lenet5 lenet5
...@@ -82,7 +82,7 @@ lenet5 ...@@ -82,7 +82,7 @@ lenet5
ModelArts Notebook资源池较小,且每个运行中的Notebook会一直占用Device资源不释放,不适合大规模并发使用。可以参考[创建并打开Notebook](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0034.html)来创建并打开本实验的Notebook脚本。 ModelArts Notebook资源池较小,且每个运行中的Notebook会一直占用Device资源不释放,不适合大规模并发使用。可以参考[创建并打开Notebook](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0034.html)来创建并打开本实验的Notebook脚本。
创建Notebook的参考配置: 打开[ModelArts控制台-开发环境-Notebook](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/notebook),点击“创建”按钮进入Notebook配置页面,创建Notebook的参考配置:
- 计费模式:按需计费 - 计费模式:按需计费
- 名称:lenet5 - 名称:lenet5
...@@ -253,14 +253,14 @@ args, unknown = parser.parse_known_args() ...@@ -253,14 +253,14 @@ args, unknown = parser.parse_known_args()
MindSpore暂时没有提供直接访问OBS数据的接口,需要通过MoXing提供的API与OBS交互。将OBS中存储的数据拷贝至执行容器: MindSpore暂时没有提供直接访问OBS数据的接口,需要通过MoXing提供的API与OBS交互。将OBS中存储的数据拷贝至执行容器:
- 途径一,拷贝自己账户下OBS桶内的数据集。 - 方式一,拷贝自己账户下OBS桶内的数据集。
```python ```python
import moxing import moxing
moxing.file.copy_parallel(src_url=args.data_url, dst_url='MNIST/') moxing.file.copy_parallel(src_url=args.data_url, dst_url='MNIST/')
``` ```
- 途径二,拷贝他人账户下OBS桶内的数据集,前提是他人账户下的OBS桶已设为公共读/公共读写,且需要他人账户的访问密钥、私有访问密钥、OBS桶-概览-基本信息-Endpoint。 - 方式二,拷贝他人账户下OBS桶内的数据集,前提是他人账户下的OBS桶已设为公共读/公共读写,且需要他人账户的访问密钥、私有访问密钥、OBS桶-概览-基本信息-Endpoint。
```python ```python
import moxing import moxing
...@@ -283,7 +283,7 @@ moxing.file.copy_parallel(src_url='ckpt', dst_url=os.path.join(args.train_url, ' ...@@ -283,7 +283,7 @@ moxing.file.copy_parallel(src_url='ckpt', dst_url=os.path.join(args.train_url, '
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的lenet5目录 - 代码目录:选择上述新建的OBS桶中的lenet5目录
......
...@@ -12,7 +12,7 @@ from mindspore import nn ...@@ -12,7 +12,7 @@ from mindspore import nn
from mindspore.train import Model from mindspore.train import Model
from mindspore.train.callback import LossMonitor from mindspore.train.callback import LossMonitor
context.set_context(mode=context.GRAPH_MODE, device_target='CPU') # Ascend, CPU, GPU context.set_context(mode=context.GRAPH_MODE, device_target='Ascend') # Ascend, CPU, GPU
def create_dataset(data_dir, training=True, batch_size=32, resize=(32, 32), def create_dataset(data_dir, training=True, batch_size=32, resize=(32, 32),
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -166,7 +166,7 @@ plt.legend() ...@@ -166,7 +166,7 @@ plt.legend()
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的linear_regression目录 - 代码目录:选择上述新建的OBS桶中的linear_regression目录
......
...@@ -19,23 +19,23 @@ ...@@ -19,23 +19,23 @@
- 熟练使用Python。 - 熟练使用Python。
- 具备一定的机器学习理论知识,如逻辑回归、损失函数、优化器,训练策略等。 - 具备一定的机器学习理论知识,如逻辑回归、损失函数、优化器,训练策略等。
- 了解华为云的基本使用方法,包括[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com - 了解华为云的基本使用方法,包括[OBS(对象存储)](https://www.huaweicloud.com/product/obs.html)[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com
- 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/ - 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
### 创建OBS桶 ### 创建OBS桶
本实验需要使用华为云OBS存储脚本,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。 本实验需要使用华为云OBS存储脚本和数据集,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -49,8 +49,8 @@ ...@@ -49,8 +49,8 @@
Iris数据集是模式识别最著名的数据集之一。数据集包含3类,每类50个实例,其中每个类都涉及一种鸢尾植物。 第一类与后两类可线性分离,后两类之间不能线性分离,所以本实验取前两类数据,做一个2分类数据集。Iris数据集的官网:[Iris Data Set](http://archive.ics.uci.edu/ml/datasets/Iris) Iris数据集是模式识别最著名的数据集之一。数据集包含3类,每类50个实例,其中每个类都涉及一种鸢尾植物。 第一类与后两类可线性分离,后两类之间不能线性分离,所以本实验取前两类数据,做一个2分类数据集。Iris数据集的官网:[Iris Data Set](http://archive.ics.uci.edu/ml/datasets/Iris)
- 途径一,从Iris数据集官网下载[iris.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data) - 方式一,从Iris数据集官网下载[iris.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data)
- 途径二,从华为云OBS中下载[iris.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/iris.data) - 方式二,从华为云OBS中下载[iris.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/iris.data)
每个样本含有4个数值属性和一个类别属性: 每个样本含有4个数值属性和一个类别属性:
1. sepal length in cm 1. sepal length in cm
...@@ -78,7 +78,7 @@ Iris数据集是模式识别最著名的数据集之一。数据集包含3类, ...@@ -78,7 +78,7 @@ Iris数据集是模式识别最著名的数据集之一。数据集包含3类,
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
logistic_regression logistic_regression
...@@ -269,7 +269,7 @@ moxing.file.copy_parallel(src_url=os.path.join(args.data_url, 'iris.data'), dst_ ...@@ -269,7 +269,7 @@ moxing.file.copy_parallel(src_url=os.path.join(args.data_url, 'iris.data'), dst_
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的logistic_regression目录 - 代码目录:选择上述新建的OBS桶中的logistic_regression目录
......
...@@ -19,23 +19,23 @@ ...@@ -19,23 +19,23 @@
- 熟练使用Python。 - 熟练使用Python。
- 具备一定的深度学习理论知识,如感知机、损失函数、优化器,训练策略等。 - 具备一定的深度学习理论知识,如感知机、损失函数、优化器,训练策略等。
- 了解华为云的基本使用方法,包括[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com - 了解华为云的基本使用方法,包括[OBS(对象存储)](https://www.huaweicloud.com/product/obs.html)[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com
- 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/ - 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
### 创建OBS桶 ### 创建OBS桶
本实验需要使用华为云OBS存储脚本,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。 本实验需要使用华为云OBS存储脚本和数据集,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -115,19 +115,20 @@ gd_plot(None) ...@@ -115,19 +115,20 @@ gd_plot(None)
#### 鸢尾花分类数据集 #### 鸢尾花分类数据集
鸢尾花数据集(Iris Dataset)是模式识别最著名的数据集之一。共收集了三类鸢尾花,即Setosa鸢尾花、Versicolour鸢尾花和Virginica鸢尾花,每一类鸢尾花收集了50条样本记录,共计150条。 鸢尾花数据集(Iris Dataset)是模式识别最著名的数据集之一。共收集了三类鸢尾花,即Setosa鸢尾花、Versicolour鸢尾花和Virginica鸢尾花,每一类鸢尾花收集了50条样本记录,共计150条。 Iris数据集的官网:[Iris Data Set](http://archive.ics.uci.edu/ml/datasets/Iris)
数据集包括4个属性,分别为花萼的长、花萼的宽、花瓣的长和花瓣的宽。对花瓣我们可能比较熟悉,花萼是什么呢?花萼是花冠外面的绿色被叶,在花尚未开放时,保护着花蕾。四个属性的单位都是cm,属于数值变量,1个标签,表示鸢尾花的分类。 数据集包括4个属性,分别为花萼的长、花萼的宽、花瓣的长和花瓣的宽。对花瓣我们可能比较熟悉,花萼是什么呢?花萼是花冠外面的绿色被叶,在花尚未开放时,保护着花蕾。四个属性的单位都是cm,属于数值变量,1个标签,表示鸢尾花的分类。
在Iris数据集的官网[Iris Data Set](http://archive.ics.uci.edu/ml/datasets/Iris)上下载[iris.data](http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data)文件。 - 方式一,从Iris数据集官网下载[iris.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data)
- 方式二,从华为云OBS中下载[iris.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/iris.data)
### 脚本准备 ### 脚本准备
[课程gitee仓库](https://gitee.com/mindspore/course)下载本实验相关脚本。 [课程gitee仓库](https://gitee.com/mindspore/course)下载本实验相关脚本。
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
optimizer optimizer
...@@ -182,13 +183,13 @@ $$ ...@@ -182,13 +183,13 @@ $$
其中$ \frac{\partial J(W)}{\partial W} $ 表示损失函数 J 关于参数W的梯度;$ \eta $表示学习率; 其中$ \frac{\partial J(W)}{\partial W} $ 表示损失函数 J 关于参数W的梯度;$ \eta $表示学习率;
>**缺点:** **缺点:**
>
>- 有可能会陷入局部最小值; - 有可能会陷入局部最小值;
>- 不会收敛,最终会一直在最小值附近波动,并不会达到最小值并停留在此; - 不会收敛,最终会一直在最小值附近波动,并不会达到最小值并停留在此;
>- 下降速度慢; - 下降速度慢;
>- 选择合适的学习率比较困难; - 选择合适的学习率比较困难;
>- 在所有方向上统一的缩放梯度,不适用于稀疏数据; - 在所有方向上统一的缩放梯度,不适用于稀疏数据;
下面是使用SGD优化器求解Beale 公式极值点实现。 下面是使用SGD优化器求解Beale 公式极值点实现。
...@@ -234,11 +235,11 @@ $$ ...@@ -234,11 +235,11 @@ $$
这个算法和之前的梯度下降法(SGD)相比,唯一不同的就是多了一个$ \gamma v$。这一改动使Momentum会观察历史梯度,若当前梯度的方向与历史梯度一致(表明当前样本不太可能为异常点),则会增强这个方向的梯度;若当前梯度与历史梯方向不一致,则梯度会衰减。一种形象的解释是:我们把一个球推下山,球在下坡时积聚动量,在途中变得越来越快,γ可视为空气阻力,若球的方向发生变化,则动量会衰减。 这个算法和之前的梯度下降法(SGD)相比,唯一不同的就是多了一个$ \gamma v$。这一改动使Momentum会观察历史梯度,若当前梯度的方向与历史梯度一致(表明当前样本不太可能为异常点),则会增强这个方向的梯度;若当前梯度与历史梯方向不一致,则梯度会衰减。一种形象的解释是:我们把一个球推下山,球在下坡时积聚动量,在途中变得越来越快,γ可视为空气阻力,若球的方向发生变化,则动量会衰减。
>**优点:** **优点:**
>
>- 参考了历史梯度,增加了稳定性; - 参考了历史梯度,增加了稳定性;
>- 由于引入加速动量,加快收敛速度。下降初期时,使用上一次参数更新,下降方向一致,乘上较大的$ \gamma $能够进行很好的加速; - 由于引入加速动量,加快收敛速度。下降初期时,使用上一次参数更新,下降方向一致,乘上较大的$ \gamma $能够进行很好的加速;
>- 还有一定摆脱局部最优的能力。下降中后期时,在局部最小值来回震荡的时候,梯度趋近于0,$ \gamma $使得更新幅度增大,跳出陷阱(局部最优); - 还有一定摆脱局部最优的能力。下降中后期时,在局部最小值来回震荡的时候,梯度趋近于0,$ \gamma $使得更新幅度增大,跳出陷阱(局部最优);
下面是使用Momentum优化器求解Beale 公式极值点实现。 下面是使用Momentum优化器求解Beale 公式极值点实现。
...@@ -290,14 +291,14 @@ $$ ...@@ -290,14 +291,14 @@ $$
1. 训练前期,梯度较小,使得Regularizer项很大,放大梯度。[激励阶段] 1. 训练前期,梯度较小,使得Regularizer项很大,放大梯度。[激励阶段]
2. 训练后期,梯度较大,使得Regularizer项很小,缩小梯度。[惩罚阶段] 2. 训练后期,梯度较大,使得Regularizer项很小,缩小梯度。[惩罚阶段]
>**优点:** **优点:**
>
>- 在数据分布稀疏的场景,能更好利用稀疏梯度的信息,比标准的SGD算法更有效地收敛; - 在数据分布稀疏的场景,能更好利用稀疏梯度的信息,比标准的SGD算法更有效地收敛;
>- 对每个变量用不同的学习率,对输入参数学习率的依赖小,容易调节参数; - 对每个变量用不同的学习率,对输入参数学习率的依赖小,容易调节参数;
>**缺点:** **缺点:**
>
>- 主要缺陷来自分母项的对梯度平方不断累积,随之时间步地增加,分母项越来越大,最终导致学习率收缩到太小无法进行有效更新; - 主要缺陷来自分母项的对梯度平方不断累积,随之时间步地增加,分母项越来越大,最终导致学习率收缩到太小无法进行有效更新;
**RMSProp** **RMSProp**
...@@ -338,17 +339,17 @@ $$ ...@@ -338,17 +339,17 @@ $$
其中$ \frac{\partial J (W)}{\partial W} $ 表示损失函数 J 关于参数W的梯度;$ \eta $表示学习率,一般取值0.001;$ \varepsilon $是一个很小的数,一般取值10e−8,防止分母为0;$ \beta _1 $ $ \beta _2 $分别表示一阶和二阶动量的大小,一般取值为$ \beta _1 = 0.9 $ $ \beta _2 = 0.99 $。 其中$ \frac{\partial J (W)}{\partial W} $ 表示损失函数 J 关于参数W的梯度;$ \eta $表示学习率,一般取值0.001;$ \varepsilon $是一个很小的数,一般取值10e−8,防止分母为0;$ \beta _1 $ $ \beta _2 $分别表示一阶和二阶动量的大小,一般取值为$ \beta _1 = 0.9 $ $ \beta _2 = 0.99 $。
>**优点** **优点**
>
>- 能够克服AdaGrad梯度急剧减小的问题,在很多应用中都展示出优秀的学习率自适应能力; - 能够克服AdaGrad梯度急剧减小的问题,在很多应用中都展示出优秀的学习率自适应能力;
>- 实现简单,计算高效,对内存需求少; - 实现简单,计算高效,对内存需求少;
>- 参数的更新不受梯度的伸缩变换影响; - 参数的更新不受梯度的伸缩变换影响;
>- 超参数具有很好的解释性,且通常无需调整或仅需很少的微调; - 超参数具有很好的解释性,且通常无需调整或仅需很少的微调;
>- 更新的步长能够被限制在大致的范围内(初始学习率); - 更新的步长能够被限制在大致的范围内(初始学习率);
>- 能自然地实现步长退火过程(自动调整学习率); - 能自然地实现步长退火过程(自动调整学习率);
>- 很适合应用于大规模的数据及参数的场景; - 很适合应用于大规模的数据及参数的场景;
>- 适用于不稳定目标函数; - 适用于不稳定目标函数;
>- 适用于梯度稀疏或梯度存在很大噪声的问题; - 适用于梯度稀疏或梯度存在很大噪声的问题;
下面是使用自适应优化器求解Beale 公式极值点实现。 下面是使用自适应优化器求解Beale 公式极值点实现。
...@@ -758,13 +759,12 @@ epoch: 15 step 4, loss: 0.1873977780342102, avg loss: 0.234 ...@@ -758,13 +759,12 @@ epoch: 15 step 4, loss: 0.1873977780342102, avg loss: 0.234
第9个sample预测结果: 0 真实结果: 0 第9个sample预测结果: 0 真实结果: 0
``` ```
>**结果分析:** **结果分析:** 从无优化器、SGD、momentum、adam优化器的loss上看:
>
>从无优化器、SGD、momentum、adam优化器的loss上看: 1. 无优化器训练loss基本没有发生变化,测试结果效果差。多运行几次发现结果偏差太大,学员可以自己尝试。
>1. 无优化器训练loss基本没有发生变化,测试结果效果差。多运行几次发现结果偏差太大,学员可以自己尝试。 2. SGD优化器loss下降速度很慢,而且在接近收敛处loss下降非常缓慢。增大学习率,减少迭代次数,会出现收敛到局部最优解的情况,学员可以自己尝试。
>2. SGD优化器loss下降速度很慢,而且在接近收敛处loss下降非常缓慢。增大学习率,减少迭代次数,会出现收敛到局部最优解的情况,学员可以自己尝试。 3. Momentum优化器loss下降速度较快,充分说明Momentum优化器改进了SGD收敛速度慢的问题。改变参数,比较不同学习率和迭代次数的结果,会发现该优化器稳定性很强,学习率容易选择。相比于SGD优化器容易调参。
>3. Momentum优化器loss下降速度较快,充分说明Momentum优化器改进了SGD收敛速度慢的问题。改变参数,比较不同学习率和迭代次数的结果,会发现该优化器稳定性很强,学习率容易选择。相比于SGD优化器容易调参。 4. adam优化器loss下降速度最快快,只需要15 epoch就可以达到收敛。改变模型学习率多跑几次,会发现,adam优化器可以适应不用的学习率,容易调节参数。
>4. adam优化器loss下降速度最快快,只需要15 epoch就可以达到收敛。改变模型学习率多跑几次,会发现,adam优化器可以适应不用的学习率,容易调节参数。
### 适配训练作业 ### 适配训练作业
...@@ -796,30 +796,30 @@ mox.file.copy_parallel(src_url='model_iris', dst_url=args.train_url) ...@@ -796,30 +796,30 @@ mox.file.copy_parallel(src_url='model_iris', dst_url=args.train_url)
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
>**创建训练作业的参考配置:** 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
>
>- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore; - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore;
>- 代码目录:选择上述新建的OBS桶中的optimizer目录; - 代码目录:选择上述新建的OBS桶中的optimizer目录;
>- 启动文件:选择上述新建的OBS桶中的optimizer目录下的`main1.py/main2.py`; - 启动文件:选择上述新建的OBS桶中的optimizer目录下的`main1.py/main2.py`
>- 数据来源:数据存储位置->选择上述新建的OBS桶中的optimizer目录下的iris目录; - 数据来源:数据存储位置->选择上述新建的OBS桶中的optimizer目录下的iris目录;
>- 训练输出位置:选择上述新建的OBS桶中的optimizer目录并在其中创建model_iris目录; - 训练输出位置:选择上述新建的OBS桶中的optimizer目录并在其中创建model_iris目录;
>- 作业日志路径:同训练输出位置; - 作业日志路径:同训练输出位置;
>- 规格:Ascend:1*Ascend 910; - 规格:Ascend:1*Ascend 910;
>- 其他均为默认; - 其他均为默认;
>**启动并查看训练过程:** **启动并查看训练过程:**
>
>1. 点击提交以开始训练; 1. 点击提交以开始训练;
>2. 在训练作业列表里可以看到刚创建的训练作业,在训练作业页面可以看到版本管理; 2. 在训练作业列表里可以看到刚创建的训练作业,在训练作业页面可以看到版本管理;
>3. 点击运行中的训练作业,在展开的窗口中可以查看作业配置信息,以及训练过程中的日志,日志会不断刷新,等训练作业完成后也可以下载日志到本地进行查看; 3. 点击运行中的训练作业,在展开的窗口中可以查看作业配置信息,以及训练过程中的日志,日志会不断刷新,等训练作业完成后也可以下载日志到本地进行查看;
>4. 参考上述代码梳理,在日志中找到对应的打印信息,检查实验是否成功; 4. 参考上述代码梳理,在日志中找到对应的打印信息,检查实验是否成功;
## 实验小结 ## 实验小结
本实验目的是使用MindSpore对比不同优化器算法,通过比较不同优化器实验结果,得到如下结论: 本实验目的是使用MindSpore对比不同优化器算法,通过比较不同优化器实验结果,得到如下结论:
> - 无优化器条件训练,不更新参数,训练loss基本不变。模型与初始化参数关系大,随机性较强,效果差,不适合应用; - 无优化器条件训练,不更新参数,训练loss基本不变。模型与初始化参数关系大,随机性较强,效果差,不适合应用;
> - 有优化器条件下训练,更新模型参数。训练loss改变; - 有优化器条件下训练,更新模型参数。训练loss改变;
> - SGD优化器收敛速度慢,参数不容易调节; - SGD优化器收敛速度慢,参数不容易调节;
> - Momentum优化器是SGD加入历史梯度动量,增加了稳定性,收敛速度有明显提高,参数较SGD容易调节; - Momentum优化器是SGD加入历史梯度动量,增加了稳定性,收敛速度有明显提高,参数较SGD容易调节;
> - Adam优化器是 RMSprop + Momentum。可以适应不同学习率,可以自动为不同参数调节学习率。稳定性高,参数容易调节; - Adam优化器是 RMSprop + Momentum。可以适应不同学习率,可以自动为不同参数调节学习率。稳定性高,参数容易调节;
\ No newline at end of file \ No newline at end of file
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
"## 开发环境\n", "## 开发环境\n",
"\n", "\n",
"- MindSpore 0.1.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);\n", "- MindSpore 0.1.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);\n",
"- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html\n", "- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。\n",
"\n", "\n",
"## 开发准备\n", "## 开发准备\n",
"\n", "\n",
......
...@@ -17,23 +17,23 @@ Logistic函数针对的是二分类问题,而Softmax解决的是多分类问 ...@@ -17,23 +17,23 @@ Logistic函数针对的是二分类问题,而Softmax解决的是多分类问
- 熟练使用Python。 - 熟练使用Python。
- 具备一定的机器学习理论知识,如Softmax、交叉熵损失函数、优化器,训练策略等。 - 具备一定的机器学习理论知识,如Softmax、交叉熵损失函数、优化器,训练策略等。
- 了解华为云的基本使用方法,包括[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com - 了解华为云的基本使用方法,包括[OBS(对象存储)](https://www.huaweicloud.com/product/obs.html)[ModelArts(AI开发平台)](https://www.huaweicloud.com/product/modelarts.html)[训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0046.html)等功能。华为云官网:https://www.huaweicloud.com
- 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/ - 了解并熟悉MindSpore AI计算框架,MindSpore官网:https://www.mindspore.cn/
## 实验环境 ## 实验环境
- MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套); - MindSpore 0.5.0(MindSpore版本会定期更新,本指导也会定期刷新,与版本配套);
- 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。ModelArts官网:https://www.huaweicloud.com/product/modelarts.html - 华为云ModelArts:ModelArts是华为云提供的面向开发者的一站式AI开发平台,集成了昇腾AI处理器资源池,用户可以在该平台下体验MindSpore。
## 实验准备 ## 实验准备
### 创建OBS桶 ### 创建OBS桶
本实验需要使用华为云OBS存储脚本,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。 本实验需要使用华为云OBS存储脚本和数据集,可以参考[快速通过OBS控制台上传下载文件](https://support.huaweicloud.com/qs-obs/obs_qs_0001.html)了解使用OBS创建桶、上传文件、下载文件的使用方法。
> **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。 > **提示:** 华为云新用户使用OBS时通常需要创建和配置“访问密钥”,可以在使用OBS时根据提示完成创建和配置。也可以参考[获取访问密钥并完成ModelArts全局配置](https://support.huaweicloud.com/prepare-modelarts/modelarts_08_0002.html)获取并配置访问密钥。
创建OBS桶的参考配置如下: 打开[OBS控制台](https://storage.huaweicloud.com/obs/?region=cn-north-4&locale=zh-cn#/obs/manager/buckets),点击右上角的“创建桶”按钮进入桶配置页面,创建OBS桶的参考配置如下:
- 区域:华北-北京四 - 区域:华北-北京四
- 数据冗余存储策略:单AZ存储 - 数据冗余存储策略:单AZ存储
...@@ -47,8 +47,8 @@ Logistic函数针对的是二分类问题,而Softmax解决的是多分类问 ...@@ -47,8 +47,8 @@ Logistic函数针对的是二分类问题,而Softmax解决的是多分类问
Iris数据集是模式识别最著名的数据集之一。数据集包含3类,每类50个实例,其中每个类都涉及一种鸢尾植物。 第一类与后两类可线性分离,后两类之间不能线性分离,所以本实验取前两类数据,做一个2分类数据集。Iris数据集的官网:[Iris Data Set](http://archive.ics.uci.edu/ml/datasets/Iris) Iris数据集是模式识别最著名的数据集之一。数据集包含3类,每类50个实例,其中每个类都涉及一种鸢尾植物。 第一类与后两类可线性分离,后两类之间不能线性分离,所以本实验取前两类数据,做一个2分类数据集。Iris数据集的官网:[Iris Data Set](http://archive.ics.uci.edu/ml/datasets/Iris)
- 途径一,从Iris数据集官网下载[iris.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data) - 方式一,从Iris数据集官网下载[iris.data文件](http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data)
- 途径二,从华为云OBS中下载[iris.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/iris.data) - 方式二,从华为云OBS中下载[iris.data文件](https://share-course.obs.cn-north-4.myhuaweicloud.com/dataset/iris.data)
每个样本含有4个数值属性和一个类别属性: 每个样本含有4个数值属性和一个类别属性:
1. sepal length in cm 1. sepal length in cm
...@@ -76,7 +76,7 @@ Iris数据集是模式识别最著名的数据集之一。数据集包含3类, ...@@ -76,7 +76,7 @@ Iris数据集是模式识别最著名的数据集之一。数据集包含3类,
### 上传文件 ### 上传文件
将脚本和数据集上传到OBS桶中,组织为如下形式: 点击新建的OBS桶名,再打开“对象”标签页,通过“上传对象”、“新建文件夹”等功能,将脚本和数据集上传到OBS桶中,组织为如下形式:
``` ```
softmax_regression softmax_regression
...@@ -254,7 +254,7 @@ moxing.file.copy_parallel(src_url=os.path.join(args.data_url, 'iris.data'), dst_ ...@@ -254,7 +254,7 @@ moxing.file.copy_parallel(src_url=os.path.join(args.data_url, 'iris.data'), dst_
可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。 可以参考[使用常用框架训练模型](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0238.html)来创建并启动训练作业。
创建训练作业的参考配置: 打开[ModelArts控制台-训练管理-训练作业](https://console.huaweicloud.com/modelarts/?region=cn-north-4#/trainingJobs),点击“创建”按钮进入训练作业配置页面,创建训练作业的参考配置:
- 算法来源:常用框架->Ascend-Powered-Engine->MindSpore - 算法来源:常用框架->Ascend-Powered-Engine->MindSpore
- 代码目录:选择上述新建的OBS桶中的softmax_regression目录 - 代码目录:选择上述新建的OBS桶中的softmax_regression目录
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册