Dynamic Neural Organism (DNO): A self-evolving, growing, and pruning neural network framework.
Project description
DNO: Dynamic Neural Organism 🧬
DNO (formerly DeeDe) is a PyTorch-based framework for creating biological neural networks that grow, think, and evolve at runtime.
Unlike static deep learning models, a DNO is an organism that starts small and evolves its architecture based on the problem complexity.
Key Features
- 🧠 Dynamic Growth: Starts with a seed and adds layers via mitosis when "confused" (High Entropy).
- 🗡️ Survival of the Fittest: Prunes inefficient neurons and layers using Information Gain (KL-Divergence).
- 🧬 Fluid Serialization: Save the entire organism (Weights + Topology + History) into a single
.dnofile. - 📺 Live Dashboard: Visualize the organism's anatomy and health in the terminal.
Installation
pip install dno
Quick Start
import torch
import torch.nn as nn
from dno.core.organism import OrganismManager, BaseEvolvableModule
from dno.core.network import DynamicNetwork
from dno.config import DnoConfig
from dno.utils.dashboard import print_organism_status
# 1. Create the Organism
manager = OrganismManager()
config = DnoConfig(entropy_threshold=0.6, growth_alpha=0.5)
network = DynamicNetwork(manager, config)
# 2. Add a Seed Layer
seed = BaseEvolvableModule(nn.Linear(10, 10))
seed.dynamic_id = "seed_layer"
network.add_layer(seed)
# 3. Live Life (Forward Pass)
input_data = torch.randn(1, 10)
output = network(input_data)
# 4. Check Status
print_organism_status(manager)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dno-0.1.2.tar.gz.
File metadata
- Download URL: dno-0.1.2.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f99809c152fa347efb4633b1b8ece99baa9647ff7db4a5f927ead55cd108f20f
|
|
| MD5 |
f3c5b741b7ebdb42279d7c3fbfccfa64
|
|
| BLAKE2b-256 |
3666c8d2273b9f74e7e642848c88b642c72bc28d556c0be71525f8ad00ab8529
|
File details
Details for the file dno-0.1.2-py3-none-any.whl.
File metadata
- Download URL: dno-0.1.2-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
669a5973977840ea8a90ebd2f002cb66bc0400294d9837a96f0fffd671dc1927
|
|
| MD5 |
12650594adeb51f8266d0b5775049a61
|
|
| BLAKE2b-256 |
569a5c7c13f1fad6ad70884529cb8e3135cfc1b0490bb8ae79476123711548b5
|