Skip to main content

The Standalone Fetch AI Collective Learning Framework

Project description

Welcome to the Fetch.ai Collective Learning

Colearn is a library that enables privacy-preserving decentralized machine learning tasks on the FET network.

This blockchain-mediated collective learning system enables multiple stakeholders to build a shared machine learning model without needing to rely on a central authority. This library is currently in development.

Installation

  1. Download the source code from github:

    git clone https://github.com/fetchai/colearn.git && cd colearn
    
  2. Create and launch a clean virtual environment with Python 3.7. (This library has currently only been tested with Python 3.7).

    pipenv --python 3.7 && pipenv shell
    
  3. Install the package from source:

    pip install -e .[all]
    
  4. Run one of the examples:

    examples/pytorch_mnist.py
    

For more instructions, see the documentation at fetchai.github.io/colearn/

Build image

To build ML server image and push to google cloud use the following command:

cd docker
python3 ./build.py --publish --allow_dirty
# Check this worked correctly
docker images

Documentation

To run the documentation, first install mkdocs and plugins:

pip install mkdocs==1.1.2 mkdocs-macros-plugin==0.5.0 \
mkdocs-macros-test==0.1.0 mkdocs-material==6.2.3 \
mkdocs-material-extensions==1.0.1 markdown-include==0.6.0

Then run:

mkdocs serve

Current Version

We have released v.0.1 of the Colearn Machine Learning Interface, the first version of an interface that will allow developers to prepare for future releases. Together with the interface we provide a simple backend for local experiments. This is the first backend with upcoming blockchain ledger based backends to follow.
Future releases will use similar interfaces so that learners built with the current system will work on a different backend that integrates a distributed ledger and provides other improvements. The current framework will then be used mainly for model development and debugging. We invite all users to experiment with the framework, develop their own models, and provide feedback!

Quick Overview

The collective learning protocol allows learners to collaborate on training a model without requiring trust between the participants. Learners vote on updates to the model, and only updates which pass the quality threshold are accepted. This makes the system robust to attempts to interfere with the model by providing bad updates. For more details on the collective learning system see here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

colearn-0.2.2.tar.gz (25.4 kB view details)

Uploaded Source

Built Distribution

colearn-0.2.2-py3-none-any.whl (52.8 kB view details)

Uploaded Python 3

File details

Details for the file colearn-0.2.2.tar.gz.

File metadata

  • Download URL: colearn-0.2.2.tar.gz
  • Upload date:
  • Size: 25.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.5

File hashes

Hashes for colearn-0.2.2.tar.gz
Algorithm Hash digest
SHA256 4b3e1cca21138389e0465e626183d85d855c7dabdc406547410a4d37c1343f66
MD5 3ad7e4ffddc6c4e8b6f684de6c9dbb45
BLAKE2b-256 f059aa840f0356c845560fec04d907e2812227df4265b925365a0d0c41f0063c

See more details on using hashes here.

File details

Details for the file colearn-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: colearn-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 52.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.7.5

File hashes

Hashes for colearn-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6da95abc9b160fa6e2d1d0760560c2164ee5ae9c8097d25bc861400cd53fe743
MD5 53a9b36afb57a45f430b678338789f33
BLAKE2b-256 6c225e9e05ecd4631c742a30af616de649b3472e9b6a4ad9e6aba9a611805c2c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page