Back to Programs

Science and medicine

mlpack

a fast, flexible machine learning library

c++

Participation history

9 GSoC years

2024

6 projects

Official year page

Integrating Advanced CMA-ES Strategies into mlpack

This proposal seeks to enrich the mlpack library by incorporating advanced evolutionary strategies, specifically focusing on enhancing the Covariance...

Implementing XGBoost

The goal of this project is to finish the XGBoost implementation inside of mlpack, followed by intense tuning, profiling, and improving such that it...

Adding NSGA-3 and AGE-MOEA Multi Objective Optimizers

Multi-objective optimization (MOO) plays a crucial role in decision-making across diverse fields, where conflicting objectives need to be balanced....

Performance and Memory Optimization for Machine Learning Algorithms in mlpack

In Google Summer of Code 2024, I focused on optimizing key algorithms in the mlpack library, targeting both performance and memory usage across...

ONNX-mlpack converter

Training intricate machine learning models to achieve the desired level of proficiency can be time-consuming and require high computational...

Implementing yolov3-tiny in mlpack

I will implement the yolov3-tiny model using mlpack. I will get Darknet-19 working, flesh out the API, build and train yolov3-tiny, publish the...

2023

3 projects

Official year page

Activation functions and Pooling methods

Two new activation functions have been recently proposed FTSwish, and LiSHT and I am proposing to add them to mlpack along with two Pooling methods....

Enhance CMA-ES

Covariance Matrix Adaptation Evolution Strategy (CMA-ES) is an evolutionary strategy which updates the covariance matrix of a normal search...

Expanding Reinforcement Learning in mlpack: DDPG and TD3 Agents Integration

This project's primary objective was to enrich the mlpack reinforcement learning framework by incorporating new agents, specifically DDPG and TD3,...

2022

4 projects

Official year page

Enhance CMA-ES from existing implementation in ensmallen - a optimization header library

The project proposes to enhance the existing mlpack CMA-ES (Covariance matrix adaption-evolutionary strategy) implementation. From the outdated...

Ready to use Models

The aim is to implement various pre-trained models ranging from very basic AlexNet to super complex networks, including implementing different layers...

Example Zoo

Example Zoo is an implementation of mlpack showcasing its potential usage in the real-world domain. It will provide a better starting point for new...

Addition of PPO, Twin Delayed DDPG, Hindsight Experience Replay to RL Codebase

After comparing various algorithms and brainstorming about their methods of implementation, I came up with the Twin Delayed DDPG (TD3) Fujimoto et....

2021

8 projects

Official year page

Replacing boost spirits

The project revolves around reducing the binary footprint of mlpack by replacing the functionality of boost::spirits to handle a more diverse range...

A Framework for Multiobjective Optimizers

The mlpack library boasts an extensive set of objective optimizers, almost all of which focus on single-objective problems. Previous works by Sayan...

Example Zoo

Example Zoo is an implementation of mlpack showcasing its potential usage in the real-world domain. It will provide a better starting point for new...

Revamp mlpack bindings

The project proposes to revamp the existing mlpack bindings. Mlpack is one of the most flexible machine learning libraries when accessed through C++...

Improvisation and Implementation of ANN Modules

Adding new layers (Upsample, Group Normalization and ChannelShuffle) to the ANN module of mlpack. Improve the speed of pooling operations of max,...

Improve Tree Ensemble Support

Tree ensembles are arguably the best class of machine learning algorithms out there. They regularly win competitive data science competitions. This...

Ready to use Models in mlpack

Is to implement MobileNetV1 which will also include implementing depthwise separable convolutions and a resnet model builder that can be used to...

Example Zoo

Example Zoo provides starters a glimpse of most if not all features provided by mlpack, such that users can run the code for themselves to see it in...

2020

8 projects

Official year page

mlpack on RPi and other resource-constrained devices

The objective of this project is to minimize mlpack library algorithms to fit into resource constrained devices such as Raspberry PI, Arduino, or...

Improvisation and Implementation of ANN Modules

In this project, my goal is to update the existing ANN facilities within mlpack and the deliverable is an improved ANN module. This includes adding...

Visualization Tool

Working with mlpack for almost a year was great. I have always been a fan of the concept see and do. If we can see a graph plotting the accuracy...

Application of ANN Algorithms Implemented in mlpack.

Over the course of the last couple of years, Computer Vision has played a crucial role in the field of Deep Learning. Object detection is one of the...

Implementing Essential Deep Learning Module

In this project, I am trying to implement some deep learning modules which are used for classification. I am trying to implement some important...

Addition of Rainbow and Soft Actor-Critic to RL codebase

After comparing various algorithms and brainstorming about their methods of implementation, I came up with the Rainbow Hessel et al., 2017 and Soft...

Transformer and BERT in mlpack

Connecting the encoder and decoder through an attention mechanism has made some of the best translation models. The encoder encodes input sentences...

Automatically-Generated R Bindings

R is a programming language with a design focused on simplicity, effectiveness and performance, that is widely used in all kind of projects. With...

2019

9 projects

Official year page

Application of ANN Algorithms Implemented in mlpack

