Implementation of the Flow Lenia model. The model is implemented in JAX and so supports GPU acceleration.
Paper : https://arxiv.org/abs/2212.07906
Companion website : https://sites.google.com/view/flowlenia
Flow Lenia implementations in JAX.
Main implementation of the Flow Lenia system. Main components are :
- Config : dataclass containing Flow Lenia configuration variables.
- State : dataclass representing state of the system (activations (A))
- FlowLenia : class packing all the FlowLenia components (step function, kernel computer, rule space).
Implementation of Flow Lenia with parameter embedding mechanism.
- Config (Imported as Config_P) : Configuration dataclass
- State : dataclass representing state of the system (activations (A) + parameter map (P))
- FlowLeniaParams : class packing all the components of the Flow lenia model withn parametr embedding (same as FlowLenia)
Small examples showing how to use the flowlenia codebase.
- FlowLenia.ipynb : Flow Lenia demo
- example_1C.py : Instantiation of 1-channel multi-kernels Flow Lenia.
- example_2C.py : 2-channels multi-kernels Flow Lenia
- parameter_embedding.py : Instantitation of Flow Lenia with parameter embedding.