Skip to content

Here we will try writing our own C++ library for for our ML research. Following PyTorch example, we will introduce our own Tensor class, and implement the basic methods for it, such as forwardprop, backprop, and loss computation. Then we will test our class for typical tasks, such as regularization and classification

Notifications You must be signed in to change notification settings

RusFortunat/alternative-ML-lib-C2plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

alternative-ML-lib-C2plus

Here we will try creating our own C++ library for our Machine Learning research. Specifically, we will introduce a new type of data structure that we will be calling Tensors as in PyTorch, and write a few methods for it.

The skeleton of the library is in "Tensor.h" and "Tensor.cpp" files.

Open problems:

  1. Rigid, case-specific network structure and methods. The Stochastic Gradient Descent (SGD) method is implemented, but I have realized that generalizing the Tensor class so it can do both classification tasks and regression analysis is hard... To proceed right now, I have separate folders and put different implementations of the network class in each of them. Perhaps, some day I will find time to generalize the method for it to be able to deal with any of these tasks.

  2. Currently, only Stochastic Gradient Descent (SGD) and Softmax are implemented. Perhaps more advanced methods in optimizing the network parameters are needed to improve the performance.

Once the class and its methods are written:

  1. Test the data structure and its methods for regression tasks -- done!
  2. Test the data structure and its methods for classification tasks -- done!
  3. Test the data structure and its methods for "gymnasium" Reinforcement Learning tasks

About

Here we will try writing our own C++ library for for our ML research. Following PyTorch example, we will introduce our own Tensor class, and implement the basic methods for it, such as forwardprop, backprop, and loss computation. Then we will test our class for typical tasks, such as regularization and classification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published