Crates.io | ctrnn |
lib.rs | ctrnn |
version | 0.1.2 |
source | src |
created_at | 2024-08-16 16:34:25.92854 |
updated_at | 2024-08-16 16:49:28.220989 |
description | Supervised and unsupervised CTRNNs with parallelism |
homepage | |
repository | |
max_upload_size | |
id | 1340459 |
size | 54,710 |
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();