Fedlearn支持前沿算法研发的Python工具库 | Fedlearn algorithm toolkit for researchers

Overview

FedLearn-algo

Installation

Development Environment Checklist

python3 (3.6 or 3.7) is required. To configure and check the development environment is correct, a checklist file is provided: environment_checklist.sh. Under the path of FedLearn-algo, please run:

sh environment_checklist.sh

Recommended Python Package

Package License Version Github
datasets MIT 1.8.0 https://github.com/huggingface/datasets
gmpy2 LGPL 3.0 2.0.8 https://github.com/BrianGladman/gmpy2
grpc Apache 2.0 1.38.0 https://github.com/grpc/grpc
numpy BSD 3 1.19.2 https://github.com/numpy/numpy
omegaconf BSD 3 2.1.0 https://github.com/omry/omegaconf
oneflow Apache 2.0 0.4.0 https://github.com/Oneflow-Inc/oneflow
orjson Apache 2.0 3.5.2 https://github.com/ijl/orjson
pandas BSD 3 1.2.4 https://github.com/pandas-dev/pandas
phe LGPL 3.0 1.4.0 https://github.com/data61/python-paillier
sklearn BSD 3 0.24.2 https://github.com/scikit-learn/scikit-learn
tensorflow Apache 2.0 2.4.1 https://github.com/tensorflow/tensorflow
torch BSD 1.9 https://github.com/pytorch/pytorch
tornado Apache 2.0 6.1 https://github.com/tornadoweb/tornado
transformers Apache 2.0 4.7.0 https://github.com/huggingface/transformers
protobuf 3-Clause BSD 3.12.2 https://github.com/protocolbuffers/protobuf

Device Deployment

The device deployment is a centralized distributed topology, as shown in the above figure. The server terminal controls the training loop, and the N client terminals operate independent algorithm computation, respectively. For non-deep learning algorithms, each client terminal depends on CPU-based computation, otherwise GPU (e.g., NVIDIA series) should be configured to guarantee training speed.

Optional Text

Run an Example

An algorithm flow example is provided to demonstrate a customized algorithm development (one server terminal with three client terminals). Server should communicate with each client. The server and three clients could be sited on different machines or started by command line terminal in one machine.

First, users should set the IP, port, and token. In client terminals, run the following commands, respectively.

python demos/custom_alg_demo/custom_client.py -I 127.0.0.1 -P 8891 -T client_1
python demos/custom_alg_demo/custom_client.py -I 127.0.0.1 -P 8892 -T client_2
python demos/custom_alg_demo/custom_client.py -I 127.0.0.1 -P 8893 -T client_3

Second, in the server terminal, run the following to start the server and complete a simulated training pipeline.

python demos/custom_alg_demo/custom_server.py

Architecture Design

FedLearn-algo is an open source framework in the research environment to promote the study of novel federated learning algorithms. FedLearn-algo proposes a distributed machine learning architecture enabling both vertical and horizontal federated learning (FL) development. This architecture supports flexible module configurations for each particular algorithm design, and can be extended to build state-of-the-art algorithms and systems. FedLearn-algo also provides comprehensive examples, including FL-based kernel methods, random forest, and neural networks. At last, the horizontal FL extension in FedLearn-algo is compatible with popular deep learning frameworks, e.g., PyTorch, OneFlow.

Optional Text

The above figure shows the proposed FL framework. It has one server and multiple clients to complete the multi-party joint modeling in the federated learning procedure. The server is located at the centre of architecture topology, and it coordinates the training pipeline. Clients operate modeling computation independently in local terminals without sharing data, and thus could protect data privacy and data security.

Demonstration Algorithms

According to the data partition differences, existing FL algorithms can be mainly categorized into horizontal FL algorithms and vertical FL algorithms. Horizontal FL refers to the setting that samples on the involved machines share the same feature space while the machines have different sample ID space. Vertical FL means all machines share the same sample ID space while each machine has a unique feature space.

Vertical Federated Learning

  • Federated Kernel Learning. Kernel method is a nonlinear machine learning algorithm to handle linearly non-separable data.

  • Federated Random Forest. Random forest is an ensemble machine learning method for classification and regression by building a multitude of decision trees in model training.

