From 320f5e52ddf640614f4e08ebe036691db8dd6c6f Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:03:11 +0800 Subject: [PATCH 01/47] Add new file --- Assignment7.md | 150 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 Assignment7.md diff --git a/Assignment7.md b/Assignment7.md new file mode 100644 index 0000000..e4893ef --- /dev/null +++ b/Assignment7.md @@ -0,0 +1,150 @@ +# Assignment 6 指南 + +## `******注意,实验结束请立即删除负载均衡器和所有云主机,节省费用******` + +## `******注意2,实验未结束且短期内不会继续实验,也请删除负载均衡器和所有云主机。下次实验时重新创建******` + +## `******提示:勤用保存镜像******` + +## 实验内容 + +- 创建负载均衡器: `实验步骤 一)` +- 创建Flask App服务实例,并连接负载均衡器:`实验步骤 二)` +- 进行服务器压力测试: `实验步骤 三)` + +## 实验要求 + +- 完成所有步骤,并在实验报告([模板下载](file/assignment6/学号-实验六.docx))中完成穿插在本指南中的作业1~作业4)。实验报告转成“学号-实验六.pdf”,并上传至http://113.31.104.68:3389/index.htm +- 实验报告上传deadline: `11月20日` + +## 使用UCloud产品 + +云主机UHost、负载均衡ULB、私有网络VPC、基础网络UNet + +## 需要权限 + +云主机UHost、负载均衡ULB、基础网络UNet + + +## 基础知识 + + +`负载均衡:` load balancing,是指将用户请求按照一定的规则,分流到提供相同服务的多个服务实例上,从而减轻单点服务器的压力,是保证服务高并发高可用的技术手段之一。用户、负载均衡器和服务器实例的关系可以简化为下图。这种架构的另一个好处是可以把服务器隐藏在局域网防火墙背后,因为外网直接访问的是负载均衡器。 + + + + + +负载均衡的算法有很多,常见的如轮询,ip地址哈希,最小连接数等,应对不同的需求,感兴趣的同学可以去了解一下。 + + +`压力测试:` 测试一个系统的最大抗压能力,在强负载、高并发的情况下,测试系统所能承受的最大压力,预估系统的瓶颈。例如天猫双11之前,阿里内部会对整个淘宝平台进行全链路压测,预估应对峰值交易的能力。压力测试的工具有很多,今天我们练习使用非常简单的ApacheBench(ab)对http服务器进行压测。 + +好,废话少说,咱们书归正传! + +## 实验步骤 + +### 一)使用ULB创建一个外网负载均衡器。 + +#### 1)在产品->网络中选择负载均衡ULB,然后点击创建负载均衡。 + +#### 2)根据下图配置,选择按时付费。因为我们一会需要从外网访问Flask App,所以选择外网负载均衡。 + + + + + +#### 3)创建完毕后,记住ULB的IP地址,点击详情->VServer管理->添加VServer。这里VServer就可以看成是一个负载均衡服务器,负责分流。取任意VServer名称,其他保持默认设置,点击确定。 + + + + + +#### 4)点击“服务节点”标签页,当前没有任何实际的节点提供服务。我们接下来创建一些服务节点。 + + +### 二)使用云主机创建Flask App服务实例,并连接负载均衡器。 + +#### 1)创建一个1核1G的云主机,绑定弹性IP,选择web型防火墙,按时付费(已经很熟练了吧 :dog: :dog:) + +#### 2)使用docker file创建一个Flask App的image(比如实验2中的hello world),并且暴露docker容器的5000端口(因为Flask开发模式默认端口就是5000)。创建完毕之后运行docker,将5000端口映射到云主机的80端口。 + +``` +docker run -d --rm -p 80:5000 -name myflask luxuesong/myflaskapp +``` + +请同学们复习一下docker的安装和使用,以及通过dockerfile创建镜像。如果你意外保存了实验二的镜像,可以从镜像创建云主机,然后直接启动并docker run。 + +#### 3)打开浏览器,输入 `http://你的云主机外网ip`,测试app是否正常运行。正常则进入下一步。 + + + + + +#### 4)将云主机连到负载均衡器。回到前面添加服务节点的界面,输入端口80,则所有可添加的节点都会出现(以内网ip形式)。将你的云主机对应的内网ip,转移到待添加节点,点击确定。这时候显示健康检查“失败”,不用管它,我们在浏览器中输入 `http://你的负载均衡器ip`,奇迹发生了!我们也能访问flask app!!并且这时候健康检查也变成“正常”。 + + + + + + +## `**************作业1:请将浏览器中通过负载均衡ip访问flask app的界面,以及负载均衡器中服务节点界面截图,并插入实验报告***************` + +#### 5)此时负载均衡器只连接了一个服务实例,等同于单机访问。`为步骤三做准备,请在这一步制作当前云主机的镜像`。 + + +### 三)使用ab进行http服务器压力测试 + +#### 1)使用步骤二)中制作的镜像,创建三个最低配置的云主机(`和之前一样,只是在云主机创建界面用“自制镜像”,并且不需要弹性ip`),可以选择三台主机一次性创建 + + + + + +#### 2)创建完毕后,使用有外网ip的那台云主机,逐个ssh到三台内网机器上(通过内网ip),然后每台机器直接启动docker服务,并运行flask app容器(因为已经全都安装并且build好了 :smiley_cat: :smiley_cat: :smiley_cat:) + + + + + + + + + +#### 3)现在让我们把这三个云主机连接到负载均衡器,并且从负载均衡器中删除刚才的具有外网ip的节点(接下来我们要用外网ip节点做压测)。首先我们禁用掉其中的两个节点,只保留一个节点在启用状态。如下图所示。 + + + + + +## `**************作业2:请将此时连接到负载均衡的服务节点(三个)截图,并插入实验报告***************` + +#### 4)登录具有外网ip的云主机,安装ApacheBench +``` +sudo yum -y install httpd +``` + +#### 5)运行压测命令。`-c`表示并发数,即同时发生的请求数,`-n`表示请求总数,`http://106.75.216.169/`替换成你的负载均衡器ip。所以这里对我们的flask app并发1000个请求,总共发出10000个请求。结果如下图所示。 +``` +ab -c 1000 -n 10000 http://106.75.216.169/ +``` + + + + + +> 这里我们关注几个重要结果 + +> 1) Time taken for tests:压测总时间 + +> 2) Requests per second: 平均每秒处理请求数 + +> 3) Time per request: 平均每个请求处理时间 + +#### 6)接下来,请逐渐启用第2和第3个服务器节点,然后再运行上面的压测命令。 + +## `**************作业3:请将启用一个节点、两个节点、三个节点时的压测结果分别截图,并插入实验报告***************` + +注意,由于有网络因素干扰,每个实验你可以多进行几次压测,得到比较正常的结果再截图。 + +## `**************作业4:假设现在压测结果显示单台机器的Requests per second为30,一天中的请求峰值时间是2个小时,总共需要处理5千万个请求,请问需要至少准备多少台机器才可能平稳度过峰值请求?***************` From 75fc28438e0ac0d9006519ea18f11be56424c82f Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:03:27 +0800 Subject: [PATCH 02/47] Add new directory --- file/assignment7/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 file/assignment7/.gitkeep diff --git a/file/assignment7/.gitkeep b/file/assignment7/.gitkeep new file mode 100644 index 0000000..e69de29 From b032e9ed5ab36ce03592c49565d5ef43a22050bd Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:03:48 +0800 Subject: [PATCH 03/47] Add new directory --- img/assignment7/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/.gitkeep diff --git a/img/assignment7/.gitkeep b/img/assignment7/.gitkeep new file mode 100644 index 0000000..e69de29 From a9e4cf737b1163169fdbd133ba2a8ba943f91baf Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:12:42 +0800 Subject: [PATCH 04/47] Update Assignment7.md --- Assignment7.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index e4893ef..34ebc21 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -1,29 +1,29 @@ -# Assignment 6 指南 +# Assignment 7 指南 -## `******注意,实验结束请立即删除负载均衡器和所有云主机,节省费用******` +## `******注意,实验结束请立即删除云主机、UFS文件存储和UAI Train交互式训练任务,节省费用******` -## `******注意2,实验未结束且短期内不会继续实验,也请删除负载均衡器和所有云主机。下次实验时重新创建******` +## `******注意2,实验未结束且短期内不会继续实验,也请删除所有上述资源。下次实验时重新创建******` -## `******提示:勤用保存镜像******` ## 实验内容 -- 创建负载均衡器: `实验步骤 一)` -- 创建Flask App服务实例,并连接负载均衡器:`实验步骤 二)` -- 进行服务器压力测试: `实验步骤 三)` +- 创建文件存储: `实验步骤 一)` +- 创建云主机,并挂载文件存储:`实验步骤 二)` +- 创建UAI Train交互式训练任务,启动并切换成编辑模式: `实验步骤 三)` +- 使用交互式训练任务训练一个能够识别Mnist手写数字的神经网络:`实验步骤 四)` ## 实验要求 -- 完成所有步骤,并在实验报告([模板下载](file/assignment6/学号-实验六.docx))中完成穿插在本指南中的作业1~作业4)。实验报告转成“学号-实验六.pdf”,并上传至http://113.31.104.68:3389/index.htm -- 实验报告上传deadline: `11月20日` +- 完成所有步骤,并在实验报告([模板下载](file/assignment7/学号-实验七.docx))中完成穿插在本指南中的作业1~作业4)。实验报告转成“学号-实验七.pdf”,并上传至http://113.31.104.68:3389/index.htm +- 实验报告上传deadline: `12月4日` ## 使用UCloud产品 -云主机UHost、负载均衡ULB、私有网络VPC、基础网络UNet +云主机UHost、文件存储UFS、镜像库UHub、AI训练UAI Train、私有网络VPC、基础网络UNet ## 需要权限 -云主机UHost、负载均衡ULB、基础网络UNet +云主机UHost、文件存储UFS、镜像库UHub、AI训练UAI Train、基础网络UNet ## 基础知识 From eb7b8d48a1026742dca8a2a0c4e047d67f943225 Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:21:01 +0800 Subject: [PATCH 05/47] Update Assignment7.md --- Assignment7.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index 34ebc21..7663844 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -10,7 +10,7 @@ - 创建文件存储: `实验步骤 一)` - 创建云主机,并挂载文件存储:`实验步骤 二)` - 创建UAI Train交互式训练任务,启动并切换成编辑模式: `实验步骤 三)` -- 使用交互式训练任务训练一个能够识别Mnist手写数字的神经网络:`实验步骤 四)` +- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络:`实验步骤 四)` ## 实验要求 @@ -29,10 +29,10 @@ ## 基础知识 -`负载均衡:` load balancing,是指将用户请求按照一定的规则,分流到提供相同服务的多个服务实例上,从而减轻单点服务器的压力,是保证服务高并发高可用的技术手段之一。用户、负载均衡器和服务器实例的关系可以简化为下图。这种架构的另一个好处是可以把服务器隐藏在局域网防火墙背后,因为外网直接访问的是负载均衡器。 +`MNIST:` MNIST是一个手写数字数据库,包含60000个训练样本和10000个测试样本,是一个能够快速上手的、用于尝试机器学习和模式识别技术的数据集。以下是部分MNIST中的样本。 - + 负载均衡的算法有很多,常见的如轮询,ip地址哈希,最小连接数等,应对不同的需求,感兴趣的同学可以去了解一下。 From 3476d687683d9ea7daa22b5295cb546d1a416842 Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:21:31 +0800 Subject: [PATCH 06/47] Upload New File --- img/assignment7/ass7-mnist.png | Bin 0 -> 47047 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-mnist.png diff --git a/img/assignment7/ass7-mnist.png b/img/assignment7/ass7-mnist.png new file mode 100644 index 0000000000000000000000000000000000000000..afc88a38e07d4a4bb6221404aa8e4490c8e27f72 GIT binary patch literal 47047 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�dvm>R#^6K3IFTW5D;5mYX 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 x6&#$4#Hr_q5x>{gV-% Date: Mon, 23 Nov 2020 19:26:22 +0800 Subject: [PATCH 07/47] Upload New File --- img/assignment7/ass7-createufs.png | Bin 0 -> 40949 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-createufs.png diff --git a/img/assignment7/ass7-createufs.png b/img/assignment7/ass7-createufs.png new file mode 100644 index 0000000000000000000000000000000000000000..1ba77d7ea4c2f4465b0db0d793e827f2638df19b GIT binary patch literal 40949 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 Date: Mon, 23 Nov 2020 19:32:01 +0800 Subject: [PATCH 08/47] Upload New File --- img/assignment7/ass7-setmount.png | Bin 0 -> 22288 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-setmount.png diff --git a/img/assignment7/ass7-setmount.png b/img/assignment7/ass7-setmount.png new file mode 100644 index 0000000000000000000000000000000000000000..a9bfa4958ae41fb3b58c90d1eab229dceac8ccd3 GIT binary patch literal 22288 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 literal 0 HcmV?d00001 From 9ed17a0b21c7175996a70ec5ecc1a6e0bf072976 Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:35:41 +0800 Subject: [PATCH 09/47] Upload New File --- img/assignment7/ass7-mountinfo.png | Bin 0 -> 17690 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-mountinfo.png diff --git a/img/assignment7/ass7-mountinfo.png b/img/assignment7/ass7-mountinfo.png new file mode 100644 index 0000000000000000000000000000000000000000..edf85e64e231326c5af224d8c29c6235e8dbd942 GIT binary patch literal 17690 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 literal 0 HcmV?d00001 From 627dc224f52b6b1c6970d124208e93102f78688f Mon Sep 17 00:00:00 2001 From: xuesong Date: Mon, 23 Nov 2020 19:36:05 +0800 Subject: [PATCH 10/47] Update Assignment7.md --- Assignment7.md | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index 7663844..19c27ea 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -35,32 +35,30 @@ -负载均衡的算法有很多,常见的如轮询,ip地址哈希,最小连接数等,应对不同的需求,感兴趣的同学可以去了解一下。 - - -`压力测试:` 测试一个系统的最大抗压能力,在强负载、高并发的情况下,测试系统所能承受的最大压力,预估系统的瓶颈。例如天猫双11之前,阿里内部会对整个淘宝平台进行全链路压测,预估应对峰值交易的能力。压力测试的工具有很多,今天我们练习使用非常简单的ApacheBench(ab)对http服务器进行压测。 - -好,废话少说,咱们书归正传! ## 实验步骤 -### 一)使用ULB创建一个外网负载均衡器。 +### 一)创建一个文件存储 -#### 1)在产品->网络中选择负载均衡ULB,然后点击创建负载均衡。 +#### 1)在产品->存储中选择“文件存储UFS”,然后点击创建文件系统。 -#### 2)根据下图配置,选择按时付费。因为我们一会需要从外网访问Flask App,所以选择外网负载均衡。 +#### 2)如下图,存储类型选择SSD性能型,100GB,按时付费。 - + -#### 3)创建完毕后,记住ULB的IP地址,点击详情->VServer管理->添加VServer。这里VServer就可以看成是一个负载均衡服务器,负责分流。取任意VServer名称,其他保持默认设置,点击确定。 +#### 3)创建完毕后,点击添加挂载点,如下图所示选择一个VPC网络,使得相应的子网是DefaultNetwork,点击确定。这样我们等一下在DefaultNetwork下面创建一个云主机,就能把这个文件存储挂载到云主机上。 - + -#### 4)点击“服务节点”标签页,当前没有任何实际的节点提供服务。我们接下来创建一些服务节点。 +#### 4)点击“管理挂载”,查看挂载信息,记住文件存储所在的ip地址 + + + + ### 二)使用云主机创建Flask App服务实例,并连接负载均衡器。 From 4017f4eef1637acc4dab5e37b9cf4a83b84c3381 Mon Sep 17 00:00:00 2001 From: xuesong Date: Wed, 25 Nov 2020 22:06:28 +0800 Subject: [PATCH 11/47] Update Assignment7.md --- Assignment7.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index 19c27ea..fea5ec4 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -9,8 +9,9 @@ - 创建文件存储: `实验步骤 一)` - 创建云主机,并挂载文件存储:`实验步骤 二)` -- 创建UAI Train交互式训练任务,启动并切换成编辑模式: `实验步骤 三)` -- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络:`实验步骤 四)` +- 在文件存储中创建一个项目文件夹,并在学院GitLab中新建一个同步仓库:`实验步骤 三)` +- 创建UAI Train交互式训练任务,启动并切换成编辑模式: `实验步骤 四)` +- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络:`实验步骤 五)` ## 实验要求 @@ -54,24 +55,30 @@ -#### 4)点击“管理挂载”,查看挂载信息,记住文件存储所在的ip地址 +#### 4)点击“管理挂载”,查看挂载信息,记住文件存储所在的ip地址,第二)步中我们把这个文件存储挂在到云主机上。 -### 二)使用云主机创建Flask App服务实例,并连接负载均衡器。 +### 二)将文件存储挂载到云主机上,使得它在逻辑上成为云主机的一个分区 -#### 1)创建一个1核1G的云主机,绑定弹性IP,选择web型防火墙,按时付费(已经很熟练了吧 :dog: :dog:) +#### 1)创建一个1核1G的云主机,绑定弹性IP,按时付费(这个云主机必须在文件存储所挂载的子网中,否则无法和文件存储通信) -#### 2)使用docker file创建一个Flask App的image(比如实验2中的hello world),并且暴露docker容器的5000端口(因为Flask开发模式默认端口就是5000)。创建完毕之后运行docker,将5000端口映射到云主机的80端口。 +#### 2)登录云主机,安装NFS ``` -docker run -d --rm -p 80:5000 -name myflask luxuesong/myflaskapp +sudo yum install -y nfs-utils ``` -请同学们复习一下docker的安装和使用,以及通过dockerfile创建镜像。如果你意外保存了实验二的镜像,可以从镜像创建云主机,然后直接启动并docker run。 +NFS(Network File System)是一个能够使得本地主机访问远程主机文件系统的应用程序。因为步骤一)创建的文件存储对于当前的云主机来讲是一个远程存储(网络存储),使用NFS协议才能将其挂载到当前云主机上。 + +#### 3)在云主机上挂载文件存储,挂载点为/mnt + +``` +sudo yum mount -t nfs4 你的文件存储IP地址:/ /mnt +``` #### 3)打开浏览器,输入 `http://你的云主机外网ip`,测试app是否正常运行。正常则进入下一步。 From 3dfab06014780fe9021b45ecb1fabdcf36d36bfc Mon Sep 17 00:00:00 2001 From: xuesong Date: Wed, 25 Nov 2020 22:17:22 +0800 Subject: [PATCH 12/47] Update Assignment7.md --- Assignment7.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Assignment7.md b/Assignment7.md index fea5ec4..16666b7 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -80,8 +80,13 @@ NFS(Network File System)是一个能够使得本地主机访问远程主机 sudo yum mount -t nfs4 你的文件存储IP地址:/ /mnt ``` -#### 3)打开浏览器,输入 `http://你的云主机外网ip`,测试app是否正常运行。正常则进入下一步。 +#### 4)运行如下命令查看当前云主机的文件系统 +``` +df -hT +``` + +你应该看到如下图所示内容,其中 From d886ed28c488c876040a388c0b3038c25c0ccb37 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 07:56:23 +0800 Subject: [PATCH 13/47] Upload New File --- img/assignment7/ass7-df.png | Bin 0 -> 35564 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-df.png diff --git a/img/assignment7/ass7-df.png b/img/assignment7/ass7-df.png new file mode 100644 index 0000000000000000000000000000000000000000..565c2cd21c12009ac1535377533cdf8d30733eb0 GIT binary patch literal 35564 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%0AAO11ilPu(NfUoX$R}ia(zPU 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 literal 0 HcmV?d00001 From 2b1f7688eecddd338cfeeb2e044bc17887940cec Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 08:02:49 +0800 Subject: [PATCH 14/47] Upload New File --- img/assignment7/ass7-mnistdir.png | Bin 0 -> 6127 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-mnistdir.png diff --git a/img/assignment7/ass7-mnistdir.png b/img/assignment7/ass7-mnistdir.png new file mode 100644 index 0000000000000000000000000000000000000000..9263707b90adac65b90b0b01eda2505a094c4cb9 GIT binary patch literal 6127 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 Date: Thu, 26 Nov 2020 10:47:48 +0800 Subject: [PATCH 15/47] Upload New File --- img/assignment7/ass7-createrepo1.png | Bin 0 -> 10234 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-createrepo1.png diff --git a/img/assignment7/ass7-createrepo1.png b/img/assignment7/ass7-createrepo1.png new file mode 100644 index 0000000000000000000000000000000000000000..259a6bac5597bc227e4e55ed20e2d8c3588fcc23 GIT binary patch literal 10234 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 Date: Thu, 26 Nov 2020 10:47:56 +0800 Subject: [PATCH 16/47] Upload New File --- img/assignment7/ass7-createrepo2.png | Bin 0 -> 33131 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-createrepo2.png diff --git a/img/assignment7/ass7-createrepo2.png b/img/assignment7/ass7-createrepo2.png new file mode 100644 index 0000000000000000000000000000000000000000..30d6e39bdb3f94767f45184bfff2f62f151c4bde GIT binary patch literal 33131 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 Date: Thu, 26 Nov 2020 10:52:38 +0800 Subject: [PATCH 17/47] Upload New File --- img/assignment7/ass7-sshaddr.png | Bin 0 -> 29268 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-sshaddr.png diff --git a/img/assignment7/ass7-sshaddr.png b/img/assignment7/ass7-sshaddr.png new file mode 100644 index 0000000000000000000000000000000000000000..cccf4cd2b46269dd627956fedaadf110ec875dda GIT binary patch literal 29268 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 W@q3^A?6Mf Date: Thu, 26 Nov 2020 11:07:14 +0800 Subject: [PATCH 18/47] Upload New File --- img/assignment7/ass7-key3.png | Bin 0 -> 37808 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-key3.png diff --git a/img/assignment7/ass7-key3.png b/img/assignment7/ass7-key3.png new file mode 100644 index 0000000000000000000000000000000000000000..4c43bf7735222ad4780ab2a4f3cda614d675363d GIT binary patch literal 37808 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 Date: Thu, 26 Nov 2020 11:07:22 +0800 Subject: [PATCH 19/47] Upload New File --- img/assignment7/ass7-key2.png | Bin 0 -> 9757 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-key2.png diff --git a/img/assignment7/ass7-key2.png b/img/assignment7/ass7-key2.png new file mode 100644 index 0000000000000000000000000000000000000000..f28f23fde7e07be534038646969a41996c02c960 GIT binary patch literal 9757 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 Date: Thu, 26 Nov 2020 11:07:29 +0800 Subject: [PATCH 20/47] Upload New File --- img/assignment7/ass7-key1.png | Bin 0 -> 8739 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-key1.png diff --git a/img/assignment7/ass7-key1.png b/img/assignment7/ass7-key1.png new file mode 100644 index 0000000000000000000000000000000000000000..c67b9c42f3ea730f1a87385a45976fcf9115f4be GIT binary patch literal 8739 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 Xpj$Xj#sc4(0O@KOTrY#%d;I?ZEi1*> literal 0 HcmV?d00001 From 38cedacb03298362fc68a046f07a5055c8eb7f30 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 11:12:25 +0800 Subject: [PATCH 21/47] Upload New File --- img/assignment7/ass7-key4.png | Bin 0 -> 19128 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-key4.png diff --git a/img/assignment7/ass7-key4.png b/img/assignment7/ass7-key4.png new file mode 100644 index 0000000000000000000000000000000000000000..e845ba5f27494e04a3a96a26676799647f70d403 GIT binary patch literal 19128 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 G&;$U;LZb`- literal 0 HcmV?d00001 From 7f9f81b674919a1682c434e05d8ecfe4ce413e7c Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 11:12:37 +0800 Subject: [PATCH 22/47] Update Assignment7.md --- Assignment7.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 66 insertions(+), 12 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index 16666b7..b0cfa68 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -9,9 +9,9 @@ - 创建文件存储: `实验步骤 一)` - 创建云主机,并挂载文件存储:`实验步骤 二)` -- 在文件存储中创建一个项目文件夹,并在学院GitLab中新建一个同步仓库:`实验步骤 三)` +- 在水杉码园创建一个仓库,并下载至文件存储:`实验步骤 三)` - 创建UAI Train交互式训练任务,启动并切换成编辑模式: `实验步骤 四)` -- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络:`实验步骤 五)` +- 使用交互式训练任务训练一个能够识别MNIST手写数字的神经网络,并将所有内容同步到水杉码园:`实验步骤 五)` ## 实验要求 @@ -86,32 +86,86 @@ sudo yum mount -t nfs4 你的文件存储IP地址:/ /mnt df -hT ``` -你应该看到如下图所示内容,其中 +你应该看到如下图所示内容 + - + -#### 4)将云主机连到负载均衡器。回到前面添加服务节点的界面,输入端口80,则所有可添加的节点都会出现(以内网ip形式)。将你的云主机对应的内网ip,转移到待添加节点,点击确定。这时候显示健康检查“失败”,不用管它,我们在浏览器中输入 `http://你的负载均衡器ip`,奇迹发生了!我们也能访问flask app!!并且这时候健康检查也变成“正常”。 +### 三)在水杉码园创建一个仓库,并下载至文件存储 + +#### 1)登录水杉在线,并进入水杉码园。创建一个仓库mnist(命名随意),创建完毕后,找到你的仓库ssh地址,备用 + + + + - + + + + + +#### 2)在云主机上安装git + +``` +sudo yum install -y git +``` +#### 3)生成云主机密钥,使用密钥访问水杉码园 -## `**************作业1:请将浏览器中通过负载均衡ip访问flask app的界面,以及负载均衡器中服务节点界面截图,并插入实验报告***************` +``` +ssh-keygen +``` +不用在提示符中输入任何内容,连摁回车,密钥即生成。可以在~/.ssh/下看到你生成的两个密钥,id_rsa是私钥,id_rsa.pub是公钥。如果你使用root账号,密钥在/root/.ssh/目录下。接下来我们要把公钥给码园,以后从这台云主机访问码园,云主机会把私钥提供给码园进行身份验证。 -#### 5)此时负载均衡器只连接了一个服务实例,等同于单机访问。`为步骤三做准备,请在这一步制作当前云主机的镜像`。 +#### 4)复制公钥的内容 +``` +cat ~/.ssh/id_rsa.pub +``` -### 三)使用ab进行http服务器压力测试 +复制屏幕上出现的公钥内容 -#### 1)使用步骤二)中制作的镜像,创建三个最低配置的云主机(`和之前一样,只是在云主机创建界面用“自制镜像”,并且不需要弹性ip`),可以选择三台主机一次性创建 +#### 5)在码园中创建公钥,并粘贴上述公钥内容 - + + + + + + + + + +#### 6)在云主机上运行如下命令,取消码园密码访问 + +``` +eval 'ssh-agent -s' +exec ssh-agent bash +ssh-add ~/.ssh/id_rsa +ssh -T root@gitea.shuishan.net.cn +``` + +如果你看到如下输出,说明密钥访问设置成功 + + + + + + +#### 1)进入/mnt,创建文件夹mnist;然后进入mnist,创建三个文件夹code,data,output。创建完毕后,mnist文件夹结构如下图所示。 + + + + + +在步骤三)和四)中,我们将代码放在code文件夹中,数据放在data中,模型放在output中 + -#### 2)创建完毕后,使用有外网ip的那台云主机,逐个ssh到三台内网机器上(通过内网ip),然后每台机器直接启动docker服务,并运行flask app容器(因为已经全都安装并且build好了 :smiley_cat: :smiley_cat: :smiley_cat:) From b31a39a032b89d44c550ec318f3ed0df539aece3 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 11:25:00 +0800 Subject: [PATCH 23/47] Update Assignment7.md --- Assignment7.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index b0cfa68..d4b193e 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -107,10 +107,12 @@ df -hT -#### 2)在云主机上安装git +#### 2)在云主机上安装git,并配置一下 ``` sudo yum install -y git +git config --global user.name "陆雪松" +git config --global user.email "xuesong.lu.dase@gmail.com" ``` #### 3)生成云主机密钥,使用密钥访问水杉码园 @@ -150,12 +152,25 @@ ssh-add ~/.ssh/id_rsa ssh -T root@gitea.shuishan.net.cn ``` -如果你看到如下输出,说明密钥访问设置成功 +如果你看到类似如下输出,说明密钥访问设置成功 +#### 7)将mnist仓库下载的文件储存 + +``` +cd /mnt +sudo mkdir mnist +sudo chown xuesong:xuesong mnist //更改mnist文件夹拥有者(即你的云主机登录账号)。假如你使用root账号,这步不需要 +cd mnist +git init +git pull +git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将pull后面的内容替换成你仓库的ssh地址 +``` + +#### 8)新建三个目录code,data,output,下一个步骤中会使用。创建完毕后,你的 #### 1)进入/mnt,创建文件夹mnist;然后进入mnist,创建三个文件夹code,data,output。创建完毕后,mnist文件夹结构如下图所示。 From ee1e0cc86c938bae855b102abe6c642d9741079e Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 11:26:45 +0800 Subject: [PATCH 24/47] Upload New File --- img/assignment7/ass7-tree.png | Bin 0 -> 5846 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-tree.png diff --git a/img/assignment7/ass7-tree.png b/img/assignment7/ass7-tree.png new file mode 100644 index 0000000000000000000000000000000000000000..c199138d6be01b61c66821ef5d269d7cc72831a0 GIT binary patch literal 5846 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 literal 0 HcmV?d00001 From 2b79675a3bda5c847673f16322f00805f5036d24 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 11:28:54 +0800 Subject: [PATCH 25/47] Update Assignment7.md --- Assignment7.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index d4b193e..0abbca6 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -170,15 +170,19 @@ git pull git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将pull后面的内容替换成你仓库的ssh地址 ``` -#### 8)新建三个目录code,data,output,下一个步骤中会使用。创建完毕后,你的 - -#### 1)进入/mnt,创建文件夹mnist;然后进入mnist,创建三个文件夹code,data,output。创建完毕后,mnist文件夹结构如下图所示。 +#### 8)新建三个目录code,data,output,下一个步骤中会使用。创建完毕后,你的mnist文件夹应该有如下结构。 - + -在步骤三)和四)中,我们将代码放在code文件夹中,数据放在data中,模型放在output中 +在步骤四)和五)中,我们将代码放在code文件夹中,数据放在data中,模型放在output中 + + + + + + From 47a2ce721f6910ae000d8d31e84c3fe855cd92c0 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 12:36:32 +0800 Subject: [PATCH 26/47] Upload New File --- img/assignment7/ass7-aitrain.png | Bin 0 -> 43204 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-aitrain.png diff --git a/img/assignment7/ass7-aitrain.png b/img/assignment7/ass7-aitrain.png new file mode 100644 index 0000000000000000000000000000000000000000..9d7de77f584ec66a199e88b0834bc3e032e42ea8 GIT binary patch literal 43204 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 literal 0 HcmV?d00001 From 957d03c43a2c589ba457d0eac4e2210b5f74bbfe Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 12:44:53 +0800 Subject: [PATCH 27/47] Upload New File --- img/assignment7/ass7-trainjob.png | Bin 0 -> 14945 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-trainjob.png diff --git a/img/assignment7/ass7-trainjob.png b/img/assignment7/ass7-trainjob.png new file mode 100644 index 0000000000000000000000000000000000000000..c710eb7b92548e9b54af95bc0053f97290a7e608 GIT binary patch literal 14945 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 VF|*?PuGJ^)em`Sfdfemg{{TL8?bHAO literal 0 HcmV?d00001 From 9c88938b6dd35b46e21f8641fb539098d548ce46 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 12:56:21 +0800 Subject: [PATCH 28/47] Upload New File --- img/assignment7/ass7-switch1.png | Bin 0 -> 3824 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-switch1.png diff --git a/img/assignment7/ass7-switch1.png b/img/assignment7/ass7-switch1.png new file mode 100644 index 0000000000000000000000000000000000000000..8a54e5cb14d20af2e58dd8e2226821eb1e82da65 GIT binary patch literal 3824 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 literal 0 HcmV?d00001 From e2ae445ef1951ddabd13e4bea9dc3ba5f2ad96cc Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 12:56:30 +0800 Subject: [PATCH 29/47] Upload New File --- img/assignment7/ass7-switch2.png | Bin 0 -> 30458 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-switch2.png diff --git a/img/assignment7/ass7-switch2.png b/img/assignment7/ass7-switch2.png new file mode 100644 index 0000000000000000000000000000000000000000..6446f5834dd745a215726660317c376aa26b88ec GIT binary patch literal 30458 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 Date: Thu, 26 Nov 2020 12:56:38 +0800 Subject: [PATCH 30/47] Upload New File --- img/assignment7/ass7-switch3.png | Bin 0 -> 24388 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-switch3.png diff --git a/img/assignment7/ass7-switch3.png b/img/assignment7/ass7-switch3.png new file mode 100644 index 0000000000000000000000000000000000000000..23160432cfb8ec59a29aeaef427c35737ff8ce46 GIT binary patch literal 24388 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

