SkillAgentSearch skills...

Neuro

A deep learning library written in Rust

Install / Use

/learn @srenevey/Neuro
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

neuro

Crates.io Crates.io

HomepageAPI DocumentationExamples

Neuro is a deep learning library that runs on the GPU. The library is designed to be very modular and allow users to easily add custom activation functions, loss functions, layers, and optimizers. The library presently supports:

  • Layers: BatchNorm, Conv2D, Dense, Dropout, Flatten, MaxPool2D.
  • Optimizers: Adadelta, Adam, RMSprop, SGD.
  • Activations: LeakyReLU, Linear, ReLU, Sigmoid, Softmax, Tanh.
  • Loss functions: BinaryCrossEntropy, CrossEntropy, MeanAbsoluteError, MeanSquaredError, SoftmaxCrossEntropy.

Additionaly, many initialization schemes are available. The current implementation allows the creation of feedforward and convolutional neural networks. It is planned to add recurrent neural networks in the future.

Installation

The crate is powered by ArrayFire to perform all operations on the GPU. The first step is therefore to install this library. When building a project, the path to the ArrayFire library must be in the path environment variables. For instance for a typical install (on Unix):

export DYLD_LIBRARY_PATH=/opt/arrayfire/lib

The models trained with neuro can be saved in the Hierarchical Data Format (HDF5). In order to do so, HDF5 1.8.4 or newer must be installed. Installation files can be found on the HDF Group website. macOS users can install it with homebrew:

brew install hdf5

To start using the library, add the following line to the project's Cargo.toml file:

[dependencies]
neuro = "0.1.0"

It is highly recommended to build the project in release mode for considerable speedup (e.g. cargo run my_project --release). In order to quickly get started, check out the examples.

View on GitHub
GitHub Stars16
CategoryEducation
Updated3y ago
Forks1

Languages

Rust

Security Score

80/100

Audited on Feb 21, 2023

No findings