All Projects → iamtrask → Pysonar

iamtrask / Pysonar

Licence: apache-2.0
Decentralized Machine Learning Client

Projects that are alternatives of or similar to Pysonar

Text detector
Text detection model that combines Retinanet with textboxes++ for OCR
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Graph Notebook
Library extending Jupyter notebooks to integrate with Apache TinkerPop and RDF SPARQL.
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook
Ml Lessons
Intro to deep learning for medical imaging lesson, by MD.ai
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook
Atari Model Zoo
A binary release of trained deep reinforcement learning models trained in the Atari machine learning benchmark, and a software release that enables easy visualization and analysis of models, and comparison across training algorithms.
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Bilateral solver
Python code for the fast bilateral solver
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Pytorch Geometric Yoochoose
This is a tutorial for PyTorch Geometric on the YooChoose dataset
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Analytics Zoo
Distributed Tensorflow, Keras and PyTorch on Apache Spark/Flink & Ray
Stars: ✭ 2,448 (+1130.15%)
Mutual labels:  jupyter-notebook
Mgcnn
Multi-Graph Convolutional Neural Networks
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook
Datacollect
A collection of tools to collect and download various data.
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Go Tflite
Go binding for TensorFlow Lite
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook
Up Down Captioner
Automatic image captioning model based on Caffe, using features from bottom-up attention.
Stars: ✭ 195 (-2.01%)
Mutual labels:  jupyter-notebook
Auto Reid And Others
Auto-ReID and Other Person Re-Identification Projects
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Nas fpn tensorflow
NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection.
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Data Science Projects With Python
A Case Study Approach to Successful Data Science Projects Using Python, Pandas, and Scikit-Learn
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Trading Gym
This trading-gym is the first trading for agent to train with episode of short term trading itself.
Stars: ✭ 194 (-2.51%)
Mutual labels:  jupyter-notebook
Ml
Codes related to various ML Hackathons
Stars: ✭ 197 (-1.01%)
Mutual labels:  jupyter-notebook
Neural networks and cv
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook
Datascience
책) 파이썬으로 데이터 주무르기 - 소스코드 및 데이터 공개
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook
Radio
RadIO is a library for data science research of computed tomography imaging
Stars: ✭ 198 (-0.5%)
Mutual labels:  jupyter-notebook
Python For Finance Cookbook
Python for Finance Cookbook, published by Packt
Stars: ✭ 199 (+0%)
Mutual labels:  jupyter-notebook

PySonar

Decentralized Machine Learning Client

Chat on Slack Build Status

Sonar is a smart contract library that allows data scientists to publish new models they want to get trained into the ModelRepository and people to pick models they can train on their personal data.

You can find a working proof of concept in the notebooks directory.

Setup

Using Docker

Using Docker is the easiest way to get this running.

  1. Run docker-compose up. This will launch IPFS, the in-memory fake ethereum blockchain with the smart contract, OpenMined mine.js and the jupyter notebooks
  2. Open the the Jupyter notebooks on http://localhost:8888
  3. Step through the notebook and check the output of the previous docker-compose up to get some infos on what happens

Usage

Bootstrap environment

Before running the demo there are a couple of prerequisites you need to install.

Base libraries

Before installing the python packages you need to make sure your system holds a set of basic math libraries required for the encryption operations (phe lib)

  • mpc: arithmetic of complex numbers with arbitrarily high precision and correct rounding of the result
  • mpfr: multiple-precision floating-point computations
  • gmp: GNU multiple precision arithmetic library
  • npm: NPM Package Manager

For MacOS with brew just run:

brew install libmpc mpfr gmp

For Linux run:

apt-get install libgmp3-dev libmpfr-dev libmpc-dev python3-dev

Then run:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash
nvm install v8

Solidity

The solidity tools are required to compile the contract of our demo. See installing solidity for instructions for your platform.

Truffle

In order to import ABIs you'll need to install truffle.

sudo npm install -g truffle

IPFS

As the network itself is too big to actually host it on the blockchain you need IPFS to host the files. For installation see the ipfs installation page or run:

brew install ipfs

After installation is complete run ipfs init to initialize your local IPFS system.

PIP packages

Make sure you have a clean python3 install and continue with installing all the packages

pip install -r requirements.txt

PIP package maintenance

PySonar utilizes pip-tools to help with maintaining PIP packages (https://github.com/jazzband/pip-tools)

To update all packages, periodically re-run

pip-compile --upgrade

Build local libraries

First you need to get sonar package bundled up

python setup.py install

Then make sure you also have the syft package properly installed. Head over to the repository and follow its instructions.

Import Smart Contract ABI

The interface for our Sonar smart contract is distributed via an npm package. You can import the ModelRepository.abi file to your local environment by running

make import-abi

which will place the file at abis/ModelRepository.abi.

Start

After you made sure all the installation steps are done you need to set up your local mock environment.

# start the ipfs daemon in the background
ipfs daemon&
# run local ethereum mock
testrpc -a 1000

Now open a second shell, start the notebook and follow its instructions

jupyter notebook notebooks

Known issues

  • there have been reports of the brew installation of solidity not working properly

If you experience any problems while running this demo please create a github issue and help us get better.

License

Apache-2.0 by OpenMined contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].