BrabeNetz 1.5.2

A fast and clean supervised neural network in C++, capable of effectively using multiple cores

Install-Package BrabeNetz -Version 1.5.2
dotnet add package BrabeNetz --version 1.5.2
<PackageReference Include="BrabeNetz" Version="1.5.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BrabeNetz --version 1.5.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

BrabeNetz

🌐 A fast and clean supervised neural network in C++, capable of effectively using multiple cores 🧠

Usage

  1. Build & link library

  2. Choose your interface

    1. brabe_netz.h: [Recommended] A wrapper for the raw network.h interface, but with error handling and modern C++ interface styling such as std::vectors, std::exceptions, etc.
    2. network.h: The raw network with C-style arrays and no bound/error checking. Only use this if performance is important.
  3. Constructors

    1. (initializer_list&lt;int&gt;, properties): Construct a new neural network with the given network size (e.g. { 2, 3, 4, 1 }) and randomize all base weights and biases - ref
    2. (network_topology&amp;, properties): Construct a new neural network with the given network topology and import it's existing weights and biases - ref
    3. (string, properties): Construct a new neural network with and load the neural network state from the file specified in properties.state_file - ref
  4. Functions

    1. network_result brabe_netz::feed(std::vector&lt;double&gt;&amp; input_values): Feed the network input values and forward propagate through all neurons to estimate a possible output (Use the network_result structure (ref) to access the result of the forward propagation, such as .values to view the output) - ref
    2. double network_result::adjust(std::vector&lt;double&gt;&amp; expected_output): Backwards propagate through the whole network to adjust wrong neurons for result trimming and return the total network error - ref
    3. void save(string path): Save the network's state to disk by serializing weights
    4. void set_learnrate(double value): Set the network's learning rate. It is good practice and generally recommended to use one divided by the train count, so the learn rate decreases the more often you train - ref
    5. network_topology&amp; build_topology(): Build and set the network topology object of the current network's state (can be used for network visualization or similar) - ref

Usage examples can be found here, and here

BrabeNetz

🌐 A fast and clean supervised neural network in C++, capable of effectively using multiple cores 🧠

Usage

  1. Build & link library

  2. Choose your interface

    1. brabe_netz.h: [Recommended] A wrapper for the raw network.h interface, but with error handling and modern C++ interface styling such as std::vectors, std::exceptions, etc.
    2. network.h: The raw network with C-style arrays and no bound/error checking. Only use this if performance is important.
  3. Constructors

    1. (initializer_list&lt;int&gt;, properties): Construct a new neural network with the given network size (e.g. { 2, 3, 4, 1 }) and randomize all base weights and biases - ref
    2. (network_topology&amp;, properties): Construct a new neural network with the given network topology and import it's existing weights and biases - ref
    3. (string, properties): Construct a new neural network with and load the neural network state from the file specified in properties.state_file - ref
  4. Functions

    1. network_result brabe_netz::feed(std::vector&lt;double&gt;&amp; input_values): Feed the network input values and forward propagate through all neurons to estimate a possible output (Use the network_result structure (ref) to access the result of the forward propagation, such as .values to view the output) - ref
    2. double network_result::adjust(std::vector&lt;double&gt;&amp; expected_output): Backwards propagate through the whole network to adjust wrong neurons for result trimming and return the total network error - ref
    3. void save(string path): Save the network's state to disk by serializing weights
    4. void set_learnrate(double value): Set the network's learning rate. It is good practice and generally recommended to use one divided by the train count, so the learn rate decreases the more often you train - ref
    5. network_topology&amp; build_topology(): Build and set the network topology object of the current network's state (can be used for network visualization or similar) - ref

Usage examples can be found here, and here

Release Notes

Performance improvements, Code cleanup, Properties parameters

Dependencies

This package has no dependencies.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.5.2 359 2/1/2018
1.5.0 272 1/25/2018
1.4.5 302 1/18/2018
1.4.3 331 1/18/2018
1.4.2 281 1/18/2018
1.4.1 293 1/18/2018
1.4.0 254 1/18/2018