diff --git "a/\345\256\236\351\252\214\345\207\206\345\244\207\357\274\232\345\215\216\344\270\272\344\272\221\345\271\263\345\217\260\344\273\213\347\273\215.md" "b/\345\256\236\351\252\214\345\207\206\345\244\207\357\274\232\345\215\216\344\270\272\344\272\221\345\271\263\345\217\260\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..9c48fcc0850d24757e0429bc95abd001ad682b7d --- /dev/null +++ "b/\345\256\236\351\252\214\345\207\206\345\244\207\357\274\232\345\215\216\344\270\272\344\272\221\345\271\263\345\217\260\344\273\213\347\273\215.md" @@ -0,0 +1,106 @@ +# 《神经网络与机器学习》实验手册 + + + +## 实验准备:华为云平台介绍 + + + +### 实验环境介绍 + +​ 本实验主要使用华为云ModelArts服务下的 Jupyter Notebook进行。 + +>**ModelArts** +> +>ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。 +> +>https://support.huaweicloud.com/modelarts/index.html + + + +>**Jupyter Notebooks 是什么?** +> +>Jupyter Notebooks 是一款开源的网络应用,我们可以将其用于创建和共享代码与文档。 +> +>其提供了一个环境,你无需离开这个环境,就可以在其中编写你的代码、运行代码、查看输出、可视化数据并查看结果。因此,这是一款可执行端到端的数据科学工作流程的便捷工具,其中包括数据清理、统计建模、构建和训练机器学习模型、可视化数据等等。 +> +>当你还处于原型开发阶段时,Jupyter Notebooks 的作用更是引人注目。这是因为你的代码是按独立单元的形式编写的,而且这些单元是独立执行的。这让用户可以测试一个项目中的特定代码块,而无需从项目开始处执行代码。 +> +>作者:机器之心 +>链接:https://zhuanlan.zhihu.com/p/37553863 + +​ + +​ 事实上,Jupyter Notebook完全可以在你自己本地电脑或其他远程服务器上运行。但是在后面实现规模较大的网络时,我们将会学习使用华为的MindSpore框架(类似于Tensorflow,Pytorch的AI框架),这个框架目前只较好的适配华为自研的Ascend系列处理器,因此建议始终使用华为云提供的Jupyter Notebook进行实验。 + + + +>**Mindspore** +> +>MindSpore是端边云全场景按需协同的华为自研AI计算框架,提供全场景统一API,为全场景AI的模型开发、模型运行、模型部署提供端到端能力。 +> MindSpore采用端-边-云按需协作分布式架构、微分原生编程新范式以及AI Native新执行模式,实现更好的资源效率、安全可信,同时降低行业AI开发门槛、释放昇腾芯片算力,助力普惠AI。 +> +>https://e.huawei.com/cn/products/cloud-computing-dc/atlas/mindspore + + + +--- + +### 华为云平台的使用 + +- 登陆[华为云控制台](https://console.huaweicloud.com/console/?region=cn-north-4#/home),确认左上角选择位于 **华北-北京四** 的服务器,否则可能缺少需要的工作环境 + +- 在左边的服务列表中找到 **EI企业智能** 下的 **ModelArts** 服务和 **存储** 下的 **对象存储服务 OBS** + + ![hwc1](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc1.png) + +- 进入对象存储服务OBS + + ![hwc2](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc2.png) + + - 选择右上角的红色按钮创建桶 + ![hwc3](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc3.png) + - 设定你的桶名称,此名称需要全局唯一,也就是说不能与任何人已创建的桶名称相同 + - 其余设置保持默认即可 + - 单击进入你刚创建的桶,选择左侧的**对象** + - 选择上传对象,将**解压后的**pack文件夹上传 + ![hwc4](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc4.png) + +- 进入ModelArts + - 选择左侧开发环境-Notebook + - 选择创建Notebook + ![hwc5](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc5.png) + - **工作环境**选项是你创建的Notebook可以使用的环境,右侧的描述指出所选环境所支持的框架及其版本,可以看到只有`Ascend-Powered-Engine 1.0 (Python3)`支持MindSpore框架 + - 因此在需要使用MindSpore框架时请选择此环境,其他时候可以使用`Multi-Engine 1.0 (Python3, Recommended)` 使用更强的GPU算力,或选择CPU服务器节约费用 + ![hwc6](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc6.png) + - 无论使用什么环境,下面的**存储配置**选择对象存储服务OBS,存储位置选择你创建的桶中刚刚上传的文件夹 + ![hwc7](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc7.png) + - 此文件夹即为你的Notebook及其Python环境的**工作目录** + - 启动你创建的Notebook,在右侧选择**打开JupyterLab** + - 如果你已经熟悉传统的Jupyter Notebook,也可以选择**打开**使用经典的Notebook界面,我们不会用到新特性 + ![hwc8](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc8.png) + - **选中所有文件,单击Sync OBS按钮**,它在+按钮那一排的最右边 + - **在创建新的Notebook后务必进行上述操作,否则OBS中的文件即使显示在左侧,也不会被同步到Notebook工作环境**,若出现找不到文件的错误请确认是否由此引起 + ![hwc9](https://gitee.com/whu_mmap_cliang/Course_NNDL/raw/master/lab/pic/hwc9.png) + +- 现在可以自由尝试创建、打开、运行.ipynb后缀的Jupyter Notebook文档了 + + + +--- + +### 对实验文件的说明 + +/______init______.py 是一个空文件,向解释器声明该目录下的 .py 文件可以作为一个模块被其余 .py 文件导入 + +/ipynb_importer.py 使得 .ipynb 文档可以像 .py 文件一样被导入 + +```python +import ipynb_importer # 先导入此模块,此后可以像导入.py文件一样导入.ipynb中的名称 +from xxx import yyy # 从xxx.ipynb中导入yyy +``` + +/common/ 中是不同实验中需要共用的函数、网络的层等 + +/dataset/ 中存放了实验需要的数据集,不需要修改此文件夹下的文件 +