Skip to main content

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 .dno file.
  • 📺 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dno-0.1.2.tar.gz (21.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dno-0.1.2-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

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

Hashes for dno-0.1.2.tar.gz
Algorithm Hash digest
SHA256 f99809c152fa347efb4633b1b8ece99baa9647ff7db4a5f927ead55cd108f20f
MD5 f3c5b741b7ebdb42279d7c3fbfccfa64
BLAKE2b-256 3666c8d2273b9f74e7e642848c88b642c72bc28d556c0be71525f8ad00ab8529

See more details on using hashes here.

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

Hashes for dno-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 669a5973977840ea8a90ebd2f002cb66bc0400294d9837a96f0fffd671dc1927
MD5 12650594adeb51f8266d0b5775049a61
BLAKE2b-256 569a5c7c13f1fad6ad70884529cb8e3135cfc1b0490bb8ae79476123711548b5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page