PySyft改造官方例子
[toc]
本人博客https://qinzheng7575.github.io/
自己聚合例子为了能够实现想要的各种FL架构,我们必须学会怎么改造官方例子,使之能够自己聚合、训练,在自己聚合方面,有这样一个例子:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172import torchimport copyimport syft as syfrom torch import nnfrom torch import optimhook = sy.TorchHook(torch)# 工作机作为客户端,用于训练模型,安全工作机作为服务器,用于数据的整合及交流Li = sy.VirtualWorker(hook, id='Li')Zhang = sy.VirtualWorker(hook, id='Zhang')secure_work ...
PySyft学习
[toc]
本人博客https://qinzheng7575.github.io/
Pytorch与PySyft安装 基本上按照这个 教程 来就可以,注意的是要查看自己的CUDA版本,我的就是10.1,所有安装了CUDA版的pytorch。会像如下报很多包的缺失也没关系:
一个一个安装就好了,值得注意的是某些包安的时候可能安不上去,应该是因为依赖的关系,先装其它包就好了,就像我是最后安装Flask和requests的,要先把其它的包安装完。
实验代码:
123456789101112131415161718192021222324252627282930import syft as syimport torchimport sysfrom torch.nn import Parameterimport torch.nn as nnimport torch.nn.functional as Fhook = sy.TorchHook(torch)print(hook)print(torch.tensor([1,2,3,4,5]))x = torch.tensor([1,2,3,4,5] ...
毕业设计!
[toc]
本人博客https://qinzheng7575.github.io/
【C_socket】select和多线程的一些BUG
[toc]
本人博客https://qinzheng7575.github.io/
前言之前的项目,已经能够很好的实现socket的一些基础操作,但是距离一个真正的通信类应用程序还是差距很多,在接下来的项目3、4中,依然遇到了很多问题,有些是因为粗心,而有些则是因为对函数和套接字的理解还不够,接下来就按照问题复盘的形式,重新看一看自己遇到的问题
文件操作错误错误内容:”段错误(核心已转储)“core dumped
原因:
文件读取的时候,feof和fread一起使用可能会导致错误,因为二者判断文件文件结尾有所不同。
用fread的返回值进行判断是否结束,因为feof是文件指针真正到达文件末尾后才返回-1,所以同样已函数返回结果作为循环判断结束依据的话,feof会比fread多一次循环。
fread是成段成段的读取,即便文件指针还没到末尾,但如果读取的段到了文件末尾,就返回0,而文件指针经过这次读取后才到达文件末尾。
解决方法:
==最后选择了根据fread的返回值判断是否结束,而没有采用feof。==
错误内容文件读写完fclose时指针发生异常
原因:
fread会改变文件指针(Fi ...
【C_socket】高并发、高性能通信软件设计
[toc]
本人博客https://qinzheng7575.github.io/
写在开始之前在听到这个单元的主题的时候,瞬间想起了在大三上学期那次字节的面试,被问到自己做过的项目的时候,就问我对于通信瓶颈怎么去判断、处理的,以前从来没有接触过这样的问题,也没有思考过这种多线程啊,多任务啊,搞并发问题。后来,自己好好看了python的并发,也算是了解了应用(主要是函数的应用),但是呢,显然了解语言、函数背后的思想更为重要。也是上面的遭遇,让我想要仔细的去学习这一章。:slightly_smiling_face:
什么是高效传输?我们在利用网络传输消息的时候,当然期望能够尽可能压榨资源为我所用!也就是说要不停的send,直到系统承受不住send失败了为止。
问题来了,send失败了怎么办?立刻再开始下一次send?肯定不行,因为往往网络的堵塞是有持续性的,有极大概率会send失败。所以最好是等系统有能力的时候,立刻继续。
几个方案类似阻塞,不成功就一直发送我们可以设置一个templen代表已发送的全部数据,每次获取send的返回值加在templen上,直到等于想要发送的数据长度为止 ...
【C_socket】select检测键盘输入实现自由聊天
[toc]
本人博客https://qinzheng7575.github.io/
前言在之前写的socket通信程序中,有一个服务器,一接收到消息就会回复一个ACK;有一个客户机,一直等待输入按下回车就可发送。这似乎已经很完美了,能够实现通信,但是,稍微想想它和我们日常使用的聊天程序QQ、微信之间的区别,就能够发现,哦,原来完全没法做到真正的“自由聊天”。
目标与关键技术
编写两对简单的一对一聊天程序,分别为面向连接方式和无连接方式
双方可以自由聊天,即随时都可以输入或显示对方的数据
要实现第二个,看起来很简单,其实需要引入全新的机制:多路复用机制
我们能不能不用非得等到对面回复了东西才能继续发?能不能在scanf阻塞等待输入的时候,我先接收对面的东西?要想避免线性流水线式的程序模型,就必须引入多路复用,而select机制,就是时分复用实现多路复用的形式。
select()功能:检查多个套接字状态,将其放在对应的队列中,我们就可以根据不同的队列来进行操作了
意味着:每次只要是队列里的socket,就必定代表它发生了某种事情,导致了它在这个队列里面,那么我们接下来的操作肯定可以 ...
Python fire探究
[toc]
前言:在做GAN的时候,发现人家的代码都是用fire来控制输入的,觉得很实用,方便把一个大工程控制参数,因此来学习下
〇.遇到的小问题!!!shell命令的时候,函数后面需要空一格再打要传入的参数!
12>python first.py test --name=QIN --age=21name is QIN,age is 21 and address is ('sc', 'cd').
Ⅰ.全部暴露什么都不做,只是在调用的时候fire.Fire(),会把所有程序暴露给命令行(我猜这个暴露的意思类似于是否private)
12345678import firedef hello(name): return('Hello {name} !'.format(name=name))if __name__ == "__main__": fire.Fire() python first.py hello QIN#hello 是为了指定hello函数Hello ...
【机器学习】GAN探究2——动漫头像生成
本人主页
三个阶段:
首先根据这个看一看,试着做一次
然后是书上的生成动漫头像
最后是使用数据集的这个例子
emoji集合~
[toc]
前言在基本的GAN熟知了之后,我们先聊一聊上次的第一部分做了什么:首先,我们有一堆按照某个规律分布的数据,但是我们完全不知道它的特点,比如在这里我们就在这两条线之间生成了样例数据,显然,这个样例数据似乎也长着一个二次曲线的样子。
经过GAN的对抗之后,生成器生成的数据已经很接近二次曲线形状了。并且当我把样例数据的分布改变——比如改成在$y=x+1$附近的时候,也能够生成差不多对应的直线。
那么,如果我们的输入,不再是简单的线性分布,而是一张图片呢?看起来其实也就是把真实样本数据的输入维数64×15变成了64×15×3(rgb),但此时就应用到另一个针对图片的工具,CNN,所以就诞生了DCGAN。
数据集来源:scraped from www.getchu.com, which are then cropped using the anime face detection algorithm in https://gith ...
【机器学习】GAN探究
本人主页
首先根据这个看一看,试着做一次https://zhuanlan.zhihu.com/p/117529144
然后是书上的生成动漫头像
最后是使用数据集的这个
https://pytorch.apachecn.org/docs/1.4/13.html
[toc]
小知识点np.vstack()和np.hstack()前者按垂直方向(行顺序)堆叠数组构成一个新的数组
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455In[3]:import numpy as npIn[4]:a = np.array([[1,2,3]])a.shapeOut[4]:(1, 3)In [5]:b = np.array([[4,5,6]])b.shapeOut[5]:(1, 3)In [6]:c = np.vstack((a,b)) # 将两个(1,3)形状的数组按垂直方向叠加print(c)c.shape # 输出形状为(2,3)[[1 2 3] [ ...
【机器学习】机器学习的分类——综述(更新中)
目录:
[TOC]
所有神经网络介绍
机器学习分类——综述《A survey of ML to self organizing cellular networks》对整个SON,从应用上针对具体使用的不同方面来讨论了机器学习和SON的关系。但是相对来说对SON的介绍更多一些
接下来看《Artificial Neural Networks-Based Machine Learning for Wireless Networks_ A Tutorial》和《Deep Learning in Mobile and Wireless Networking A Survey》。前者对神经网络的介绍比较充分,对于建立框架来说更有价值一些。
$\LaTeX$表
《A survey of ML to self organizing cellular networks》读后感机器学习应用到SON上的点,无非是从SON的整个构建过程来说的,在不同的时间不同的阶段,去解决在不同阶段的问题。
三个阶段——自动配置、自动组网、自动修复,我们先梳理一下在这三个阶段中可能遇到的问题。
文章一开始,给了机器学习的 ...