instadeepai / instadeepai/Mava

[FEATURE] More flexible networks

Open
#1,137 0 comments 0 reactions 0 assignees View on GitHub
enhancement refactor
Dominant language
Python
Stars
935
Forks
123
Avg merge
6d 8h
Merged PRs (30d)
9

Description

We recently got a PR #1099 to add the ability to chain torso's together. This would greatly increase the flexibility of creating the networks through config.

The goal would be for the main network class to look something like this:
```
class Network(nn.Module)
torso: CompositeNetwork
head: nn.Module

def __call__(x, ...):
x = do some stuff to the input # each different network would do different stuff e.g centralized/decentralized etc
return head(torso(x))
```

Then torsos and head can be defined easily through config and chained through the `CompositeNetwork` a similar system exists in stoix, which this change is inspired by.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing PR #1099 and the existing Network and CompositeNetwork designs, then compare the similar system in stoix. Define how torso and head components are selected and chained through config, including the network-specific input handling described in the issue. Done means networks can be assembled flexibly from configured torsos and heads while preserving the intended centralized and decentralized behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.