Giter Club home page Giter Club logo

fedavg_encrypt's Introduction

1. 简介

本项目基于PyTorch 1.11.0和Python 3.9.7。它支持使用GPU,当然它可以在没有GPU的情况下运行(它需要对代码的GPU部分进行简单的修改)。超参数信息封装在utils的conf.json中,可以修改json文件直接调用。数据集目前采用MNIST数据集和CIFAR-10数据集,构建模型实现了基于灰白图片(单通道)和彩色图片(三通道)的FedAvg,项目代码简洁,注释清晰,如果我的项目对您有所帮助,麻烦点亮一颗小星星,这将是对我最大的鼓励与支持!

2. 使用方法

如果你只是想使用FedAvg,修改conf.json中的noise设置为0, 运行如下代码:

python server.py -c ./utils/conf.json

2.2 差分隐私

如果你想使用基于差分隐私的FedAvg,修改conf.json中的noise设置为1(拉普拉斯机制)或者2(高斯机制),sigma用来调节噪声幅度,运行如下代码:

python server.py -c ./utils/conf.json

2.3 DP+paillier

如果你想使用基于差分隐私和同态加密的FedAvg,修改conf.json中的noise设置为1(拉普拉斯机制)或者2(高斯机制),sigma用来调节噪声幅度,运行如下代码:

python server_encrypt.py -c ./utils/conf.json

3. 其他文件

new_paillier.py文件中的加密算法是用来加解密文本信息,test.py是用来测试Paillier的用法,可以忽略。

fedavg_encrypt's People

Contributors

heroding77 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

fedavg_encrypt's Issues

同态加密耗时

我尝试运行python server_encrypt.py -c ./utils/conf.json命令,但是每一轮都非常耗时,大约要2h一轮,是正常的吗?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.