instadeepai / instadeepai/Mava
[FEATURE] More flexible networks
- 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
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