Published in


How to set up Raven Distribution Framework(RDF)?

Raven distribution framework(RDF) is really easy to install on a local machine, as long as you have a Linux or macOS device. Now there is no need to set up various components separately. This comprehensive repository contains scripts to install all dependencies and libraries in a single command.

While RDF is currently in the development stage, we will be constantly pushing new features. You can test out both the latest and stable builds available on Github. Learn more about RDF and its components here. Join our Discord server and Telegram channel to get regular updates.

How to set up RDF?

1. Install ravsock, ravop, ravftp and other dependencies

Create a virtual environment with Python 3.7 or later

conda create -n <env_name> python=3.*
conda activate <env_name>

Clone repository

git clone https://github.com/ravenprotocol/raven-distribution-framework.git
cd raven-distribution-framework

Install dependencies

For the stable build

sh setup_stable.sh

For the latest build

sh setup.sh

2. Configure Paths

Navigate to ravsock/config.py and set the FTP_ENVIRON_DIR variable to the bin folder of your python virtual environment. For instance:

FTP_ENVIRON_DIR = "~/miniconda/envs/<env_name>/bin"

Note: Set ENCRYPTION = True in the same file if a layer of homomorphic encryption needs to be added for Federated Analytics.

Set RDF_DATABASE_URI in the same file.

RDF_DATABASE_URI = "sqlite:///rdf.db?check_same_thread=False"

3. Create the database

Create the database with tables required for the project.

python reset.py

4. Start Ravsock Server

Ravsock is a crucial component of RDF that facilitates both federated and distributed functionalities of the framework.

It sits between the developer(who creates ops and writes algorithms) and the contributor who contributes the idle computing power. Its scheduling algorithm oversees the distribution and statuses of different Ops, Graphs, and Subgraphs across multiple Clients.

python3 run_ravsock.py

How to run Federated Analytics?

Kindly visit FEDERATED ANALYTICS for more info on creating and working with custom Federated Ops.

How to run Distributed Computing?

Kindly visit DISTRIBUTED COMPUTING for more on creating graphs, initializing distributed clients in a web browser, and working with custom Ops to develop distributed ML algorithms.

Check out our repositories on Github.

Join our discord server to get updates on what comes next

Join us on Telegram




Decentralized and Distributed Deep Learning

Recommended from Medium

Kotlin Scope Functions Explained [Example]

How Google G Suite Changed our Lives At LuminFire

CS371p Fall 2021: Ziyi Zhao

Wondershare UniConverter Crack Version

Go Outside!

HMS location Kit

In Memory of Your Cloud Strategy

Simple To-DoWebApp Development Using Python-Django-React-Docker Tech Stack

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kailash Ahirwar

Kailash Ahirwar

Co-founder - Mate Labs | Co-founder - Raven Protocol | Author - Generative Adversarial Networks Projects | Democratizing Artificial Intelligence

More from Medium

How are GPUs used for Deep Learning?

Surveying scikit-learn usage — Part II: The (Un)reasonable Popularity of Random Forests

TinyML: Some perspective of an application into acoustic scene classification