Horizontal Federated Learning

  • Federated HFL. An extension framework in FedLearn-algo designed to provide flexible and easy-to-use algorithms in Horizontal Federated scenarios.

Documentation

License

The distribution of FedLearn-algo in this repository is under Apache 2.0 license.

Citation

Please cite FedLearn-algo in your publications if it makes some contributions to your research/development:

@article{liu2021fedlearn,
  title={Fedlearn-Algo: A flexible open-source privacy-preserving machine learning platform},
  author={Liu, Bo and Tan, Chaowei and Wang, Jiazhou and Zeng, Tao and Shan, Huasong and Yao, Houpu and Heng, Huang and Dai, Peng and Bo, Liefeng and Chen, Yanqing},
  journal={arXiv preprint arXiv:2107.04129},
  url={https://arxiv.org/abs/2107.04129},
  year={2021}
}

Contact us

Please contact us at [email protected] if you have any questions.

Comments
  • 咨询random_forest demo的Prediction结果

    咨询random_forest demo的Prediction结果

    冒昧求教:框架中的random_forest demo处理的是一个二分类问题, 1、为什么Prediction的结果是一个有9个元素的数组?我猜测预测的是不是inference数据集中9位uid得糖尿病的概率?如果是这样的话如何去检查预测的准确度呢? 2、为什么每次运行Prediction的结果都是不同的?

    opened by ZhangQiusi 4
  • how the complete tree form in random forest demo_local,py

    how the complete tree form in random forest demo_local,py

    0: {0: {'processed': True}, 1: {'processed': True}, 2: {'processed': True}, 3: {'processed': True, 'is_leaf': True}, 4: {'processed': True}, 5: {'processed': True, 'is_leaf': True}, 6: {'processed': True}, 9: {'processed': True, 'is_leaf': True}, 10: {'processed': True}, 13: {'processed': True, 'is_leaf': True}, 14: {'processed': True}, 21: {'processed': True, 'is_leaf': True}, 22: {'processed': True, 'is_leaf': True}, 29: {'processed': True, 'is_leaf': True}, 30: {'processed': True, 'is_leaf': True}}} how with this information we can analyse the tree,which one is root which one is leaf

    opened by monuheeya 3
  • Incompatible package version in `environment_checklist.sh`

    Incompatible package version in `environment_checklist.sh`

    Problem: The intel-numpy package is incompatible with pandas package which are installed by running the file environment_checklist.sh

    Details: The version of the installed intel-numpy is 1.15.1. The version of the installed pandas package is incompatible with numpy < 1.15.4

    Reproduce the error:

    1. Under the environment of Python 3.6.13
    2. Go to the root repository of fedlearn-algo
    3. Install the python packages by running ./environment_checklist.sh
    4. See this error when running command python demos/random_forest/client.py -I 0 -C demos/random_forest/config.py
    opened by flyingcat047 2
  • Failure to set up the local environment by running environment_checklist.sh

    Failure to set up the local environment by running environment_checklist.sh

    Below is the error message that I got when I tried to set up the local envrionment by running environment_checklist.sh. Some of the dependency failed to be installed.

    (py36) * xuebin.wang$ sh environment_checklist.sh 
    
    Run the checklist...
    
    environment_checklist.sh: line 6: yum: command not found
    
    1. check development env...
    
    environment_checklist.sh: line 11: yum: command not found
    
    environment_checklist.sh: line 12: yum: command not found
    
    Development env checking finished.
    
    2. check python 3.6 env...
    
    environment_checklist.sh: line 20: yum: command not found
    
    Python 3.6 checking finished.
    
    3. check paillier packages...
    
    environment_checklist.sh: line 28: yum: command not found
    
    Collecting gmpy2
    
      Using cached gmpy2-2.0.8.zip (280 kB)
    
    Collecting phe
    
      Using cached phe-1.4.0.tar.gz (35 kB)
    
    Building wheels for collected packages: gmpy2, phe
    
      Building wheel for gmpy2 (setup.py) ... error
    
      ERROR: Command errored out with exit status 1:
    
       command: /Users/xuebin.wang/opt/anaconda3/envs/py36/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/setup.py'"'"'; __file__='"'"'/private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-wheel-qxmh5v9h
    
           cwd: /private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/
    
      Complete output (14 lines):
    
      running bdist_wheel
    
      running build
    
      running build_ext
    
      building 'gmpy2' extension
    
      creating build
    
      creating build/temp.macosx-10.9-x86_64-3.6
    
      creating build/temp.macosx-10.9-x86_64-3.6/src
    
      gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/xuebin.wang/opt/anaconda3/envs/py36/include -arch x86_64 -I/Users/xuebin.wang/opt/anaconda3/envs/py36/include -arch x86_64 -DWITHMPFR -DWITHMPC -I/Users/xuebin.wang/opt/anaconda3/envs/py36/include/python3.6m -c src/gmpy2.c -o build/temp.macosx-10.9-x86_64-3.6/src/gmpy2.o
    
      In file included from src/gmpy2.c:426:
    
      src/gmpy.h:106:12: fatal error: 'gmp.h' file not found
    
      #  include "gmp.h"
    
                 ^~~~~~~
    
      1 error generated.
    
      error: command 'gcc' failed with exit status 1
    
      ----------------------------------------
    
      ERROR: Failed building wheel for gmpy2
    
      Running setup.py clean for gmpy2
    
      Building wheel for phe (setup.py) ... done
    
      Created wheel for phe: filename=phe-1.4.0-py2.py3-none-any.whl size=37362 sha256=1b08747fb6775a103f53ac225fefc0e13206acabbdeeff65bd15bec56a809975
    
      Stored in directory: /Users/xuebin.wang/Library/Caches/pip/wheels/61/2c/64/036a5dd340f2608a6d3c7cb8e88333a841d7ad3457ca9fd7f9
    
    Successfully built phe
    
    Failed to build gmpy2
    
    Installing collected packages: phe, gmpy2
    
        Running setup.py install for gmpy2 ... error
    
        ERROR: Command errored out with exit status 1:
    
         command: /Users/xuebin.wang/opt/anaconda3/envs/py36/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/setup.py'"'"'; __file__='"'"'/private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-record-o053dhrt/install-record.txt --single-version-externally-managed --compile --install-headers /Users/xuebin.wang/opt/anaconda3/envs/py36/include/python3.6m/gmpy2
    
             cwd: /private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/
    
        Complete output (14 lines):
    
        running install
    
        running build
    
        running build_ext
    
        building 'gmpy2' extension
    
        creating build
    
        creating build/temp.macosx-10.9-x86_64-3.6
    
        creating build/temp.macosx-10.9-x86_64-3.6/src
    
        gcc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/Users/xuebin.wang/opt/anaconda3/envs/py36/include -arch x86_64 -I/Users/xuebin.wang/opt/anaconda3/envs/py36/include -arch x86_64 -DWITHMPFR -DWITHMPC -I/Users/xuebin.wang/opt/anaconda3/envs/py36/include/python3.6m -c src/gmpy2.c -o build/temp.macosx-10.9-x86_64-3.6/src/gmpy2.o
    
        In file included from src/gmpy2.c:426:
    
        src/gmpy.h:106:12: fatal error: 'gmp.h' file not found
    
        ```#  include "gmp.h"```
    
                   ^~~~~~~
    
        1 error generated.
    
        error: command 'gcc' failed with exit status 1
    
        ----------------------------------------
    
    ERROR: Command errored out with exit status 1: /Users/xuebin.wang/opt/anaconda3/envs/py36/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/setup.py'"'"'; __file__='"'"'/private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-install-tus8ysrk/gmpy2_804b98d559b94d669dd65ed828081209/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /private/var/folders/v6/bhhlhsqs21x3rlqfctn9tbr80000gp/T/pip-record-o053dhrt/install-record.txt --single-version-externally-managed --compile --install-headers /Users/xuebin.wang/opt/anaconda3/envs/py36/include/python3.6m/gmpy2 Check the logs for full command output.
    
    Paillier packages checking finished.
    
    4. check numpy/scipy related...
    
    Collecting intel-numpy
    
      Downloading intel_numpy-1.15.1-cp36-cp36m-macosx_10_12_intel.macosx_10_12_x86_64.whl (6.0 MB)
    
         |████████████████████████████████| 6.0 MB 3.3 MB/s 
    
    Collecting intel-scipy
    
      Downloading intel_scipy-1.1.0-cp36-cp36m-macosx_10_12_intel.macosx_10_12_x86_64.whl (28.2 MB)
    
         |████████████████████████████████| 28.2 MB 18.4 MB/s 
    
    Collecting icc-rt
    
      Downloading icc_rt-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl (9.5 MB)
    
         |████████████████████████████████| 9.5 MB 34.1 MB/s 
    
    Collecting mkl-fft
    
      Downloading mkl_fft-1.0.6-cp36-cp36m-macosx_10_12_intel.macosx_10_12_x86_64.whl (232 kB)
    
         |████████████████████████████████| 232 kB 29.0 MB/s 
    
    Collecting mkl
    
      Downloading mkl-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl (193.8 MB)
    
         |████████████████████████████████| 193.8 MB 28.7 MB/s 
    
    Collecting tbb4py
    
      Downloading tbb4py-2019.0-cp36-cp36m-macosx_10_12_intel.macosx_10_12_x86_64.whl (47 kB)
    
         |████████████████████████████████| 47 kB 13.7 MB/s 
    
    Collecting mkl-random
    
      Downloading mkl_random-1.0.1.1-cp36-cp36m-macosx_10_12_intel.macosx_10_12_x86_64.whl (393 kB)
    
         |████████████████████████████████| 393 kB 43.2 MB/s 
    
    Collecting intel-openmp
    
      Downloading intel_openmp-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl (1.1 MB)
    
         |████████████████████████████████| 1.1 MB 22.5 MB/s 
    
    Collecting tbb==2019.*
    
      Downloading tbb-2019.0-py2.py3-none-macosx_10_12_intel.macosx_10_12_x86_64.whl (565 kB)
    
         |████████████████████████████████| 565 kB 21.6 MB/s 
    
    Installing collected packages: tbb, intel-openmp, tbb4py, mkl-random, mkl-fft, mkl, icc-rt, intel-numpy, intel-scipy
    
    Successfully installed icc-rt-2019.0 intel-numpy-1.15.1 intel-openmp-2019.0 intel-scipy-1.1.0 mkl-2019.0 mkl-fft-1.0.6 mkl-random-1.0.1.1 tbb-2019.0 tbb4py-2019.0
    
    Collecting grpcio
    
      Downloading grpcio-1.39.0-cp36-cp36m-macosx_10_10_x86_64.whl (3.9 MB)
    
         |████████████████████████████████| 3.9 MB 4.0 MB/s 
    
    Collecting grpcio-tools
    
      Downloading grpcio_tools-1.39.0-cp36-cp36m-macosx_10_10_x86_64.whl (2.0 MB)
    
         |████████████████████████████████| 2.0 MB 19.1 MB/s 
    
    Collecting six>=1.5.2
    
      Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
    
    Requirement already satisfied: setuptools in /Users/xuebin.wang/opt/anaconda3/envs/py36/lib/python3.6/site-packages (from grpcio-tools) (52.0.0.post20210125)
    
    Collecting protobuf<4.0dev,>=3.5.0.post1
    
      Downloading protobuf-3.17.3-cp36-cp36m-macosx_10_9_x86_64.whl (1.0 MB)
    
         |████████████████████████████████| 1.0 MB 25.4 MB/s 
    
    Installing collected packages: six, protobuf, grpcio, grpcio-tools
    
    Successfully installed grpcio-1.39.0 grpcio-tools-1.39.0 protobuf-3.17.3 six-1.16.0
    
    opened by flyingcat047 2
  • Need fix for core.encrypt.RandomizedIterativeAffine module for combinatory operations

    Need fix for core.encrypt.RandomizedIterativeAffine module for combinatory operations

    I found one problem of core.encrypt.RandomizedIterativeAffine module. When combinatory scalar products and additions are applied to the encrypted objects, the result may turn wrong. For example, with the inputs below,

    p1= 4592.146866155027
    p2= 532.2228109095383
    k1= 872.0311515320057
    k2= -1033.819189454349
    

    the decrypted result of ([p1]*k1)*k2+[p2] is -532.2228107452393 I also tried with other inputs. It seems that the decryption of ([p1]*k1)*k2+[p2] generally gives me the value of -p2

    opened by flyingcat047 1
  • Deperated riac

    Deperated riac

    For updates and changes

    Changes:

    1. Add readme in he folder
    2. Add announcement for RIAC: The RIAC scheme has been found security flaws, we decide to disable this scheme until a secure version is released.
    opened by guabao 0
  • Clean up code and fix secure inference

    Clean up code and fix secure inference

    Changes:

    1. Clean up develop code in secure inference.
    2. Reposition secure inference data.
    3. Fix running issue in secure inference demo.
    4. Add corresponding instructions in Readme.
    opened by cyqclark 0
  • Add secure inference and async supports

    Add secure inference and async supports

    Changes:

    1. Add Secure Inference demo for sphereface model
    2. Add both synchronized and asynchronized implementation for Secure Inference
    3. Add sphereface related data
    4. Change communication core to support asynchronized communication
    opened by cyqclark 0
  • Vertically federated linear regression algorithm is ready

    Vertically federated linear regression algorithm is ready

    Changes:

    1. Added vertically federated linear regression algorithm based on QR in the demos/linear_regression folder
    2. The scripts for local and remote demos are also under the demos/linear_regression folder
    opened by flyingcat047 0
  • New client

    New client

    For issue fixes

    Fixes ISSUE #xxx

    For updates and changes

    Changes:

    1. update kernel regression code and FDNN code to fit the new client and coordinator
    2. move FDNN code to tensorflow sub-folder, pytorch version is scheduled to push to the code base.
    3. start new feature engineering demo.
    opened by guabao 0
  • A sync hfl

    A sync hfl

    For issue fixes

    Fixes ISSUE #xxx

    For updates and changes

    Changes:

    1. support Fed-aSync framework
    2. support aSyncFedAvg aggregation Algo
    3. support fed-text-classification-model
    4. support 20newsgroups dataset preprocessing
    opened by monadyn 0
