diff --git a/.vscode/settings.json b/.vscode/settings.json index 00689eab..06d70e1a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -79,5 +79,5 @@ "xtr1common": "cpp", "xutility": "cpp" }, - "python.pythonPath": "C:\\Python\\python.exe", + "python.pythonPath": "/usr/bin/python3", } \ No newline at end of file diff --git a/pytorch/Pysyft实例/websockets-example-MNIST-parallel/start_websocket_servers.py b/pytorch/Pysyft实例/websockets-example-MNIST-parallel/start_websocket_servers.py index 4e40ba45..72943ce5 100644 --- a/pytorch/Pysyft实例/websockets-example-MNIST-parallel/start_websocket_servers.py +++ b/pytorch/Pysyft实例/websockets-example-MNIST-parallel/start_websocket_servers.py @@ -9,7 +9,7 @@ import sys # Downloads MNIST dataset mnist_trainset = datasets.MNIST( - root="../../官方教程/data", + root="./data", train=True, download=True, transform=transforms.Compose( diff --git a/pytorch/官方教程/10 Pysyft 概述.md b/pytorch/官方教程/10 Pysyft 概述.md index a966051c..36b2ff5f 100644 --- a/pytorch/官方教程/10 Pysyft 概述.md +++ b/pytorch/官方教程/10 Pysyft 概述.md @@ -115,3 +115,8 @@ jupyter nbextension enable latex_envs --user --py 3. 远程计算:远程计算的实现(plan,protocol)、 4. 加密计算:加密算法的实现(MFC同态加密)、 5. 联邦平均:联邦平均算法的实现(util.fed_avg(models)) +## 说明 + +1. 联邦平均实现了一种同步平均的方法 +2. 多段训练 没有实现联邦平均算法,没有聚合。 +3. Mnist实例 没有实现联邦平均算法,只是依次训练 diff --git a/pytorch/官方教程/23 Pysyft 安全Mnist分类实例.ipynb b/pytorch/官方教程/23 Pysyft 安全Mnist分类实例.ipynb index fde7cecc..a4a5cca1 100644 --- a/pytorch/官方教程/23 Pysyft 安全Mnist分类实例.ipynb +++ b/pytorch/官方教程/23 Pysyft 安全Mnist分类实例.ipynb @@ -47,7 +47,7 @@ "source": [ "epochs = 10\n", "# We don't use the whole dataset for efficiency purpose, but feel free to increase these numbers\n", - "n_train_items = 640\n", + "n_train_items = 640 \n", "n_test_items = 640" ] }, diff --git a/工作日志/2021年5月16日-今日计划.md b/工作日志/2021年5月16日-今日计划.md new file mode 100644 index 00000000..e83e77dd --- /dev/null +++ b/工作日志/2021年5月16日-今日计划.md @@ -0,0 +1,9 @@ +## 感悟 + +为啥非得把开始学习与这种无用的东西挂钩。烦死了。我现在需要把膏药运回宿舍。然后去买点东西吃个饭。 +感觉好烦啊。周末玩的欲望,胜过一切。五月份又是无语的半个月。 + +总之还是从今天开始认真学习把。时间。。。确实不够了。六月末之前完成中期答辩。这是学长说的。完成这一阶段的任务,就要开始写 +1. 毕设论文 +2. 小论文 +3. 最后的展示工程(或者说一个近似仿真的系统,怎么也得一两个月) \ No newline at end of file diff --git a/工作日志/2021年5月17日-今日计划.md b/工作日志/2021年5月17日-今日计划.md new file mode 100644 index 00000000..7321d83a --- /dev/null +++ b/工作日志/2021年5月17日-今日计划.md @@ -0,0 +1,12 @@ +## 计划 + +1. 完成virtual learning +2. 完善pysyft_websocket +3. 看完pytorch basic的一份视频教程 +4. 数据处理部分开始。 + + + +## 收获 + + diff --git a/工作日志/2021年5月1日-五月份计划.md b/工作日志/2021年5月1日-五月份计划.md index 52791a7f..3ffdb8c2 100644 --- a/工作日志/2021年5月1日-五月份计划.md +++ b/工作日志/2021年5月1日-五月份计划.md @@ -2,6 +2,9 @@ > 四月份计划主要进行基础知识的学习和复习。完成了初步的数据处理。接下来的主要任务是阅读论文并完成论文复习计划。 > 开始执行五月份计划,与四月份计划进行衔接。完成工程上与学术上的推进工作。 +> 别人都靠不住的,万事都要靠自己。接下来开始搞论文应该也能搞完。三个月实习加论文,搞完。五六七。 +> 抓紧吧基础的工程弄完,然后开始搞论文,然后在搞回工程。实现最终的系统。 +> 我们是合作关系,而不是上下级关系。别懈怠了。 ### **阅读论文**(两周) > (100篇计划)蒋师兄前前后后分享了估计也有一百篇了,现在重新开始读论文,在复现文章的同时进行广泛的阅读。利用citavi这个工具。 @@ -28,7 +31,7 @@ - [ ] 待定 -## 工程任务 +## 工程任务(完成目标系统) > 需要确定最终实现到什么程度。如果还是单机多线程仿真的,大可不必进行大量修改。在本地通过socket多线程通信进行仿真即可。没有必要考虑网页端的训练(用户将模型下载到Chrome浏览器中,在Chrome浏览器中进行梯度下降?大可不必。第一步应该是首先实现本地浏览器调用本地后端的程序进行仿真。然后尝试远程浏览器,建立socket通信,进行真实系统仿真。而且远程系统,必须也有相关的Python环境才行,或者直接在浏览器中使用JavaScript进行梯度下降。) > 对于单机仿真环境:前端调用后端的训练线程,实现联邦学习。 diff --git a/工作日志/2021年5月6日-今日计划.md b/工作日志/2021年5月6日-今日计划.md index cd6854a6..bc285e59 100644 --- a/工作日志/2021年5月6日-今日计划.md +++ b/工作日志/2021年5月6日-今日计划.md @@ -1,26 +1,31 @@ ## 任务 -- [x] 四月份计划——tensorflow federated -- [ ] 四月份计划——pytorch——pysyft - - [x] 官方教程 - - [x] 相关博客实践 - - [ ] 学弟的代码 - - [ ] 自己实现 -- [ ] 四月份计划——pytorch——basic教程(整理完教程,API文档layer、loss、optimizer整理完成) -- [x] ~~四月份计划——pytorch——分布式教程(包括教程和API文章整理)~~ -- [x] ~~四月份计划——pytorch——android教程(包括教程和API文章整理)~~ -- [x] 四月份计划——pytorch——APIdoc +* [X] 四月份计划——tensorflow federated +* [X] 四月份计划——pytorch——pysyft + + * [x] 官方教程 + * [x] 相关博客实践 + + * [x] 学弟的代码 + * [x] 自己实现 + + +* [ ] 四月份计划——pytorch——basic教程(整理完教程,API文档layer、loss、optimizer整理完成,看视频吧) +* [x] ~~四月份计划——pytorch——分布式教程(包括教程和API文章整理)~~ + +* [x] ~~四月份计划——pytorch——android教程(包括教程和API文章整理)~~ +* [x] 四月份计划——pytorch——APIdoc ## 收获 1. 我发现python机器学习这一套在linux下更好运行,windows配置环境果然要麻烦一百倍。从今天开始将主要的工作环境转移到linux上边。算法的运行和学习都在linux上执行。去Windows上做一下收尾工作。 2. 当前的主要任务包括两个,一个是四月份未完成的计划。一个是五月份新开始的计划。 3. tensorflow federated已经学习完成了,能够完成基本的联邦学习过程。因为与学弟合作的部分还是pytorch。今后最好使用pytorch进行开发吧。除非由绝对的优势,不会回到tensorflow上了。 - 4. 学习了很多新的Python知识、掌握了pysyft框架的基本使用方法和一系列原理。主要目标有两个:**使用、修改**。 + 1. Python的模块loggin、asynicio、argparse等、第三方模块websocket, 2. pysyft的原理。worker通信原理和websocket实现(send、receive、client、server)、远程计算的实现(plan,protocol)、加密算法的实现(MFC同态加密)、联邦平均算法的实现(util.fed_avg(models)) 3. pytorch的模块的使用。torch.nn,torch.function,torch.jit(实现了代码的序列化) - \ No newline at end of file +5. 从周一拖到现在,本来应该是上周的计划,到现在刚做完。问题就是,为什么random.shuffle效率会提升???????太离谱了。总算是完成第一阶段集中式的问题了。今天怎么也得完成5月6号的任务。 diff --git a/工作日志/2021年5月7日-今日计划.md b/工作日志/2021年5月7日-今日计划.md index fae7c26e..ddc8919b 100644 --- a/工作日志/2021年5月7日-今日计划.md +++ b/工作日志/2021年5月7日-今日计划.md @@ -1,6 +1,9 @@ ## 计划 -- [ ] 四月份计划——pytorch 两个数据集训练 -- [ ] 四月份计划——pysyft 两个数据集训练 +- [X] 四月份计划——pytorch 数据集训练 +- [X] 四月份计划——pysyft fake_federated_learning 数据集训练(直接使用学弟的代码,或者尝试写一点也行)感觉没什么必要,但是也可以根据 + - [x] 尝试自己使用pysyft框架,前几个章节给出的方法复现以下内容。 +- [X] 四月份计划——pysyft websocket数据集的训练 + - [x] 实现websocket的可扩展性。能够动态增加客户端的数量。 -## 收获 \ No newline at end of file +## 收获 diff --git a/机器学习/殷康龙/机器学习开发日志/3 两种生成随机布尔屏蔽.ipynb b/机器学习/殷康龙/机器学习开发日志/3 两种生成随机布尔屏蔽.ipynb index 26b95bdb..32fd65ce 100644 --- a/机器学习/殷康龙/机器学习开发日志/3 两种生成随机布尔屏蔽.ipynb +++ b/机器学习/殷康龙/机器学习开发日志/3 两种生成随机布尔屏蔽.ipynb @@ -24,7 +24,7 @@ "cells": [ { "source": [ - "## 1 np.ranoom.choice" + "## 1 np.random.choice" ], "cell_type": "markdown", "metadata": {}