Glades-ML

Glades-ML is a Feed Forward Neural Network Machine Learning library. glades-ml comes with the NNCreator GUI interface for testing and editing neural networks. We support a variety of optimizations and generalization techniques that you can tune either in our interface or programmatically.

Powerful and easy to use tools make GladesML a strong foundation for neural networks, optimized for the most CPU-intensive operations.

Note: Compatible with Linux. Untested on Windows and macOS.

Features

Feed Forward Neural Net GUI

Open Source Feed Forward Neural Net GUI or C++ API.

Many Options for Tweaking NNs

We have a variety of optimizations and options for customization of your NNs.

Import Datasets Easily

Easily import datasets and save NNs for later.

Save/Load NNs for Later

Uses CSV format (CSVs must have headers for formatting purposes).



Code Sample


                    /* ========= Create and Save a NN ========= */
                    // Create the layers
                    InputLayerInfo* newInputLayer = new InputLayerInfo(0.0f, 1);
                    std::vector newHiddenLayers;
                    newHiddenLayers.push_back(new HiddenLayerInfo(2, 0.01f, 0.0f, 0.0f, 0.0f, 0, 0.0f));
                    OutputLayerInfo* newOutputLayer = new OutputLayerInfo(1, OutputLayerInfo::REGRESSION);
                    NNInfo* formInfo = new glades::NNInfo("NeuralNet1", newInputLayer, newHiddenLayers, newOutputLayer);

                    // Save the NN here to use or later, we can also run it now
                    NNetwork cNetwork = NNetwork(formInfo);
                    glades::saveNeuralNetwork(cNetwork);


                    /* ========= Load and Run a NN ========= */
                    // Load the neural network
                    std::string netName = "NeuralNet1";
                    glades::NNetwork cNetwork;
                    if (!cNetwork.load(netName))
                    {
                        printf("[NN] Unable to load \"%s\"", netName.c_str());
                        return retList;
                    }

                    // Termination Conditions
                    // Leave as blank (will run forever)
                    glades::Terminator* Arnold = new glades::Terminator();

                    // Run the training and retrieve a metanetwork
                    shmea::GTable inputTable(testFName, ',', importType);
                    glades::MetaNetwork* newTrainNet = glades::train(&cNetwork, inputTable, Arnold);
                

Build Example




Performance

Minimal Footprint. Boilerplate machine learning solution for any application.



Join the Community

Real-time help? Find us on Discord.

Contribute

Contribute code or report issues on GitHub.