ctrnn

Crates.ioctrnn
lib.rsctrnn
version0.1.2
sourcesrc
created_at2024-08-16 16:34:25.92854
updated_at2024-08-16 16:49:28.220989
descriptionSupervised and unsupervised CTRNNs with parallelism
homepage
repository
max_upload_size
id1340459
size54,710
Nathan Barber (naatebarber)

documentation

README

CTRNN

CTRNN framework for Rust.

Network types:

  • HashNetwork: Network with flexible HashMap neuron connections, ideal for large, sparse networks.
  • SsmNetwork: Single-threaded network using a centralized synaptic strength matrix.
  • PowerNetwork: Multi-threaded, distributable network using a centralized synaptic strength matrix.

Usage:

use ctrnn::PowerNetwork;

// PowerNetwork(size, d_in, d_out, worker_cores)
let mut power = PowerNetwork::new(24, 1, 1, 8).unwrap();

// PowerNetwork.weave(neural_density)
power.weave(0.8)

// PowerNetwork.forward(inputs, next_tau, step_size)
let inputs = vec![0.3];
let next_tau = ctrnn::get_ts() + 3.;
let step_size = 0.001;

power.forward(inputs, next_tau, step_size);

let losses: Vec<f64> = my_loss_fn();
let learning_rate = 0.01;

power.backward(learning_rate, losses).unwrap();
Commit count: 0

cargo fmt