Releases(v0.1.0-alpha)
Deep universal probabilistic programming with Python and PyTorch

Getting Started | Documentation | Community | Contributing Pyro is a flexible, scalable deep probabilistic programming library built on PyTorch. Notab

7.7k Dec 30, 2022
PyTorch implementation of Lip to Speech Synthesis with Visual Context Attentional GAN (NeurIPS2021)

Lip to Speech Synthesis with Visual Context Attentional GAN This repository contains the PyTorch implementation of the following paper: Lip to Speech

6 Nov 02, 2022
It is modified Tensorflow 2.x version of Mask R-CNN

[TF 2.X] Mask R-CNN for Object Detection and Segmentation [Notice] : The original mask-rcnn uses the tensorflow 1.X version. I modified it for tensorf

Milner 34 Nov 09, 2022
Improved Fitness Optimization Landscapes for Sequence Design

ReLSO Improved Fitness Optimization Landscapes for Sequence Design Description Citation How to run Training models Original data source Description In

Krishnaswamy Lab 44 Dec 20, 2022
A library for implementing Decentralized Graph Neural Network algorithms.

decentralized-gnn A package for implementing and simulating decentralized Graph Neural Network algorithms for classification of peer-to-peer nodes. De

Multimedia Knowledge and Social Analytics Lab 5 Nov 07, 2022
A production-ready, scalable Indexer for the Jina neural search framework, based on HNSW and PSQL

