-
Notifications
You must be signed in to change notification settings - Fork 10
Home

NErlNet is a distributed machine learning framework designed for the research and deployment of distributed machine learning clusters, particularly on IoT devices. It is highly configurable, allowing users to define and allocate software entities across a network of devices. Management of the cluster is handled through a convenient Python API that communicates with the NErlNet cluster.
This wiki serves as the official documentation for NErlNet. Whether you are a new user looking to get started, a researcher exploring distributed machine learning, or a developer wanting to contribute, you will find the information you need here.
If you are new to NErlNet, here is a recommended path to get you started:
-
NErlNet Design: Understand the high-level architecture of NErlNet, including its main components like the
API Server,Main Server,Routers,Clients,Sources, andWorkers. - Installation and Setup: Follow the guide to install NErlNet and set up your environment.
-
Configuration Files: Learn about the
JSONconfiguration files that define the network topology, entity connections, and experiment flow. -
NErlPlanner Tool: Use the GUI tool to easily create the required
JSONconfiguration files. - Running an Example: Run your first distributed machine learning experiment using the provided examples.
- Distributed Architecture: NErlNet is built on a distributed architecture that allows for the flexible deployment of ML models across multiple devices.
- Erlang Backbone: The core of NErlNet is implemented in Erlang, which provides a robust foundation for building scalable and fault-tolerant distributed systems.
- Python API: A user-friendly Python API allows for easy interaction with the NErlNet cluster, making it simple to configure experiments and manage the system.
- Extensibility: NErlNet is designed to be extensible, allowing for the integration of different machine learning libraries and the implementation of custom worker logic.
We welcome contributions to NErlNet! If you are interested in contributing, please check out the main GitHub repository and the contribution guidelines.
Use the sidebar to navigate through the different sections of this wiki. Each page provides detailed information on a specific aspect of NErlNet.