cognition 0.0.1

A cognitive computing library for Rust
Documentation
  • Coverage
  • 87.5%
    7 out of 8 items documented1 out of 6 items with examples
  • Size
  • Source code size: 19.57 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.28 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Homepage
  • ciresnave/cognition
    0 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • ciresnave

Cognition

Crates.io Documentation License

A cognitive computing library for Rust providing foundational structures and algorithms for intelligent systems.

Features

  • Neuron Model: Simple artificial neuron implementation with configurable activation thresholds
  • Activation Functions: Common activation functions including sigmoid and ReLU
  • Extensible Design: Clean, composable APIs for building more complex cognitive systems

Quick Start

Currently, don't. This crate is barely functional and not ready for production use. It will evolve quickly and be ready for use beyond me soon. However, if you must use this crate, here's how:

Add this to your Cargo.toml:

[dependencies]
cognition = "0.0.1"

Basic Usage

use cognition::{Neuron, utils};

// Create a neuron with a threshold of 0.5
let neuron = Neuron::new(0.5);

// Activate the neuron with inputs
let output = neuron.activate(&[0.3, 0.4]); // Returns 1.0 (activated)

// Use activation functions
let sigmoid_result = utils::sigmoid(1.0);
let relu_result = utils::relu(-0.5);

Examples

Creating a Simple Neural Network

use cognition::Neuron;

// Create multiple neurons for a simple network
let input_layer = vec![
    Neuron::new(0.3),
    Neuron::new(0.7),
];

let hidden_layer = vec![
    Neuron::new(0.5),
];

// Process inputs through the network
let inputs = vec![0.8, 0.2];
let hidden_inputs: Vec<f64> = input_layer
    .iter()
    .map(|neuron| neuron.activate(&inputs))
    .collect();

let output = hidden_layer[0].activate(&hidden_inputs);
println!("Network output: {}", output);

Development

Building

cargo build

Testing

cargo test

Documentation

cargo doc --open

Publishing

This crate is ready for publishing to crates.io. Make sure to:

  1. Update your author information in Cargo.toml
  2. Set up your repository URLs
  3. Ensure you have a crates.io account and API token
  4. Run cargo publish --dry-run to verify everything is ready
  5. Publish with cargo publish

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under either of

at your option.

Roadmap

  • Add more sophisticated neural network architectures
  • Implement backpropagation algorithms
  • Add support for different neuron types
  • Performance optimizations with SIMD
  • GPU acceleration support
  • More activation functions
  • Integration with popular ML frameworks