🌟 HNSW + PostgreSQL Indexer HNSWPostgreSQLIndexer Jina is a production-ready, scalable Indexer for the Jina neural search framework. It combines the

Jina AI 25 Oct 14, 2022
PyTorch implementation of Octave Convolution with pre-trained Oct-ResNet and Oct-MobileNet models

octconv.pytorch PyTorch implementation of Octave Convolution in Drop an Octave: Reducing Spatial Redundancy in Convolutional Neural Networks with Octa

Duo Li 273 Dec 18, 2022
Unofficial implementation of "TTNet: Real-time temporal and spatial video analysis of table tennis" (CVPR 2020)

TTNet-Pytorch The implementation for the paper "TTNet: Real-time temporal and spatial video analysis of table tennis" An introduction of the project c

Nguyen Mau Dung 438 Dec 29, 2022
Source code of SIGIR2021 Paper 'One Chatbot Per Person: Creating Personalized Chatbots based on Implicit Profiles'

DHAP Source code of SIGIR2021 Long Paper: One Chatbot Per Person: Creating Personalized Chatbots based on Implicit User Profiles . Preinstallation Fir

ZYMa 32 Dec 06, 2022
Meshed-Memory Transformer for Image Captioning. CVPR 2020

M²: Meshed-Memory Transformer This repository contains the reference code for the paper Meshed-Memory Transformer for Image Captioning (CVPR 2020). Pl

