uber-research/PyTorch-NEAT on GitHub: Python, Model Development, Architecture, Training toolkits, AutoML, Model architecture, Optimization, Research.
uber-research/PyTorch-NEAT is ranked 16,877 with 568 stars.
Same-category comparison
uber-research/PyTorch-NEAT is ranked 16,877 among these 8 peers; thedimlebowski/Trading-Gym is ranked 16,876.
Same-category comparison| Name | Rank | Metrics |
|---|
| mmasana/FACIL | 16,858 | - Language:
- Python
- Stars:
- 569
- Forks:
- 102
- Description:
- Framework for Analysis of Class-Incremental Learning with 12 state-of-the-art methods and 3 baselines.
|
|---|
| ilovepose/DarkPose | 16,865 | - Language:
- Cuda
- Stars:
- 568
- Forks:
- 82
- Description:
- Distribution-Aware Coordinate Representation for Human Pose Estimation.
|
|---|
| microsoft/foldingdiff | 16,871 | - Language:
- Jupyter Notebook
- Stars:
- 568
- Forks:
- 75
- Description:
- Diffusion models of protein structure; trigonometry and attention are all you need.
|
|---|
| thedimlebowski/Trading-Gym | 16,876 | - Language:
- Python
- Stars:
- 568
- Forks:
- 150
- Description:
- Trading Gym is an open source project for the development of reinforcement learning algorithms in the context of trading.
|
|---|
| HKUDS/SSLRec | 16,881 | - Language:
- Python
- Stars:
- 567
- Forks:
- 82
- Description:
- [WSDM'2024 Oral] "SSLRec: A Self-Supervised Learning Framework for Recommendation".
|
|---|
| MarvinTeichmann/ConvCRF | 16,883 | - Language:
- Python
- Stars:
- 567
- Forks:
- 131
- Description:
- This repository contains the reference implementation for our proposed Convolutional CRFs.
|
|---|
| assafshocher/ResizeRight | 16,886 | - Language:
- Python
- Stars:
- 567
- Forks:
- 52
- Description:
- The correct way to resize images or tensors. For Numpy or Pytorch (differentiable).
|
|---|
| google-research-datasets/conceptual-captions | 16,890 | - Language:
- Shell
- Stars:
- 567
- Forks:
- 25
- Description:
- Conceptual Captions is a dataset containing (image-URL, caption) pairs designed for the training and evaluation of machine learned image captioning systems.
|
|---|
Key parameters and specifications
Key parameters and specifications| Parameter | Value |
|---|
| Language | Python |
|---|
| Category | Model Development |
|---|
| Subcategory | Architecture, Training toolkits |
|---|
| Keywords | AutoML, Model architecture, Optimization, Research |
|---|
| Stars | 568 |
|---|
| Forks | 99 |
|---|
| Contributors | 1 |
|---|
| Created date | 2018-08-28 |
|---|
| Updated date | 2026-09-02 |
|---|
| Stars in 1 day | 0 |
|---|
| Stars in 7 days | 0 |
|---|
| Rank | 16,877 |
|---|
| Previous rank | 16,670 |
|---|
| Rank change | -207 |
|---|
| 7-day stars rank | 15,777 |
|---|
| Previous 7-day stars rank | 15,786 |
|---|
| 7-day stars rank change | 9 |
|---|
| Total stars rank | 17,547 |
|---|
| Previous total stars rank | 17,516 |
|---|
| Total stars rank change | -31 |
|---|
| Country | USA |
|---|
README summary
PyTorch NEAT Background NEAT (NeuroEvolution of Augmenting Topologies) is a popular neuroevolution algorithm, one of the few such algorithms that evolves the architectures of its networks in addition to the weights. For more information, see this research paper: HyperNEAT is an extension to NEAT that indirectly encodes the weights of the network (called the substrate) with a separate network (called a CPPN, for compositional pattern-producing network). For more information on HyperNEAT, see this website: Adaptive HyperNEAT is an extension
to HyperNEAT which indirectly encodes both the initial weights and an update rule for the weights such that some learning can occur during a network's "lifetime. " For more information, see this research paper: About PyTorch NEAT builds upon NEAT-Python by providing some functions which can turn a NEAT-Python genome into either a recurrent PyTorch network or a PyTorch CPPN for use in HyperNEAT or Adaptive HyperNEAT. We also provide some environments in which to test NEAT and Adaptive
HyperNEAT, and a more involved example using the CPPN infrastructure with Adaptive HyperNEAT on a T-maze. Examples The following snippet turns a NEAT-Python genome into a recurrent PyTorch network: You can also turn a NEAT-Python genome into a CPPN: A CPPN is represented as a graph structure. For easy evaluation, a CPPN's input and output nodes may be named: We also provide some infrastructure for running networks in Gym environments: This allows multiple environments to run in
parallel for efficiency. A simple example using NEAT to solve the Cartpole can be run like this: And a simple example using Adaptive HyperNEAT to partially solve a T-maze can be run like this: Author / Support PyTorch NEAT is extended from Python NEAT by Alex Gajewsky.
Frequently asked questions
How many stars and forks are recorded?
uber-research/PyTorch-NEAT has 568 stars and 99 forks.
What is the repository rank?
uber-research/PyTorch-NEAT is ranked 16,877.
What language and category are recorded?
uber-research/PyTorch-NEAT has 568 stars, uses Python and belongs to Model Development.
Which repository is closest in rank?
uber-research/PyTorch-NEAT is compared with thedimlebowski/Trading-Gym, ranked 16,876 with 568 stars.
PyTorch NEAT
Background
NEAT (NeuroEvolution of Augmenting Topologies) is a popular neuroevolution algorithm, one of the few such algorithms that evolves the architectures of its networks in addition to the weights. For more information, see this research paper: http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf.
HyperNEAT is an extension to NEAT that indirectly encodes the weights of the network (called the substrate) with a separate network (called a CPPN, for compositional pattern-producing network). For more information on HyperNEAT, see this website: http://eplex.cs.ucf.edu/hyperNEATpage/.
Adaptive HyperNEAT is an extension to HyperNEAT which indirectly encodes both the initial weights and an update rule for the weights such that some learning can occur during a network's "lifetime." For more information, see this research paper: http://eplex.cs.ucf.edu/papers/risi_sab10.pdf.
About
PyTorch NEAT builds upon NEAT-Python by providing some functions which can turn a NEAT-Python genome into either a recurrent PyTorch network or a PyTorch CPPN for use in HyperNEAT or Adaptive HyperNEAT.
We also provide some environments in which to test NEAT and Adaptive HyperNEAT, and a more involved example using the CPPN infrastructure with Adaptive HyperNEAT on a T-maze.
Examples
The following snippet turns a NEAT-Python genome into a recurrent PyTorch network:
from pytorch_neat.recurrent_net import RecurrentNet
net = RecurrentNet.create(genome, config, bs)
outputs = net.activate(some_array)
You can also turn a NEAT-Python genome into a CPPN:
from pytorch_neat.cppn import create_cppn
cppn_nodes = create_cppn(genome, config)
A CPPN is represented as a graph structure. For easy evaluation, a CPPN's input and output nodes may be named:
from pytorch_neat.cppn import create_cppn
[delta_w_node] = create_cppn(
genome,
config,
["x_in", "y_in", "x_out", "y_out", "pre", "post", "w"],
["delta_w"],
)
delta_w = delta_w_node(x_in=some_array, y_in=other_array, ...)
We also provide some infrastructure for running networks in Gym environments:
from pytorch_neat.multi_env_eval import MultiEnvEvaluator
from pytorch_neat.recurrent_net import RecurrentNet
def make_net(genome, config, batch_size):
return RecurrentNet.create(genome, config, batch_size)
def activate_net(net, states):
outputs = net.activate(states).numpy()
return outputs[:, 0] > 0.5
def make_env():
return gym.make("CartPole-v0")
evaluator = MultiEnvEvaluator(
make_net, activate_net, make_env=make_env, max_env_steps=max_env_steps, batch_size=batch_size,
)
fitness = evaluator.eval_genome(genome)
This allows multiple environments to run in parallel for efficiency.
A simple example using NEAT to solve the Cartpole can be run like this:
python3 -m examples.simple.main
And a simple example using Adaptive HyperNEAT to partially solve a T-maze can be run like this:
python3 -m examples.adaptive.main
Author / Support
PyTorch NEAT is extended from Python NEAT by Alex Gajewsky.
Questions can be directed to joel.lehman@uber.com.