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>
git clone https://github.com/ravenprotocol/raven-distribution-framework.git
For the stable build
For the latest build
2. Configure Paths
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"
ENCRYPTION = True in the same file if a layer of homomorphic encryption needs to be added for Federated Analytics.
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.
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.
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.
Raven is a decentralized network of compute nodes that utilize idle compute power for AI training where speed is the…
Join our discord server to get updates on what comes next
Join the Raven Dev Community Discord Server!
Check out the Raven Dev Community community on Discord — hang out with 49 other members and enjoy free voice and text…
Join us on Telegram