AImageLab 422 Dec 28, 2022
Spherical CNNs

Spherical CNNs Equivariant CNNs for the sphere and SO(3) implemented in PyTorch Overview This library contains a PyTorch implementation of the rotatio

Jonas Köhler 893 Dec 28, 2022
Checkout some cool self-projects you can try your hands on to curb your boredom this December!

SoC-Winter Checkout some cool self-projects you can try your hands on to curb your boredom this December! These are short projects that you can do you

Web and Coding Club, IIT Bombay 29 Nov 08, 2022
A Weakly Supervised Amodal Segmenter with Boundary Uncertainty Estimation

Paper Khoi Nguyen, Sinisa Todorovic "A Weakly Supervised Amodal Segmenter with Boundary Uncertainty Estimation", accepted to ICCV 2021 Our code is mai

Khoi Nguyen 5 Aug 14, 2022
An open software package to develop BCI based brain and cognitive computing technology for recognizing user's intention using deep learning

An open software package to develop BCI based brain and cognitive computing technology for recognizing user's intention using deep learning

deepbci 272 Jan 08, 2023
Implementation of ConvMixer-Patches Are All You Need? in TensorFlow and Keras

Patches Are All You Need? - ConvMixer ConvMixer, an extremely simple model that is similar in spirit to the ViT and the even-more-basic MLP-Mixer in t