LGi1ZMp(UG1ny;-vKWlP(s<% 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 Date: Thu, 26 Nov 2020 12:56:47 +0800 Subject: [PATCH 31/47] Upload New File --- img/assignment7/ass7-switch4.png | Bin 0 -> 11879 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-switch4.png diff --git a/img/assignment7/ass7-switch4.png b/img/assignment7/ass7-switch4.png new file mode 100644 index 0000000000000000000000000000000000000000..d45ac4a979258057fed921d75e325fbdd4ae693c GIT binary patch literal 11879 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 Zh-Lt6(nj_VgEk&mT(Z7cdBNk+{{Ys{x#s`? literal 0 HcmV?d00001 From b1eee55800462aeffa363fe982e9f1bd114d7dbe Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 12:59:45 +0800 Subject: [PATCH 32/47] Update Assignment7.md --- Assignment7.md | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index 0abbca6..c4e8eeb 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -179,21 +179,52 @@ git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将 在步骤四)和五)中,我们将代码放在code文件夹中,数据放在data中,模型放在output中 +### 四)创建UAI Train交互式训练任务,并切换成`编辑模式` (重要!!) +#### 1)在UCloud产品中人工智能分类下面,选择"AI训练服务 UAI Train",点击“交互式训练”选项卡->创建交互式训练任务 +#### 2)任务命名随意,在执行信息里面,输入Ucloud账号的公钥和私钥(右上角“API密钥”),代码镜像路径为默认,其余路径均选择UFS,然后如下图所示配置 + + + + +> 简要说明一下交互式训练的工作原理:启动任务的时候,UAI Train会运行一个docker容器,可以是UCloud的默认镜像,也可以是你自己创建的镜像,默认镜像已经安装了python,pytorch,tensorflow等等工具。我们配置的上述UFS路径,UAI Train会将他们映射到容器的/data目录下。也就是说,mnist/data会映射到容器的/data/data目录,mnist/code会映射到容器的/data/code目录。接下来我们便可以在容器中访问这些路径,运行代码。 + +#### 3)配置完毕,创建任务,等状态变成“执行中”,说明创建成功。 + + + + + +#### 4)这一步非常重要!!创建成功后,立即将任务模式从“训练模式”切换成`编辑模式`。 +> 点击“切换” + + + + +> 选择一个镜像库,填入要保存的镜像名。如果你的项目中还没有镜像库,则新建一个镜像库。 + + + + +> 填入公钥和私钥,点击“确定” - + +> 等待几分钟,等运行状态重新变成“执行中”,说明切换成功。这时候任务模式已经是“编辑模式”。 + - + +说明:这么做的原因只有一个,训练模式烧钱 :joy: :joy: !! + #### 3)现在让我们把这三个云主机连接到负载均衡器,并且从负载均衡器中删除刚才的具有外网ip的节点(接下来我们要用外网ip节点做压测)。首先我们禁用掉其中的两个节点,只保留一个节点在启用状态。如下图所示。 From 40b1d10768d9b0ec1b98be64612ff098e51b68d7 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:07:50 +0800 Subject: [PATCH 33/47] Upload New File --- img/assignment7/ass7-switch5.png | Bin 0 -> 7366 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-switch5.png diff --git a/img/assignment7/ass7-switch5.png b/img/assignment7/ass7-switch5.png new file mode 100644 index 0000000000000000000000000000000000000000..52cb1020970678bbd948a664268894da456b1fe3 GIT binary patch literal 7366 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 literal 0 HcmV?d00001 From 5216186e2ab700663826f30d7e06967266e9832d Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:21:21 +0800 Subject: [PATCH 34/47] Update Assignment7.md --- Assignment7.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Assignment7.md b/Assignment7.md index c4e8eeb..c711f0c 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -223,7 +223,27 @@ git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将 -说明:这么做的原因只有一个,训练模式烧钱 :joy: :joy: !! +说明:这么做的原因只有一个,训练模式跑的是GPU,太烧钱 :joy: :joy: !! +写代码时是不需要GPU的,所以切换到编辑模式,跑在CPU机器上;当代码完成,需要大规模训练的时候,才使用训练模式。 + +## 本实验不需要用到GPU,请确保一直在编辑模式下完成实验!!并且,实验暂停时,请点击“停止”暂停任务,这样便不会收费 + + + + + + +### 五)使用交互式训练任务训练MNIST识别模型,最后将所有内容同步到水杉码园 + +#### 1)点击训练任务的“Jupyter”按钮,进入jupyter notebook,我们看到了文件存储上的三个文件夹code,data和output,因为我们将它们映射到了容器中。 + +#### 2)点击进入code,新建一个tensorflow的notebook,并重命名,然后保存文件 + +#### 3)回到云主机的/mnt/mnist/data目录下 + + + + #### 3)现在让我们把这三个云主机连接到负载均衡器,并且从负载均衡器中删除刚才的具有外网ip的节点(接下来我们要用外网ip节点做压测)。首先我们禁用掉其中的两个节点,只保留一个节点在启用状态。如下图所示。 From 35a9f33298ba358003e13e9bb893527a810a1cf2 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:23:34 +0800 Subject: [PATCH 35/47] Update Assignment7.md --- Assignment7.md | 1 - 1 file changed, 1 deletion(-) diff --git a/Assignment7.md b/Assignment7.md index c711f0c..ed59e61 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -166,7 +166,6 @@ sudo mkdir mnist sudo chown xuesong:xuesong mnist //更改mnist文件夹拥有者(即你的云主机登录账号)。假如你使用root账号,这步不需要 cd mnist git init -git pull git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将pull后面的内容替换成你仓库的ssh地址 ``` From 63d2d6d8e418b3967019a228b259570cfc485db0 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:47:52 +0800 Subject: [PATCH 36/47] Upload New File --- img/assignment7/ass7-jupynote.png | Bin 0 -> 7461 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-jupynote.png diff --git a/img/assignment7/ass7-jupynote.png b/img/assignment7/ass7-jupynote.png new file mode 100644 index 0000000000000000000000000000000000000000..c484d48b1d1ff54e7840d5fe280c9de3cc78c4ce GIT binary patch literal 7461 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 literal 0 HcmV?d00001 From 8bb8489fd1badaa4a0917200d4e0fb2f9e0f5386 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:47:59 +0800 Subject: [PATCH 37/47] Upload New File --- img/assignment7/ass7-jupynotern.png | Bin 0 -> 20228 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-jupynotern.png diff --git a/img/assignment7/ass7-jupynotern.png b/img/assignment7/ass7-jupynotern.png new file mode 100644 index 0000000000000000000000000000000000000000..8d270ff864231fb2a24e527c261a5b412da5954d GIT binary patch literal 20228 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 IbxsLQ0BeW0)&Kwi literal 0 HcmV?d00001 From 5ac739490602bcf1e4774d0bd6fa1c87da5e343e Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:48:07 +0800 Subject: [PATCH 38/47] Upload New File --- img/assignment7/ass7-mnisttree.png | Bin 0 -> 15709 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-mnisttree.png diff --git a/img/assignment7/ass7-mnisttree.png b/img/assignment7/ass7-mnisttree.png new file mode 100644 index 0000000000000000000000000000000000000000..c405a5ad8e7df7ff839bdddc17f04b734014e024 GIT binary patch literal 15709 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 literal 0 HcmV?d00001 From fd200daca79305127c1f717985b8c78df1dc8204 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 13:49:44 +0800 Subject: [PATCH 39/47] Upload New File --- img/assignment7/ass7-tf.png | Bin 0 -> 16461 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-tf.png diff --git a/img/assignment7/ass7-tf.png b/img/assignment7/ass7-tf.png new file mode 100644 index 0000000000000000000000000000000000000000..db86f3b57e63868a127e66378ac90986f31b3635 GIT binary patch literal 16461 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 ZYFREy$ad$+1WbbI8dUcx_KMAe{{u}cQ=I?+ literal 0 HcmV?d00001 From 264ef3b7c7cbc089553c77ab552b2041e2afcf13 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 14:30:16 +0800 Subject: [PATCH 40/47] Upload New File --- file/assignment7/mnist.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 file/assignment7/mnist.py diff --git a/file/assignment7/mnist.py b/file/assignment7/mnist.py new file mode 100644 index 0000000..2e814da --- /dev/null +++ b/file/assignment7/mnist.py @@ -0,0 +1,55 @@ +import os +import tensorflow as tf +import matplotlib.pyplot as plt +import numpy as np + +mnist = tf.keras.datasets.mnist +(x_train, y_train),(x_test, y_test) = mnist.load_data(path="/data/data/mnist.npz") #加载mnist数据集 + +#验证mnist数据集大小。x为数据,y为标签。mnist每张图的像素为28*28 +print(x_train.shape) +print(y_train.shape) +print(x_test.shape) +print(y_test.shape) + +#打印训练集中前9张,看看是什么数字 +for i in range(9): + plt.subplot(3,3,1+i) + plt.imshow(x_train[i], cmap='gray') +plt.show() + +#打印相应的标签 +print(y_train[:9]) + +#基操:将像素标准化一下 +x_train, x_test = x_train / 255.0, x_test / 255.0 + +#搭建一个两层神经网络 +model = tf.keras.models.Sequential([ + tf.keras.layers.Flatten(input_shape=(28, 28)), #拉伸图像成一维向量 + tf.keras.layers.Dense(128, activation='relu'), #第一层全连接+ReLU激活 + tf.keras.layers.Dropout(0.2), #dropout层 + tf.keras.layers.Dense(10, activation='softmax') #第二层全连接+softmax激活,输出预测标签 +]) + +#设置训练超参,优化器为sgd,损失函数为交叉熵,训练衡量指标为accuracy +model.compile(optimizer='sgd', loss='sparse_categorical_crossentropy', metrics=['accuracy']) + +#开始训练,训练5个epoch,一个epoch代表所有图像计算一遍。每一个epoch能观察到训练精度的提升 +model.fit(x_train, y_train, epochs=5) + +#计算训练了5个epoch的模型在测试集上的表现 +model.evaluate(x_test, y_test) + + +#直观看一下模型预测结果,打印测试集中的前9张图像 +for i in range(9): + plt.subplot(3,3,1+i) + plt.imshow(x_test[i], cmap='gray') +plt.show() + +#打印模型识别的数字,是否正确? +np.argmax(model(x_test[:9]).numpy(), axis=1) + +#保存训练好的模型 +model.save("/data/output/model_epoch_5") \ No newline at end of file From 033780075ebcdfa3ee380cd5daf0f8584a890224 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 14:33:21 +0800 Subject: [PATCH 41/47] Update Assignment7.md --- Assignment7.md | 47 ++++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index ed59e61..417fcf2 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -236,48 +236,41 @@ git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将 #### 1)点击训练任务的“Jupyter”按钮,进入jupyter notebook,我们看到了文件存储上的三个文件夹code,data和output,因为我们将它们映射到了容器中。 -#### 2)点击进入code,新建一个tensorflow的notebook,并重命名,然后保存文件 - -#### 3)回到云主机的/mnt/mnist/data目录下 - - - - + + + -#### 3)现在让我们把这三个云主机连接到负载均衡器,并且从负载均衡器中删除刚才的具有外网ip的节点(接下来我们要用外网ip节点做压测)。首先我们禁用掉其中的两个节点,只保留一个节点在启用状态。如下图所示。 +#### 2)点击进入code,新建一个tensorflow的notebook,并重命名为mnist,然后保存文件 - + -## `**************作业2:请将此时连接到负载均衡的服务节点(三个)截图,并插入实验报告***************` + + + -#### 4)登录具有外网ip的云主机,安装ApacheBench -``` -sudo yum -y install httpd -``` +#### 3)回到云主机,进入/mnt/mnist/data目录,下载mnist数据集。完成后你的mnist目录结构应该如下图所示(output中可能略有不同) -#### 5)运行压测命令。`-c`表示并发数,即同时发生的请求数,`-n`表示请求总数,`http://106.75.216.169/`替换成你的负载均衡器ip。所以这里对我们的flask app并发1000个请求,总共发出10000个请求。结果如下图所示。 ``` -ab -c 1000 -n 10000 http://106.75.216.169/ +wget https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz ``` - + -> 这里我们关注几个重要结果 - -> 1) Time taken for tests:压测总时间 +#### 4)此时让我们先把这些文件push一把,同步到码园中。在/mnt/mnist下,运行 -> 2) Requests per second: 平均每秒处理请求数 - -> 3) Time per request: 平均每个请求处理时间 +``` +git remote add origin root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //替换成你的码园仓库 +git add . +git commit -m "xuesong's first commit" +git push origin master +``` -#### 6)接下来,请逐渐启用第2和第3个服务器节点,然后再运行上面的压测命令。 +没有报错则成功push,去水杉码园查看你的仓库验证。 -## `**************作业3:请将启用一个节点、两个节点、三个节点时的压测结果分别截图,并插入实验报告***************` +#### 5)下载mnist训练代码[mnist.py](file/assignment7/mnist.py),并在刚刚创建的mnist.ipynb中验证、训练一个模型。 -注意,由于有网络因素干扰,每个实验你可以多进行几次压测,得到比较正常的结果再截图。 -## `**************作业4:假设现在压测结果显示单台机器的Requests per second为30,一天中的请求峰值时间是2个小时,总共需要处理5千万个请求,请问需要至少准备多少台机器才可能平稳度过峰值请求?***************` From 9cd0822f94504275e7ed5acc7edf5d32a5eef94c Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 14:36:38 +0800 Subject: [PATCH 42/47] Update Assignment7.md --- Assignment7.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Assignment7.md b/Assignment7.md index 417fcf2..5f58817 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -273,4 +273,10 @@ git push origin master #### 5)下载mnist训练代码[mnist.py](file/assignment7/mnist.py),并在刚刚创建的mnist.ipynb中验证、训练一个模型。 +#### 6)保存训练代码,并push到水杉码园中。 +``` +git add . +git commit -m "commit source code and model" +git push origin master +``` From b8b0aa9cf4dabd9f3dddcfd94bcbd1537b6d8b06 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 14:52:25 +0800 Subject: [PATCH 43/47] Update Assignment7.md --- Assignment7.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Assignment7.md b/Assignment7.md index 5f58817..c0b3c20 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -55,7 +55,7 @@ -#### 4)点击“管理挂载”,查看挂载信息,记住文件存储所在的ip地址,第二)步中我们把这个文件存储挂在到云主机上。 +#### 4)点击“管理挂载”,查看挂载信息,记住文件存储所在的ip地址,第二)步中我们把这个文件存储挂载到云主机上。 @@ -95,7 +95,7 @@ df -hT ### 三)在水杉码园创建一个仓库,并下载至文件存储 -#### 1)登录水杉在线,并进入水杉码园。创建一个仓库mnist(命名随意),创建完毕后,找到你的仓库ssh地址,备用 +#### 1)登录水杉在线,并进入水杉码园。创建一个仓库mnist(你也可以用其他命名,但后续操作请做相应修改),创建完毕后,找到你的仓库ssh地址,备用 @@ -122,7 +122,7 @@ ssh-keygen ``` 不用在提示符中输入任何内容,连摁回车,密钥即生成。可以在~/.ssh/下看到你生成的两个密钥,id_rsa是私钥,id_rsa.pub是公钥。如果你使用root账号,密钥在/root/.ssh/目录下。接下来我们要把公钥给码园,以后从这台云主机访问码园,云主机会把私钥提供给码园进行身份验证。 -#### 4)复制公钥的内容 +#### 4)打印并复制公钥的内容 ``` cat ~/.ssh/id_rsa.pub @@ -158,7 +158,7 @@ ssh -T root@gitea.shuishan.net.cn -#### 7)将mnist仓库下载的文件储存 +#### 7)将mnist仓库下载到文件储存 ``` cd /mnt @@ -169,7 +169,7 @@ git init git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将pull后面的内容替换成你仓库的ssh地址 ``` -#### 8)新建三个目录code,data,output,下一个步骤中会使用。创建完毕后,你的mnist文件夹应该有如下结构。 +#### 8)在mnist下面新建三个目录code,data,output,下一个步骤中会使用。创建完毕后,你的mnist文件夹应该有如下结构。 From 72215c3a724b074c1aadb874b523830d06fcec11 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 14:56:30 +0800 Subject: [PATCH 44/47] Upload New File --- file/assignment7/学号-实验七.docx | Bin 0 -> 11779 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 file/assignment7/学号-实验七.docx diff --git a/file/assignment7/学号-实验七.docx b/file/assignment7/学号-实验七.docx new file mode 100644 index 0000000000000000000000000000000000000000..c8e7f44b342a20fb96bb0f92ecc51bd4710ac28d GIT binary patch literal 11779 zcmeHt^e6TW|?ZaEJG1c4ucMGw=5w z*zF(Az1^puI(_O>)z$T!Qj~#!L|M?5 zT@6&d9L-$x=soRh33DL9DYF6Kp!xr6|HT@pOBlBAW<(adNxVmjZB#Sf%PFA-kKj+D zQ{IQh_5oLaitBHEZbt)GQUi;Hvn3{DxmjgV?+cn-O0$JUsrMi|#NtbO7q4%{L9;l& zP3LclL%xx~xGFTr9$?Gb+J+;`4#r4Q-xD{g0;iCXn-PSec?*c9PK;3}^^Rh}4}QdC zS-)vpg-Bi{bEHzJhsH(J&qjS6Uo+3;NZMx_(t!a@c8*EsI{^7uPf96wyZ?fV? z=j9+5ydTj(Y=IO-jcDj2R{~d7C7OXg;sOt&;)qILRb8(yRe7}X%Wu{%)$+;e?w9C9 z8Ng!4zNO`qYkpqIdZC0ahyrWn728_IL!ydZ2LgD$%Lik~3RH@p4Y#7@<$U{)0&L39)2o-oby@c? z!V8`TJq1m+DJ^wj=gKpfOe|wBLc{1t$)YVUSkFH{@h&WY>+Ks!3{OqRPk6gzh`X&P z==}gDsUd{7!Oq?3_vk#ddIAzdTJxDa=NvcT(|51UpN2@JsD^?fv@pWQfv;k3!%{{& z(RQdsuXhSxTM<)@&zO+b=4Lsm&EKTFWywxunw_(j)bW8X;S*~Q#cLkJc?)MQP@T*| z_c5k>wMOr&>Op)HbCfmJ6)n(~k%25D*0>A~_@j05z&p32u=hgs$aRk^;iL~krHXLv>^n@-zf$8u5F=tw58Z2j&qV4&CqlJno)%HoDW1_Ro=L!N_D{OEZ66ot2KrHPj3o&aL_0!6g2qn8^U zm6B426Nb${oGVgX#sk=w$GgHkB4>OGvj?1!_aZBO=BYi4@heY+kZm+<4)Lh5V-0om z^=-2ztmS29uHK2}a4JtQy{}I&<$l9z#-A<25ET=&%i5>@%1+-c!a4D~2eUkmVisd> zg*vjw6N4RI1Q908 zg^IK#ow>cmokm%u9eOoc)AY{`1bwGfDK1S~Q=iYGY1$gmVm|Fr5-IR|-+_)Yf43UH z)0!yQTit8vOx*UMOQbHN0 z{_uKvh-Gz7a`<97@oIEw_)Buk5zHX4-mhc9@OI-)nZ60q?>;E6p90R9l+|J1k7J3v zCL8Kp0Nk@j$IfiGb{k$qib`|BKnpYH8Bvp@6LG!C#|=m&mV03R><#WXrVd5IJtujd z9lTIvg&m)rt@M`q^_Q@>V*@BTFU!o#fOy| z{XIFvDxG3`$!4ZfU61yn^IF-&uW}kRgS#vFX~^M~_}yBStO8;f9lwGeaE zgcq#43nWNna<58!iF+wCb0)7QUGS1TPwjr8U#e4 z@-gg>((VlKS@Bmg4)jy*YhsUa#3tFPn-Qs2(tQ4o`%X{#Xi4`ub_70{7gLvJBAg0Z z9g^xvR7thz3xdFF*PGpo_ots$^$ptY+|SN-S3+X!!hBxiPz6MKBgkizdWo*Z%R zc)owWKbU$t+d0R##99`DAN6xC*dPX10|o|GZ-jM`dwUUIqu^trs5eXSma)Bli$rL# z`m}8ewe-S0wd;>o{4zmY?!DYyJ$Bin7C+NWClzkEQo4L}Dx1qPExduZ+03(R20Lch zI&0rByq;S)fNcXdPBwpYQ9xvc4nfp-ygl7MpWY5G&(i2}$a{_Zr-8K>sVuK<7qAOL{zyVJN@n%S8#{B~vfxzQeJ$wlCDV7Fu4 z6NG-@!Cz*1*4#w6UXWipA}4B*8dS=PwLrHK7mxFp4;GY^&sU_(BYXc!nt?B2N)Q6! z`14D?4(imUgzA*%Q7m0;-k~7nqTbxS=c-1`s)l#onQp6VoZ%sia;W4|0}a-jPF$&_eaQWt;Yq^ zz2>6~S3Ck(0kkt@5e~I2XT<;#y9s~697?C14m?)emWXG!-D`+GF^OgOnHas*HcfqO zqxP-_Lk>j&mzFO=oE6kOKm@GNio-8gW8EF#hV9XZ9QRjm{WcW91d+p1&2_^yE0+(h zTe%tlL*cL1+Qci>Cx1Y_)U)~a$9Dkr-__)_gc86%n!&%$F5AN~o+`Sp2-V0g(=_Pe z$dDhmv-E@tXOix>vFtCMfAnp5JrK4|Bknou0v&bmrd>4gbtz4)!d*dqQb0>EBBUT0 zmScjpFZ(+ZWSDQIpZNW+mI>zY!;Py?$O*}0>$ue{)@Q!@-yN33!NDxN%QnnlgR(7` znyS_moD6O}RtV8(0eIbQ_U`w5FGTX^^Sj);+!(*8oOW)0ur>nM&sv>@A^7S#6bt6bCeOOgPt+t+ z+45tpcl9UEO#MYia+nK?1#d3mq-OT#SL!gf1!jBDNkE+Ac3 zxGdz1ImP)SHck*ER;*7zKY1K93(ykGLf4c#Fh%nTnc2MNi@XJJrBrYriRt*kGigt9 zXmTO=8$>XAEFbf=$w%493?(2|^{1+8&796=p{7{KNsq9y2;Kl!lV%5!qWp)WHb0qx zk6!NvvZ&bXU?ne~ID1F{i5KVLWfYWrGFuumD?T0v^sJXVjS8c2El^?{5aYQ!c;S)h zR%%@w8|rS$6s)4B9kw@}tZiVu@=SsPMc2@?&ugXE1y8Mh<@!Ul&3)gK-FCaeqI{m7cIfJEgN5ONUB!>p`S-o%s*Lp9Hy?K z%la*;^;~Ml9lA4@$5PUAWQrQ$^brP^j_QoL*`z8*Wx@AyM~PqPZEJ@QgtM=!R%-Pd zkI(XMkOSfy_)wFDm1N1g3F4b!9TOUk1I8hq3=+(QaZbT7Ef{ALM+Jo5D8J4XExR%X zIyP^s7qf4_SyOSQ`~DP>aZgE(6D`iTj;o!dHkr)Dbe)ApOJhncN$_=}n(eEKH(HpW zS5!E>VHmc7D2r%aRa3H(ZfxnD`b;~Ej=fR<1yjl=N-?JK^^(?Xm6Z3!&D=C?{GUb` zL7in^nGHQ%`lRwAQ1UZ6oEX8dMsWzS90;0G+L(DoACzL8eb@!=8*_2?Zs{cw1I?ov?Hjdm8f{@sAa zLONU9#f@uYE+MDEZ~TnA!r5jmZ_TK$)#Alq=z>Aw<;lWVSR&y?nMjS-XBL zd;7Y1RC&14L#C~HZ4be_ecl$~WO*(Yyd^X3bnanPxoz`-tnozhepJ19L%kHQankB~ zW$ekTtas#MoVPW6{-om{gA9r(PpktZ01*EAPbV`MGgntDdkdGJ0j5rU*?yT5+0Vf6 zrEB7Xy8*)hm@B^_Gm}@fOf2pGiOR~u@wYz{?Hd{$C zqOv0!-L#gXrJkG*Um~U=sv9}=I?S$clIT|9w`*x)f`gLu@EYPY@&qNny^yD8PD{(L zv_)i}*wI(w3X~~hZA_RkyyR6Z-?oPMMj2StpjzpH&(E1CfcIcSYCx4ISkU+L)BeLLab>vkh-E)g*wYynSArK|`?P-Mz4IHc3xgC#1lX0g}uB`06_LTD{Z zo`m2DTj(~>ux!1bQXD}{0Z-cVQZ&4coD5NWS`>93u3}IkRoEL|=#D3>3ZY_2dy8;yWL$}$F0>0`$dVSnrxi9gtjsJdzT%(=2}OqW>TvfW ziu{3Yylq^?X?c{x?Nr!dS@0SwcW?S*X=L=Z{)_32@Xr(u4)M7!eV+3c^<>OueDgv%84|VVA?jqaK%hfVZxrc6k z>iK(}qg#`gtK5r0OIFudV4c{jp2@o$tG(|7rl|DL8U`ZT4XcwjTx>RbwU-ns!kJTA zv{I>((%iVUMc(2hu}H6n__6?qvYcX@+-HW3hX6IyKH@j9_*E+Tbt-01U-)VfVwaN| zCqEh_ZoYYR+-63@-1f;xOcc3^Q>|ca9Wvy!rKRd`r*G4pl{zZtjJ`#Kfj%wFtn;#- zuKi@~YrJf1GbOLKzVfiZOOKrYJv>h9hpKBbLHdC)GkYQ!uCiK1XWX$NCL@dXt3KH+ zjZlB5BZ(RWT-rL#J;nziWf!d(d&F|u%Nn#c7X}^&GZ6;dhML&qDDB0C;XZM7LmL_K zJBYbv0iYK>Hk!{sh0bHh0GSX*USOh*fu>V8Y?@yIcMBEoW?FEh_2YNV$uiQITid4z zb&uT9qZz*f8^&B+K8t}c^7i2@oaK@iV$51~m2eCo!BC!_vIV`PIEH*E+)XOxl!?El zE#p_RxK%@!jX}FjC-ic9^4K5=cO>g?Jo^ys4|LnFa|mr19k`tfUUXYOkYkn3mhc!{ z_na{5(zaa8_BQ!c!@rN1| zZmM>cxftVTSvtO79&a~thNa6h#HtJyWozEdkJW1-YpT0Q9m_WA3RTUBD?_WOK*gmI zEMG@jEh zPt@AJ%E}YwGwHqqlY}#`o6S!bVlffJhgufdl&J9nBP|5Wfe^I5vkEg6g>+}QgAk81 z`$UtEpvNH?n1rkv!i&w&-y^D5P!#-QtMXG!$BSns`w1c|%&}$s7H&n!X(08R%dRA9 zJ1fQUZ{ z*~VNsL-dc{2HL=qasF|5HW9f^TL ze@^fMgp4gboC<_{;*zDO-sqRRw~-Jnz91g<@2OF|`n-a%!QYl`Bj{>eb&!iaQH1;gSTpT{Qe_A7><_1TD%4OIj_Kk}`FAbM zBluojy-MZl6^{u`R7b`u_xr|rzvIQ#G#4HbWrIs8oQu@y&D7DF;^qcjNbK+{01E z{ynnHngcT=3f1`>#q(UVN?r6hx0!P%trw%Om!;pMk+{YS;UztqicTo%E~k=$)I-sM z0`}W?gI=At1dL{!F)43gd!U2c)b|b^LWDuVRB4rev9UNU4j2s<*`WJ}w{vU@2 z(p-k}usn#vYb7~DQaYKT!oX0~A(?@5T30Hz@@Y7dGu~K8vO|9IVMhoiw7;!mIm8<+ zLue!@A6#V;Jw9UoBp=QzLX$bwpugL4{=CUOZj7o9yG2WXLDKh_^yyOjDHaGd6 zG*r13?;;+~_oQM(K9qA16ZxNzkBWYo0ms#()I%+pp*xq!fd=3znQW^V`hh`Xscvg@ z-h-=0!3dKt5qv`733UA4HmOXiP3u3!+_YDc(3bJde1)^>3?my-C&59ekc1&1iip>G zd3o=34TdOQutR$*0!)K4wyu)9J}er_0umU_ytk25Gy=wcTVE!_O0!PS{D6aV!dbRT z?Uis`$l@sHaS@n~u~O_)SC?QX1fK+BChzDHaP}s%Bg)?Y;o0DP-&c8pi|!~rccJI~ z#;1R@)7Zr1=oUJo^IiHT5|*w2(OvCx6iePXen z8%L-71+%I}8I`5MaJb(IMLb@U=Tm=H?ukf(tJ^W;EhLo{RtvqJD}gi-xlu$x;}mY% zl|KmAOg;do5k|@bym`OzM#B)6BxzlJLL--$TZWlixZ#sR(ojKLX`$78^*PJL}Qj9xq z$J-D9?sviw6bqL`Y)&NMN_{DbfT!Wg%FmZ?&q*<;)1t`<5GC+qd@;iIytwb5FR#|O z24q+;p=3+K6eMi2qTfC}-gG?GG)vajZx9h9C76rQeoSf~;HBRyAddQf{su1Z z6hH#tl;J{j(kANL=iaU)VYp;C$s$Rt`Z7c6CzVB?XwjKFu01MvXK)+1!z>dKGiajh zSH_RA!p;;gqQzR;}6{OSjgk_Sbr|0NgLsGPy{E z`D&?~aT!7pyZRJAxW8BQE#bL-k+HZ@7i)*QQB6V$lW%_6)Afhn9POIx<^1{j{pSVN z`NFhlO=rdyTJZkaog{zUL}Um4M2WUyrj=(`n~cPQ37@;o^m7AG#^KB8{k+$k&y>CSTyvgat z3-^!X#3utK0)1GVg{G@I)$F^!1Q`#(cs44kueuEX$DoHBN(z7?a zA1y9|v@?NEhYcC2;BLfsbxk-@YNh|8OtPQ1{s-nJmx8N3U)?(I{b2r>Gan{ongooj zXA(sc(8+2V*5F651b?CJf~z7G@rjrhCxvA?lMlJc86{ywdz$1Fl`W8UxYo=FRcN9} zWS7F)a}u58kf8m8tEV0Y@+oz499lKLWm<|6!Z-rFxu>-uV-E{N5Kb00D{F2^PPn+L z3Pw~>H#JbHE%7+MWcBACHP#&OQp=vhV=2=q*RxTr{=Ao^m3r0Qn(KAvk*_XaFCh(Y z9aYLxy<=#N#$h9p^{Y$1Mce7KT=QyBYx*dln=FNjvQ=`(ZEG9Uhn;U=G>hai&xcBw zRwBd<7~-xvMywoKIWq~hsU%yWEg^T9-F&z2Yz70q296&eV>+%rdRRJd7d zrNF?lGFM_^?W9RGqb4;`r+N2s+x7h=k7_+%J}{SUa#kOe4hd(Wo)FtqIu0&O(mRcc zSco|kxY}{&U7?9OF@cY!&mR=$M7$Xp;>5L2_#^2AOQZRPCMA@g)g=f zI2>xl{}TVu)6xvR6I%xVlw@K4G%4#Q$BJiv%W4G8;Tvu^Gt(n7`4*Pm9h&3O*uzm3 z%ZE-Y4epRm)dGKZXO8#a5HIUdjh9TVW`Il&YEG~QSoY3Tt;iH#oN5OH7k>i^7ys%C zl^v&tL^F=1)t`)*5Ur=PD1niY8V5d78Ulg@!|)c38)4x`zbmk6WBee2F^5VJLVR{i z^1Xjf3oin;8V?I&iMzR>>hVZt(bD1>Rty8CH>xbhSJscJb`|gPa4mBp-&ad(){qOY zNXeAU?PkDOpm@N| zRFO|iRV9URF^DI`LqK;nAmJ@kv13@MBR!a?^O~?Rl>apjLa2rb{x;1mV_BysGZK!< zGFKRKsR;QUdr2w-A|rKVKMqD;3kae6=X=zm*->yPKc@~A5q=vi`WVRm`%qFPuo)Ml zZz~dROAiF07Y{-IZE3$h=;wNf{=US~(QYvDkTcHQZcnUS;qVA0BB=kY?O%|eT^x*H z9-RNIKBv@Ay^+!`W>MisY1SOY^}||o3EY*$h1v=EL6blUePZV9i(W8IzJBW*7E+8{ z`y>+at}AI}2cJv}YU}E+SZmU~Z+QyRgC4QE)r+ z5-cTOId*H6JG!`NiFiF)m9j`+{0v}=o=ucX20_VQxhEQhhK z7?PqGtWVE6%sB~|^DQq_1V`OkvQruXRw?Wd?bNmQD1F6as~ZW-$@iZ@AFE zf?jDcYyS=+>XNb!a7qT|WaNhy(HD#UD`QPnw!06i_lYP<4s(>G8Qa>F@Hdy-9pg=(H)Xcunpx51kHDEVOKU!(W0dtN ztLS{;SBr8r=yGM+ttor^G_Hqk*;#VWRaz6!MMI-73`tYh{_X(<&yiN{F2ciOc5I|or?R8%Zr!)9Ie5? z=|J?(KUd3wCjF)TL+z}h%wGlkwYKli=y(wO_@_$0Ux9xudipc47W94o|0;p{Rno78 zFn`F}2bBc>tt{qO_^%}af57oUl{LS?e=QLBRm86!eEtv-1Y%hKm9YGYMf(;0DS literal 0 HcmV?d00001 From 3c85456422c3e0f0ca4fdf91fd45c2b9c96643e6 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 15:13:12 +0800 Subject: [PATCH 46/47] Update Assignment7.md --- Assignment7.md | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/Assignment7.md b/Assignment7.md index c0b3c20..7644162 100644 --- a/Assignment7.md +++ b/Assignment7.md @@ -15,7 +15,7 @@ ## 实验要求 -- 完成所有步骤,并在实验报告([模板下载](file/assignment7/学号-实验七.docx))中完成穿插在本指南中的作业1~作业4)。实验报告转成“学号-实验七.pdf”,并上传至http://113.31.104.68:3389/index.htm +- 完成所有步骤,并在实验报告([模板下载](file/assignment7/学号-实验七.docx))中完成穿插在本指南中的作业1~作业5)。实验报告转成“学号-实验七.pdf”,并上传至http://113.31.104.68:3389/index.htm - 实验报告上传deadline: `12月4日` ## 使用UCloud产品 @@ -62,6 +62,9 @@ +## `**************作业1:请将含有文件存储ip地址信息的页面截图,并插入实验报告***************` + + ### 二)将文件存储挂载到云主机上,使得它在逻辑上成为云主机的一个分区 #### 1)创建一个1核1G的云主机,绑定弹性IP,按时付费(这个云主机必须在文件存储所挂载的子网中,否则无法和文件存储通信) @@ -93,6 +96,10 @@ df -hT +## `**************作业2:请将df -hT的运行后界面截图,并插入实验报告***************` + + + ### 三)在水杉码园创建一个仓库,并下载至文件存储 #### 1)登录水杉在线,并进入水杉码园。创建一个仓库mnist(你也可以用其他命名,但后续操作请做相应修改),创建完毕后,找到你的仓库ssh地址,备用 @@ -178,6 +185,9 @@ git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将 在步骤四)和五)中,我们将代码放在code文件夹中,数据放在data中,模型放在output中 +## `**************作业3:请在mnist目录下运行ls -la命令并截图,插入实验报告***************` + + ### 四)创建UAI Train交互式训练任务,并切换成`编辑模式` (重要!!) #### 1)在UCloud产品中人工智能分类下面,选择"AI训练服务 UAI Train",点击“交互式训练”选项卡->创建交互式训练任务 @@ -232,6 +242,9 @@ git pull root@gitea.shuishan.net.cn:luxuesong_dase_ecnu_edu_cn/mnist.git //将 +## `**************作业4:请将编辑模式页面截图,插入实验报告***************` + + ### 五)使用交互式训练任务训练MNIST识别模型,最后将所有内容同步到水杉码园 #### 1)点击训练任务的“Jupyter”按钮,进入jupyter notebook,我们看到了文件存储上的三个文件夹code,data和output,因为我们将它们映射到了容器中。 @@ -273,6 +286,18 @@ git push origin master #### 5)下载mnist训练代码[mnist.py](file/assignment7/mnist.py),并在刚刚创建的mnist.ipynb中验证、训练一个模型。 + +## `**************作业5:上述代码训练的模型,在测试集上精度较低(如下图),请把测试集上的精度提升到95%以上(即运行model.evaluate(x_test, y_test)后,accurray在95%以上),将运行结果截图并插入实验报告***************` + + + + + + +> 提示:你可以尝试增加epoch,也可以尝试更换优化器,其他优化器有Adagrad, RMSprop, Adam等 + + + #### 6)保存训练代码,并push到水杉码园中。 ``` From 1ae836479ba4a201c2d8ca6761ac22612ec52d27 Mon Sep 17 00:00:00 2001 From: xuesong Date: Thu, 26 Nov 2020 15:13:42 +0800 Subject: [PATCH 47/47] Upload New File --- img/assignment7/ass7-mnisteva.png | Bin 0 -> 23084 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 img/assignment7/ass7-mnisteva.png diff --git a/img/assignment7/ass7-mnisteva.png b/img/assignment7/ass7-mnisteva.png new file mode 100644 index 0000000000000000000000000000000000000000..ac71c6899aeb0a47faafc1771139428684f5a7e0 GIT binary patch literal 23084 zcmce;30RZYx;Bh;*IFmE&LE`9b|?;r2nd+aDuQ(YQwhkJDnck>5HL(hz}Bh=hEywv zjFnV@gd{=?bAl6~3`r4_5T+Z_Aq85xxmm(HC17~Fq);iylnk1@2e(7l|7H^MnQ%vk{ZHi|eVq0;?cyaLA6wgXVfjbMO&dPptaZ3+x^dZ6rvrOe zY+BLw_3f6lzpvQjv^V~_*@(DQYEK1hNn(ak6#YC=XX3;9cAH?!7@6h>QwBvPh*sO#;yW}4}4I>0z zbTRzlGL|8ho-H{vf6e~?b4}bxo_*pxWA9vhhom}JatLSKfYW@|SeCt2@OX{ zP;H9li#*%=>shbb3s_m>7*_l*t#S-1s^l)}&sEWogk316ne)YGmcARTDn2 zk2zS7r5lFH^{192VxA3C!^nADRCF$JVCN%2k=I0qZ?4ic8lupYY->G|NT(B%Y8?u> z19pXtZmgS#2xejXcm3vWXwy~+j?+{I=cw9-NY&N0*Fbl;ldl^}CojJU-EnubQ{kD$fLxj+f2NSYaar3#-sk zJbQ^UjFmFg%y5|hvNIt|8m7ZIqdmm}Ql33Io$qtPZ20vKaggNqcj9J@$l8Te%2;gg z>0I&)_x29M8{GYh!`j=yQi2BY!bcn#Gm*(bBSXDFH0fA)ZUe`cL=Iy~!iPT z4#?Gwu22er^Iec#WUO7tU{1OOM<8l?OSYwH%uN;1x==JGA_&eAxRl>DH?49oRn(L{ z$WuW^`;u?H|2(AdKE2^4!c$_kipz5^uNW zi9bxYkdmY$8^|j+?lIhI_Id99@!tHR{OfD^Xo?1vvJTW_opmp4^D@Nro=M`VJgFH{ zF3BmJ(Fh&$T=2ZWTa4~(ZV!yt6cON6Si_8>sC=Cw6JeQf<1OrBu()etN^a%e9w)S% zkntqU{^2APYf#ZjQ_|!el!n<3CSId(4pbP2L>Kl1RTdL;y(o4nb>6~El?onQZr{ORa3XsaHQ{}q>zIhoVgePBQ<^EjP_gnA8 zq7wvKUvnj_fgII{t~|%3nkVk2Pt})oU}PI(Dy!8v9$H7H*9k=DDe!!#ifI=m4ap$o z(I}1qJ=p=eAS%4B+~SeWRd74M3JdLX#8jHE5*@xuzOvVos)z&)^4Iaj-b!jhd*D0# zfk|HuHn3rCT507BOU~3@BZ_jg98CKP2W&nRsoWI!PO(4c;%VpF2~N^}T5~eBxjRSz zr}CO`L|Zb$)f&PLbJXH5${_l3fuPifKopu&+J!I|ToibH6=5Z}OpT+~%1f9&QESxJ zg~YH5|J(F72}zG@qoZ{DH;om+0Lk{Emn`g@H)6gugFq(?R)tr!(}vL`rrJ4~5lgBWY=f431dPF#)fkkqSazyo_(!vyC!q|@3Bf%_FYK|vqn--9Ve`o<&~?p&Q&xcSUJig8jC6MXdZ>UQF*-VmB3<4 znqe{zo?5Fs)+SZN$*5Xa)?Gy5xDEuxGSYncMIFvxEZ!h%H#e2lkj0TXfD&a)KGX)Z(bk5trl%-+mr z;RrNF!pIJ*xUknyoiM@kw2W1i+^88#LetVPW-=s|F$j-L7n;ky-!xW5s1YyE$Ulp9lcFJyYE`W9I0-pdiHkzcW-m@3m8r~XUVWBT|d zBbIul=jEHkceST=VFh|v9-d9QW|?_UQf$wieQ-tqC(xmXgp6;{xI(7ic5TjG^TbC= z;l$CtW)of_C8CJ38%@iE7Nbt(Y!*azwvY`@tr(tSMcaBQ>bUS6P%a*!x-EZFOr zuXk){(bb0i@)=4!{<@(>YWGd#4;B$L@@ZKC)=XxfTgZY@3mu4?P~GN!$VPHt6ha(Z zTN&-3>Q3OJ(Bb`P>8c6yd5asCA72+pX;675?BUs7yt?Hoxv+K?_fIf>72jNQ?py2? z`5|xYU{B4bDqC!19w{&ddb6_MWSDH8+c|htRIJR;uIdyB-O416*s!*dp)R_zi^e#x zrQb00WhUgIre}VQPGJ#z(?)!on3S_?{qRnPHq;qRZXv8)XHwXDL-iirP#B=gqhFu& z=^Y_eA23P71phh%O|anSmE#Go z6@C#IMfe~YiEfjkE%Ai`@dVYBwXH<Mb z{}p&MB&Nd^-Ed?U<(wpR?_^>fEUd&=J7c1Z3m7IFAQbJOLPPt}cGJ^minpa5vCVXY zRb_UYzU2@mC8j8$$fR+9BzDX({YVG~(J&MqNR03&l9&SdW}=rVSo(oxycXY}*)INQ z^qNi>g?i*UwgpUNrxge|{dqmW?tXIA>s%k@J2u-DtYiT15d?{wmrk0@FWKX#%O?1d zOdzKzPfAQm$X#9}@u`41Us%K6izh7UfM=d|QpTByGc??}ihFJY{Usr501qY!Mlx?i zUTrMfBkib`3Bw+7`K&tpH-Zj+j~j#-!{6bpZ0XMB`QmB5t>rWsiCV7pjaujSTxURy zy5)$l+X`!RW>rmD6pUw;CVMvpuEZYm#1Ev{gPoq9VYG0U+varYTA)Z#QHRM31 ztuT6M6bD1fym=Wh@Q5`E4*&B3XmE+|3(9iDXY#4(93f_1l@!hqv*7IR*lm2__Ou@6 zrg-4b%p@J5t&LiCtk#^@;!vUR^y1!YL0Dt#ss?a8fco^ldt{q0HQAfoZ0`ycx2A7$ z6N&k`LGYLyqJ-SPQ4b?wf~)K(rb@TO>!mPMdlG4|qqfJs?%F}Ed2W^Ts2^~~Zi6|4 zT85at`m8CucO<;6$rcy|6NsV)esYZh3J3;YSRc?+O|P;pOrL~vn!*pZ>T-5@QEfx0 zF=Xz`y+eJsI;V-60TWAE>?u;7taK9mrn0Gd|9JbPoASJ^-|O$2eR=06EagNuFYb48 z1@stJVcNIY&He>@yQJqF#yo(V7v+gkPcrjkU7&V+;o;XXktsEzx7kxRVQWWom6d02^!aQ6?PsgB(}Fr_t~}#CQh2aDZ_=VTs5)c|Ae*w2g?^V^5(LQ z=FTh_(6lrh^Debz8?Tx$GmLHK;mqD2Xm@)07gaO!y0)8?peKOMr|EQ3tQHB?e z;0fGdSL`UMuNm-4h++1G;ldwPhH>~a=kdRt%2c`tE+ssO%T8Ui)aha<%nt?VoVdsY zVoIgvbk+x0Y#BHMTGgwJBC~7Zk!65?3Ts<12Pbg|cLD6dL|DFq)4%Hlpp}uDDl(YVzd)i46<0-(cny)WwTQU|hY<*5 zz|w(Zq`Id%UZ9ALLN)ue4LXW%ZWzN-}OCg!Th ze-y^K7v|{)3Ja56c>4)qezC8uv0T^4a0Eq_{w2|KM|yU?Qy3iLF|_S?kXK>V<(rUO z=ku4l!(|@)mzeVcLc*_c)f<+70UjtahtQK$L%6^}RR<)V4_xN$hI!R=YB*{~L|an? zSit_V@O=7&b)hNG#aa{;1ViPw_b>^%B;W_{fD8i!Ak}j<_4JnmFtNgi1JTtJduF`L z&nL7D*rD`a!yFpU46h_UG=c3OAq*f2i9Pl0!s#9Bc`g$rO>{gU&9h${?4&vQLVs~T z4ymvADolCge0VLa-R9bz&`Yn}3|{j@@t^B3(zZp^SM1zyQ?9L_sL_4}L@wlClB|Cu zVt{bvmWwsNs&8|*M;iQ>WrzfOjT>ZKjGP@RmGvj(Q6q@ZjIjLzLL#2P$DEr!VR(VVr)(AUC++{h#!Bbr z)&~#zjPnla6fr6dSP=Am4-tY3!%^R}e8`axhC0l9vT4K%kG#eHHiBQ7z6S5bDlHM; zzJv=y-VeOYGN0S@*vy_Wu?i1MQ^ zy(48E&25qSqv(*Np$tfM)+ zK8RW9+$1(wZ{A@Ahx7QwY{DjFwHDu8z`>7@guDSx- zPz)zlh23m_^roFRuQZO!%24IDa{~+c+&s4on+PJ6IN)a{i=WbLkvR-?p$97iAqZ-D zBAqHK8h@+4!S5z%yFw%KWjyA=kY-hfB#6xoLj$k%2pabQERwS&zT!TbKtk8AEjW%@ zz6?<=<*Ic=f`7q+s=TQYxG#DR+QoOyPY+ z*Aty=Z8B6&TAYOvr>c(`6C{NTd}fXYdr*iP-@1%*Hc(XuUsF%$>FyxernNV1&EgF* z3`0P^cP#SrdPF^mAHo7|2o6Sm83SkUqYzaJ>xKeZXFYwQrY+RCL8TKixtg3Eg^dxg zv~<)81P{}l*RD&*>O8YXE!{OT2!k}1!TV|W@x{T@U7%6=GP@vs})+kBlKJxEGkR%DoEjTP?{by+clym@kZ+52Px2} zqeAXC9$sEmnq>Gt>ZR;D35R3$BrX+pO`hNgsX?q)4x zba#_pGOG#$7KrHL_QxcMF zD6l?(VAL@Ui#Iqm`WIm-eOwb>FdD*$MgwnH;&V9DBmjlMhiNw5%4?$3n+)TCMB0PN za~g4;`+4(L6VHl!+x)N;sGfv42k2jUMu(JjD24HB2*!ul6v6c(0s7r1`?)rwvLB{R zxXlQ0xbEfvj1r4iFxz2iZQFVz8e4`25@H#fpW9eP78Hf;O7he@0=^9Q7udnb8=)EJ zd;$ezg3yF;BpPS%fBs8LK~Z??Jn@M7?$f)u*nv~QbPFfWuEN8&IumYJmBagcO6e-P zs-Fxw6C&u}LARb8RlxV8WBezQf-@q2Da%n~-1@(j_4!F`NJ&8NR+6bNGb~UF20H4t zAUoxCPy>Gu%thsav_#-7?V@mBo68iPAbj$gNI{}IJhyWAZkT}z z)OVlSI^j;F-wi-T*O>ze%5<0lMV-sX7gYzeMi?Uao#mQ>#aBx@QU2AeDqkb~4$zc%nv+zF|ZmVNi1h$%2YnAbgh zR^7!dN2E~9q8;$K&vLhI5f)eiB?E=Vofz!jmE!5)#XxL4Rfd42>-;@~1W98- z?BHui6FgSH>Yp?8k^3G2L&Yr2>~o=3*Gyt1zVv4!cxscQ7KZkWQZm`xk%&EM&O!-OazNobo``1( zoV7D$`RuZ7X+)J%5U~N4;bp=T3snfXs=Jh@k zGCAeT@8`;$4MNC(;q@O?N0BQQq&@kdb}Io;EdH(wD$)jRTo}z8&~~Y12Qp@84hZq%94!E`?Rf zM7js57uajjTK2P87aT$}E3?shr;9YU)B^03uP~4JR&VI(#={8J6~gQ8I^127^x%L) zo@S=1K-z}hR5NMZI%@nYiCbKFCqD7y!~r6%aEigfrm#E`jcL;-TR9p|p|m5G8_4k1 z+I&hh@E4T+ByViJVh?gi;;24&&8BdUAIo}$eWW!$-Y`d2usYFc&D8_=0ainQas4OW zGY^8rI5Af_T7#ksck1u{*bLm;l~>7_Nc@VO1-hS8HgKmezbXhC)&vgYlf=2i4389i zzeb;OMLe5EpUaLFV$m&4advI&$kFeU=9g#scAleg+&N5YUrhuqTn1qMF9#q(k#{!QN2;w42@85lhFR1&l z{n{KCfKM9Bs^(GVgf#($_h}R3Pi8VEZdP*DaRa1!f-aBi77Z~SX4%Qn71ix-6UXX` zRVZm0w+YV?*Ev7{)M5Oh0aMGq`q>?s^a>sl$5V z{nVb6q`6SDMjV@=Drae(J;xlK#>>1nLgyryo*bb1bceUU>u%m(K&AK(_d}h^!?|RG z=3(1{z^OzcFM0G;yrE*}J4+;VhiU z%3;{Tyc&6TS)MQF9*yM9&3N>G!fOgAV7A%&Vz<(}v#Aqd$)4+dSRsB$58O$xswbDE zoL(y|E%#F9qbG>72SD@>QyD0m`iJJL+cpiWP4r(`loTdM{QbNl@xb z46~@3a>>w!!^pCxvRm>g0>7VA5SS}^CC_(2u9fqB>aeN#-DM4?RZ>fo0LDI~U;ZA{ zV?)`fbk%S)&m;5Wk0VuVguMMk%&exAbg8-#F z=fmi{cE|Ib$qXr{0Dgih(UWX@I-3}S9PMH~WKW;-FJ$(y#1+^Ax7U6wcfVL{UgF8R z8Zf3PRagl~%!AV659MV-(Z?}G(~G=uL` zmPW~EjR7|}UnbO=$Hm6@^Sq)PJbp)9GI zE0T9y=MJgPu(l!gw4l78c47t0+eaz%_p~t;-C|f5=C=1#bA>s(`mH791{c3#`UFSJ z$VSFX!s{j12Y^8>N*Eqf3uhN~xz!PA5p5DhT*M$;4>$>)Ce4D)1q#($)7pn{`S#Lu z5D~FWC$rGc%(RopWy)N@EMTQv<|}b=4!5hgy#8;ppmz z8IPlqsr9h1+bI={!eR+CsaYU51J-HrVMMs{u;N(%up<(oS$LE%$zUsV7pBlPZrI)Z zC9}(rZ%r!0=zXTVAbqlT&CMA;DV{6-ROB&lG5?!#|DT?yayaGl8}iQ!V-0B$2H(l% zDvgBPy*^Cw4b zJzt*8tRk1jz~+4zw{F(!T~UKDZ=e9z&nwGMtM}`@x^*W{g3v^adXKJ1#I=uDhwj!e5)-RbCu~2W$@!#B5St?CZ`| zV*b3nu}P+}thq_L7Zzd#xLEx)Fw@`799|1ZX58<236Vsqx~8N_jO!On=Z)xngAm9E zs%a?hptRgJKj9HS+nig=6dY#zBZGjoW@i?8Vs_=5= z3}L>2Er7fJU&*g}au26@>NcOJ)xUK7lE`S|Mb!$Y{A53p_|bgU*TGfe7p*=wIq*C) zyf0-$8{W=W%%^wtE+5BPJvBC?T>FWoi`Pc9OT-He$zJa*FNm?LP=+ro3-2)J6UN?@ zUZ}#Ziu>(-bD)R4!NDC2aD~F0edm90@MBQHp{vU%_kHCr5ljoRmJ`VMP*(NQ-gkj6 zAapIgn|EI#-OGr7KBh5LVl@6yeC>K`n_s(>Cph0IF)t)_6T;uyWhk!5#F4}KPoI9d z=*H2l={p&K3rUywnJTB5Tcz`TN%*W+#{N8hisd%H`2GitSH^pN! z?6RZ`@A|kjn0zPwtHk^0cYCq0QkL>9e4&eN0eq=aH)&XxGLTgKKu zPT9!eBvy3ag?bM;hQC{I3FeJ!&TvGj)xo^j`T?e*{;BN_`o-O=V(^k>>_9;W%q~m$ zDcmZLyGs5t)VR=lHwjj~sQ>$=C9rAU`rspbiX^AWpsd<9{=&zbP$|trIJZ1TT{B#q zeugPuM!&GUWoN+g#scXhRtF4`{CcT)U(%f8QT-@h_PiEB54^CtUXDhPHBo24lvg7tNIPHq2e> zCzl*JGZ}_>!2CmAmiJ?}fJ0hv=B4MaFX zRnf*B=6(4497?pucD@XB)U5iFr1e6a`@7eR^Z%R@V0w{bCwu-DW!# z&ZD#zY&cae9Y@GEUp&_bJFp(i_nTIiBrgY^lKro$j@bJ6pSfvT&NMbk%F~;5iWXu6 zO&Jp_NbFrvK^^7oenr{eVk_7u+NC7tO6$fZHw~{V_K0}wIV$E@X8J>&Ca@tRb+UWC zQsEH3-VvOp*tJ8oN9ACGd%)U`p%(%nvax`T`KM{w+(w|}8?|DpO-c79yMYcUs#Uoo=2O%%&c8;We&c>@Myhh z?}CN}*tw54$sn?`ib}WngxrKJ06M?ie<5|Ju(m-?QI*&5xE}xw@rI+`5^^=uqN{eU z4b$EGuej}&Z`IS>931hX7|UK+;E!heXUYYg?ZSF<-SjdV)*89 z{u_7o7V^EpG5^LAs~(i}ccfngkpA<9uD{-D%mf;P26KfXVeZdAoAKsycSQ$3}mZx4gJU>U{f&^VEWei`ah6kENd&y+1LHY4}O9 zXm~8IQ4ro2dnEEXA7(Tf-55XiBG#+HD#vLOmxa*9ozeG(Bmm@oIPB=ewQ51(O{$*S zh9~M}IxnT$1RS4v&43?^bsxV+US-4 z20j+T{l$PqNK%Eu_hQ6gOdc<>V!C70_K27zjY*D}uw9qiITK2CDZf!d>p_>Q z${ie3OgR0g#S$y!DpM_h=O6$7*oSxRUKzKx4zOeiiA^0fxAu>p?Gv)^nh%M1p zj#RExa>pIIEu6e66v5E|Y_2RVVedeRcfl$FbFSIL4&b z;9&N?OL@s|-vqR-a&Vx9?M4Kkh~dbuVi5g7Xgm@KcsQmx@2LjN`c&KkPmgu$y@vNa zvLXW%|AR=4$+Kt8yA<8og!mGzW6fAs(=Pal(W&6DK#*`s_yXoV>>b2io6lHX`0@+H zo~PqttiHRm9pr4#&QGlELc=rvcfjqPDM&_kUIzpW(!U_#_4=ET^_Ohl_vMJk1ZnC; zZ_v|$kA2>M4Irl4!SQ{}!cQNo7tp@fyW_-jd4 z7;C#XFYdb55gP&hfWVYz`Qt}C7rHYGUiy&P8;jVSK)(-GhCPwbe^SO%*&^2PzLM5e=n>L!1+h#AE$a&RPW0LkwJ4f&l~HB|Ioni>-yFY z?K!;o*=O_jhk30}MC0?9y-UY?KkOg*tGy+M#EHr4vQc7f5s)yaKUzt(=` z;Dnm6^;7%*Zsh$Z%$z3kc=Gg-jDv;2JhqvabJa!wkFMc0?z$OVN+!c)0&bl5EKB{E z9nW@7`vT!!5_17ozk2=IhQG}&jgI5|%;Ss!@Hl(i*l4O|z$xyv14VSFL%Y~(%%OFs z|K-VJg3r#F1E zyn>xE0U^=_-)1lxf@0Vf9Ea{_V()|8wOG#N62UL^ub2r%=$;rB!XxYFYG8057L3}8 zCShF#VO-%Re`9&e$6Z!e$S%k=2Bxj(s+M`L#g=s?ar^z(BdyRby~T}m?;^3|Kwg{` zb09U=H={pl=O46NT3|z-FB+54QB&!^6i2Af=o9QC_k1Yd-Q65fZ4O{8m2Fg;!QQYF zu=+be$YNl-7&fmI(sh?Z3P zr?+cxnX4-jT=>q%d8hM(Dx*G*G3N!v!XU$AmJ5zNzSl)6mfrsJwyj|TkjVEeA@p2YWMOr`7fbMwB;DLinmd~o4X z!|42J1FtkJ0vyk46)%!-1c>D?WAb50(jOeyrwzNPBN4aD7bWl>4!N$n+gC^Cs?S&HRm!|CQLc0!^W5QpKG$m8-C{iByHWvB1g+Y^nKI z$Ucqag^s79zaIp4c=6oZD(TpnGdEWkW&hS!?6*C<9n^@vUfOl zpDvC00r~8|iP|r;;q@)3X1kE<=MEKHomOZKy6i-aWrGQpHky||eZsvoW}}Y>if-xL zqR~gRiM`?WvXH(T%N(ZkyYFdzR`Y+IXuIi`9sr0P$o=kL zc(%j2xejx?hJOU?A0duj#+$L~JG1}#&2!=5<^sicQOs-Hm)-N~%X`o29@b)~(CHw0 zaV{efs+w3)Y5z>@iZ-C)rQ*i`nP2>Lmgy;l){yN;ot;7oc7CVcrMf2u(0+F8186TP zRU{Q<7oYw>f!(S*S*c+!-aFLIBl;e=Me4~-v8myQ$^w=H zkj+f6UqwL=Xl?lq^(IbK(y80?94b&JUpteoU{~d&cpAHVUIhIYTfDl z(Ha~PMEcwm@V=7uNf-M+36|>i_Ml>8!U-=1=1ta0yu(E^yo1-sLAyQ8YSI4z;|Px3@~O|kEmFv;{AV-@ zP~BEluq|%JmY9R!;|>(@$_}w$9Wtogp`FM-wx%^z5|TvS_<_g)0A0QQ6#k3<0ML2! zc2}PLIwa$vEj#&9Mrs%tmP_Gy58wW`Ldk9yeLfVW0}2>-y!7bF{|wsk>M~mEzV0Zl z?c*dc*uQAM`LBc$sy2cnI3gVn%yKWJcLdGt=n8s5zp`rtdU^C9Y#o&$rNl5?bQe_x zGU;pXc;eq<%n_v=D3C6ox4bjmiTK{bkK9nANYPE~6WjOh!2P;^z^V9R*pHk)&G$}r z5YM4bu$l+rxAC!AI|_KduJ{h%MvRre5gf9QTa=G}Nu$<|SQL1OySKRFf$Rx%la8*~ z^UVc!dqX42YsL;7Qjls_beQMko$x|fer?%$&b9b~Eo7@>al6W1dSB(rpOWx1?6ECH&>f zXau?xWb&WaExARRH20J0Dp;=Np^*DvA}phQA3tztDE*hDit2}!ckbcgCjsFeat)U) zykrh^!726Q0zp%F{b8QqW$<4CHaFC&-J1nN4I*ZDjbWx^-K_8b%xJz@K;D+-Q&D|N z8GIhf3(Nsou(TGx@PjP|YXRhu)S2r4d-BLEkVlvyU3v0yhj~EV4p8%Bmxb4=Z&7vJ zDPi|NsUtJLl_xD0*3O+Mqz3#8(GKFC3T}U26ZwHK_q~l&ZyEdLEs<3aIUnY6o9-@) z_q307pRdHp0L_1*cIENc0wMZ$StHQw9|e;3l}e1NJLv-idtU@r;PKWf_>%ZD9h3WeUr!6WmsqHEH;OHGpyVtfh> zLN}!U`}Bv9}I7mN>`=q(L5u3pi96VR%~aQC2{F{==T-^l)O`VZ)wwuzkv^7^1&um%RQF7<;A zXj~oOr%tMRP2h+XeX)4~B)%&_(A2Z))_+Lt1H3UZ#SzR|Ebz*q0ijoHP zGAJgrbow3JE#sX7f}I_)X3_3-cTA$6*KF~UIki&!uU$|vUubH@K+pyV33iuZuxFhn z9pjL#LiN#iQ}2=<6}GpQuccj!fBR99)g>Cqs;MQfxoNmd@Xk?!yer-3XKWOkr!h0t z+nsT9!N8H8K|#rXf!Xpm(h7D7#{@o{@t}6yzXxn{pp$Qwm{Q;3fD-$;_RW7SkA$Gx zfFXz(Dgb$jA6TIY@%8z*>tXmdT9rZli0Wh1-60S-yqa~TFE_nKk0l*(|A|Tb6d~gG zt}B`yFX)q+fQ&Ua)4??ftd=FHvB4c(Fhx0|g z$vws&>OBa-oWXF$l`a^+AfZE@F7e+(_C8zyiVi-mB=Fbewq{uDcP2|$ z$~uJc54g<~Wyv~#*l)JfB5z0LKeXNMVtud9qsqN2=g)aeN#6eBxGhHOY7KT4wT4nX zG5L9aC{12_vAg|Z)1DV4G=M_kw~N}@xs8q z?3J?b%BAq#dB*a`S6;0DQh7f5EMm`LT~W@iJ!LNlUEQA;K{>M-@8sV@=^%uB4P*dO zaB<;5Sv$5})b6vT6KA`c))Z1EDdplcju0d@+_t=P6NHCf;k;HiMsRneEK=b>nBl~` zp|R*+i^10`)(~UTxIN~k@`v}` zy1<6Z_}dGOF5&aE$HT7O-o3Duzu;($PqMVYEk^A8+ZfZ0JNN}xwrqUHxBV29%YYqr zlYgNr?eLwD#y7LgZRqWzn07F+efF>CdE(dk31q7(r;cDuC^5&>2aSwY#&**~_y5wi zVz=L-&k4lIRV4pR`8WEn;;uOlxe5~QIG2EAJkZ=pU)lYn0u;*_HI_K!;N>r0V$g{D zCJ&-i6F`&8$rXwwkKy~EPT~bdm$EyPzalMg2}=I*CEv?q&FcNI7PlKQ2==p4s>4oV@cISP5m1nA*>&^A+v#^7rnVfsCP{y8p0HA4o{l!dn~#S zZti@8prj-ZFS*ji`hJV-zT%n}$gPgs4Ys=9(C+H!ZoX~!X=ut3qJA)y zQ*i7NYF(>pLJ3ktLOh}Q1`tGMQo8C;m;!fJ0OTe`^0x-gPmc8B)lOs&zMpoVBfgLI zqk995fkzFR`-!m?{)p|P-OX1xFhAXoyD_UsU}$me-!0GW1GEGQ7S!7EL=OElRqcxI0+}qAV;>{kSR5OP{YT zb43(69*OlKh$xroL~T_8ogoN~=TtM14|7}z?rr1UhD1SQwE2V+S3-8O>H<{K84Z-)JQvDb~s zbx2bs*r|@9cXSukkheYMyRmF^7##)5@V5th(f4#yB&S{RhaPcDtXh^LM4=vAdw}}d zlsCK7cew?ywBNNgU)k}%1rIjg9b0p{qG0#=l%FuOzcE0-^$C49!aa4ePjMs~a=HS# z%ZL6ONHByt6nfWU7aL-YgcumzFtFxA_Mzf_8u0}J^8;O(82pI%+jTSEdgU3{L=V&) z6zio6){PT-Fj?s;$<(JHfEiUtT$-Qv8PCY*%fjZFG|5k~&wq&>3Jj=lp7K1tMqM68 zwLX3uWQnZ~0s1znylnd+uzP%&$jNtU{+UYEMQ|*~w?VMt^S1C40B_4Y9y<8_+<4_~ zUb8sj;Y`KhWuXJK*vj&msEX5Z?nW!0%$KtNY{@{=r$$?*BfwXewk<>S z9$4_@-x`*KyWf7imu9-%DD_R1p)omoJ);NzX0&R?4%~dX8l>>pyZ_6PMNtp*5vic> zsi~HSGi#z9O*WRWb>nr!1}&xG(DU5yQcQ~s89+rXr-CE%GF%_iXdlE|#|Yk1{dyKd(~9yDNrEfihdK?I#GF^74+ z1p9n11D$lXnOPG(ImS{kW*>yb?M=M@)zy1Th(FCA5<|Zz6nW;`p7?^N`MX%*Olv3n zjFQKGTVhf-;0tu2fu@6LG9NHS@9E7_gX6AL(9*L70FlhUmkd>{q)bA=vQ*F z4kH^3;}_S!cTwOZ|22wa#OdDKZc4Lfifr^LkV)=C>FtozROZ=8Zf4uJ^kg&Jtifx1 zkUYa`(Elv5ef~_Z5iNGc$_Kzv2*;D4s%LMyuz31=djvR$LRu22faenklRjm>QGGU( zZTDK5w=im{f{G(hK~}6Qv=3iVOD+WCZ7rC6pjS4`M!}NR@;Uj#712#|Q{V+TYr>D% z$_IK@Aixax{jyum@d$=e%Jw+=L>vy#^q+c^eIEJ4A z+1v8_-P;`nL@6ZsTNtJ*i72uv`sZ_$YN6m@1m!e149P26Bqqwb$qt3`=hWGeUOq9& zg4wLb48Yd&rmF)W!+bnNx~UPrhphQJ4|KHrwrIcq)^5eoeQnbA6_YU6ry$*l}^N${?r>m+qw^(fH|2nzzLME<~edk^aZe<2oZ4>P7 z`Gxss4S`oJ6<-}NxoY`b7d8(;1NlSt%e`Nsq*wqYpS%qP2Rg|q|1TLA3wO$Awgn4dkJP?_*($joui5y5Pr|tWqPlrzq*_tCqU2rqy%f2HRlU zpzHHU0q{S*qT#!TOJIJ5dp-37Q8~uXxNX*3*!1x#z+K1R=PshWVJJU6%xlozan|qs ze2ed#&{^}g`6Ht@Or=MC*hvT1~`gk*v-K!vN7EnKW9R0q}aZ#Xi z^|Id|ek;(Qt8o67l6z;Z!*NeWFi0|3<)<_HrTMO?9NO@)MFrj))?kBlBC@l*0}Zjs zedpvDZD1ca?E1MMsNArt7Y4D5{Q^^TY)wDllQp}NKLt%l1o|Jel)cPuM6ol*97##S zKzv3&NG>-aWHAR%3&?&sQ=8K zFU9FM@z;N3)ug)P5scqcFb)hl#XXPu>dIKAtZGt2{Zri;xK4{uCEaIB%4_Z_5ZJ5> zgLUb5)i1sQN90XuB1P}s3$;T}RBH;0#vk#t0ks{r8rVRo3k}%iY>KF!KHKRi_8h?T8eEmGzB46pyam( zDky5ki#pBSm)faw_I38({^GoFx$nJ~`~EJ!=XrjQ-mmXOJ;>@Gk)94bz=a!d+Ef95 z0OC-S^NkLQW)}>_QjG7Dn`4gx2GVC#0DBI#TDIJ&pJ?X$Or0$^6!j&>4J3f2PZ-)} zlfJx)NXdH%6O4|0gdUA-)69G2*4JlgqOmxW#qy7e6-RQKt5BFiqw9e=#fEd}=D%k? z`}WqT_v<|01tJ)UtZ{V<`=kj9cMUI(sSkFVGnX&RQUT zNNK%BHMSp^TY1uf^S+0@hEN%F`nI1I}RtIJu)^XwX*eFq>z zR(>*9+C+8WwY8NdeZnEp3t~!4{VD50xZI@J3=d6oOLk3hFbRsg05FvG?SkDEZ8+0w zx68!w>aM;-V{*`;7OF85x&Po*TlM)P{y~|sp1hQ7;X^r#VlJn1(S;`A7cQ}B!SUBB zQNA!Y9qY0fKGv%EI?+p8PwHY{n;kz8aoS{NDu2+eN&Wb4YZrgZpSaPni3k9cRt23mIsW!IE3aevENj$dbz$%{mbuRBM4E=>k!V`gLTV#_gUnA4b`K351~WG~@EjDH3?{ftMh-92`G3 zV)q~nBkJ=1c;lSj>HEcCEH>7Y0es(v58i^7!Cy89+wS(MRLf1J=9Lz!t?4u)bq3wp zIR%b@;q`sg@$5h1^s<3+|DN7;CdL~5TVP<{giNDp#qw}TQBl@uil@fp{aTA`3RhE50-+Gj0w6B~JXw>spIO)nNKE6ac zO61lM;9DKx0PDB}@wC*Z8v~hF4dGDn;4GO^$IS(qKR6#djxf=IFL;qS1vlr$4&YN6 z02f>5i!K$TFYTw8yL;vHY<8WCFA&a&s3f1FtV(!V&PVlB$TV01Xo?${B$TcO9sR_^ zOq#x36TW!zE1{6@u`$L^W>?n#Y&&V*TWb#;)^8-n3Dy@CVJP(#TgB(gq45c_nvrm~ zGGN#79#Ho$lzP^6hSzy=1%zteTcRwYDy0gsvDYFaEr4A8Dzss7 z*>>-Y0ZW#2IZ5;0WIC&|D=Sz|u|^SJI4Xn1Yqb>&c&(a|lTVl5#0KW~?5qo94j>D+ z!9Ylw%sdFXv0>`#8jDmrMrHw=l~WrDz`a+PQe@3ce3lZ)XQ!QmB#pK2ed!j)_FfZHdSSoL7Wq9@^AOuL?X%=t`(iX= zGn?1#$cccfV;l6IyfCU#ffLjE#0KMp7IXTB)()AF$-2M(3MnB6pm{iyQL*m`f&|mz zN^Vp+Le1`QHS7c}Rz|ijK(|%6gth83)2uKNR?uD9KPo=(Xk#2Q(HYk<2X9~!Y8=(s z)I8a+i?DscU6gY8*68fJxDFOzbwdG)?WXerR}nP!#!b6wSE^IBe82@pCy;Sv54NnM ziS8W`zvD-h?NEEk3Y-y{JMnVk6DJ&3Be}JW={e?c