← 开源
uber-research

PyTorch-NEAT

Model DevelopmentArchitectureTraining toolkitsPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
568
Star
99
Fork
+0
本周
1
贡献者
创建于 2018-08-28 · 更新于 2026-09-02 · 今日第 16877 名
主要开发者
jal278

uber-research/PyTorch-NEAT 排名第 16,877,有 568 个星标。

同类别比较

uber-research/PyTorch-NEAT 排名第 16,877,此处有 8 个同类条目;thedimlebowski/Trading-Gym 排名第 16,876。

同类别比较
名称排名指标
mmasana/FACIL16,858
语言:
Python
星标数:
569
分叉数:
102
简介:
Framework for Analysis of Class-Incremental Learning with 12 state-of-the-art methods and 3 baselines.
ilovepose/DarkPose16,865
语言:
Cuda
星标数:
568
分叉数:
82
简介:
Distribution-Aware Coordinate Representation for Human Pose Estimation
microsoft/foldingdiff16,871
语言:
Jupyter Notebook
星标数:
568
分叉数:
75
简介:
Diffusion models of protein structure; trigonometry and attention are all you need!
thedimlebowski/Trading-Gym16,876
语言:
Python
星标数:
568
分叉数:
150
简介:
Trading Gym is an open source project for the development of reinforcement learning algorithms in the context of trading.
HKUDS/SSLRec16,881
语言:
Python
星标数:
567
分叉数:
82
简介:
[WSDM'2024 Oral] "SSLRec: A Self-Supervised Learning Framework for Recommendation"
MarvinTeichmann/ConvCRF16,883
语言:
Python
星标数:
567
分叉数:
131
简介:
This repository contains the reference implementation for our proposed Convolutional CRFs.
assafshocher/ResizeRight16,886
语言:
Python
星标数:
567
分叉数:
52
简介:
The correct way to resize images or tensors. For Numpy or Pytorch (differentiable).
google-research-datasets/conceptual-captions16,890
语言:
Shell
星标数:
567
分叉数:
25
简介:
Conceptual Captions is a dataset containing (image-URL, caption) pairs designed for the training and evaluation of machine learned image captioning systems.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Architecture,Training toolkits
关键词AutoML, Model architecture, Optimization, Research
星标数568
分叉数99
贡献者1
创建日期2018-08-28
更新日期2026-09-02
1 天星标数0
7 天星标数0
排名16,877
上次排名16,670
排名变化-207
7 天星标排名15,777
上次 7 天星标排名15,786
7 天星标排名变化9
总星标排名17,547
上次总星标排名17,516
总星标排名变化-31
国家USA
README 摘录

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.

常见问题

记录了多少星标和分叉?

uber-research/PyTorch-NEAT 有 568 个星标和 99 个分叉。

仓库排名是多少?

uber-research/PyTorch-NEAT 排名第 16,877。

记录的语言和类别是什么?

uber-research/PyTorch-NEAT 有 568 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

uber-research/PyTorch-NEAT 与 thedimlebowski/Trading-Gym 比较,后者排名第 16,876,有 568 个星标。

README

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.

排名相邻
同类项目