Application of ANN algorithms implemented in mlpack. Implementation of VGG 19 for Image Classification. LSTM Networks for Sentiment Analysis. LSTM...

String Processing Utilities

To develop String Processing Utilities for boosting mlpack library to manipulate string data types and to convert it into numeric datatype to apply...

mlpack-Tensorflow Translator

The purpose of this project is to build a converter that can translate models built in Tensorflow, Keras, Pytorch, Mxnet, ONNX to mlpack's model...

Implementing Essential Deep Learning Modules

In recent years, generative adversarial networks have proven to be very effective for training generative models and hundreds of different variants...

Quantum Gaussian Mixture Models

Gaussian Mixture Model (GMM) is widely used in computer vision as a state-of-the-art clustering algorithm. This project proposes Quantum Gaussian...

PPO(Proximal Policy Optimization)

A new family of policy gradient methods for reinforcement learning, which alternate between sampling data through interaction with the environment,...

Implementing Essential Deep Learning Modules

Various Deep learning architectures such as deep neural networks and recurrent neural networks are applied to fields including computer vision,...

NeuroEvolution of Augmenting Topologies & Multi-Objective Optimization

NeuroEvolution of Augmenting Toplogies (NEAT) is a genetic algorithm that can evolve networks of unbound complexity by starting from simple networks...

Advanced Kernel Density Estimation Improvements

Kernel Density Estimation (KDE) is a widely used non-parametric technique to estimate a probability density function. mlpack already had an...

2018

6 projects

Official year page

LMNN (via Low-Rank optimization) & BoostMetric Implementation

Many cognitive techniques, such as recognition and categorization are assumed to have need of establishing similarities between perceptual or...

Neural Collaborative Filtering

Recommendation systems are widely used in various online and offline platforms, collaborative filtering being the most commonly used method for...

Alternatives to Neighborhood-Based Collaborative Filtering

The overall objective of this project is to improve the current CF module in mlpack to provide better rating prediciton, fast execution, and flexible...

Automated Binding Generator

This automatically-generated Go binding proposal aims to allow Go users to have access to the fast and scalable machine learning library that is...

Variational Autoencoders

Variational Autoencoders(VAEs) are widely used in unsupervised learning of complicated distributions. The more classical generative models depend...

Implementing Essential Deep Learning Modules

Over the years, Deep Learning has become a promising field of work, attracting attention from the most prominent Machine Learning researchers of the...

2017

10 projects

Official year page

Neural Turing Machines

One of the gems dug up by Deep Mind in the field of neural learning is Neural Turing Machines. By extending the capabilities of a simple neural...

Neural Evolution Algorithms on NES games

The goal of my project is to implement multiple neural evolution algorithms ie. ā— NEAT - Neural Evolution through Augmented Topologies ā— Hyper-NEAT -...

Deep Learning Modules

Implementation of RBM, ssRBM, GAN and stacked GAN

GSoC '17 "Augmented RNNs" project proposal

I am applying to work on the GSoC 2017 Augmented RNNs project. I am currently a first-year Software Engineering student from Astrakhan State...

Reinforcement Learning Framework

This projects will implement a framework for double deep Q-Learning and some asynchronous methods for DeepRL including asynchronous one-step...

Cross-Validation and Hyper-Parameter Tuning

Solving a problem with machine learning algorithms is often a tedious process that requires many experiments before things start to work. The project...

GSoC-2017: Build testing with Docker and VMs

The objectives of the project are as: Completing the build matrix - testing on different compilers, different architectures, different Boost...

Frank-Wolfe Algorithm for Sparse Optimization and Regularization of Atom Norms

It is known in Jaggi's paper that the traditional OMP algorithm for sparse optimization problems could fit into FW type algorithm. This generalized...

Parallel stochastic optimization methods

The free lunch is over and with the ever increasing amounts of data to be analyzed and processed by learning algorithms, we need to find methods for...

Better Benchmarking for mlpack Libraries

There are many mlpack methods that have been added since the previous benchmarking system was build and they need to be benchmarked. These include...

2016

6 projects

Official year page

We need to go deeper - GoogLeNet

To implement the components of the GoogLeNet architecture (the inception layer, global average pooling, and other pieces), and then build GoogLeNet...

Approximate Nearest Neighbor Search: Implementation of Multiprobe LSH and LSH Tuning

Approximate Nearest Neighbor Search solutions become appealing in problems where dimensionality increases. Locality Sensitive Hashing is a popular...

Neuroevolution Algorithms Implementation

Neuroevolution algorithms search optimal solutions by evolution rather than learning, which enables them to deal with large complex problems. In this...

Approximate Nearest Neighbor Search

Mlpack provides an extensible, flexible exact nearest neighbor search implementation, with the ability to do dual-tree k-NN search. However, there is...

Dataset and Experimentation Tools

This GSoC project aims to develop a tool for managing dataset and experimenting the data. This project is important because most of the time used...

R+ trees, Hilbert R trees, vantage point trees, random projection trees, UB trees implementation

Many methods of the mlpack machine learning library (such as nearest neighbor search, range search and others) are based on dual-tree algorithms...