Sayan Nath 8 Oct 03, 2022
Implementation of "StrengthNet: Deep Learning-based Emotion Strength Assessment for Emotional Speech Synthesis"

StrengthNet Implementation of "StrengthNet: Deep Learning-based Emotion Strength Assessment for Emotional Speech Synthesis" https://arxiv.org/abs/2110

RuiLiu 65 Dec 20, 2022
Контрольная работа по математическим методам машинного обучения

ML-MathMethods-Test Контрольная работа по математическим методам машинного обучения. Вычисление основных статистик, диаграмм и графиков, проверка разл

Stas Ivanovskii 1 Jan 06, 2022
GARCH and Multivariate LSTM forecasting models for Bitcoin realized volatility with potential applications in crypto options trading, hedging, portfolio management, and risk management

Bitcoin Realized Volatility Forecasting with GARCH and Multivariate LSTM Author: Chi Bui This Repository Repository Directory ├── README.md

Chi Bui 113 Dec 29, 2022
An air quality monitoring service with a Raspberry Pi and a SDS011 sensor.

Raspberry Pi Air Quality Monitor A simple air quality monitoring service for the Raspberry Pi. Installation Clone the repository and run the following

rydercalmdown 24 Dec 09, 2022
Pytorch implementation of the paper: "SAPNet: Segmentation-Aware Progressive Network for Perceptual Contrastive Image Deraining"

SAPNet This repository contains the official Pytorch implementation of the paper: "SAPNet: Segmentation-Aware Progressive Network for Perceptual Contr

11 Oct 17, 2022