Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Machine Learning Toolkit accompanying The Little Learner by Daniel P. Friedman and Anurag Mendhekar
| Date | Stars |
|---|---|
| 2026-08-04 | 275 |
| 2026-08-06 | 275 |
| 2026-08-13 | 275 |
| 2026-08-14 | 275 |
| 2026-08-18 | 275 |
| 2026-08-21 | 275 |
| 2026-09-10 | 276 |
| 2026-09-21 | 276 |
| 2026-09-26 | 275 |
| 2026-10-22 | 276 |
| 2026-11-04 | 276 |
Today
— stars today
This week
— stars this week
This month
+1 stars this month
Momentum
0.0
growth rate 0.00%/day
# Introduction Malt is a minimalist deep learning toolkit that is designed to support the book *The Little Learner: A Straight Line to Deep Learning*, by Daniel P. Friedman and Anurag Mendhekar. The framework provides for tensors, automatic differentiation, gradient descent, commonly used loss functions, layer functions and neural network construction tools. While it has started off as a pedagogical tool, it is designed with the future in mind and we are seeking fellow enthusiasts who would be interested in making it production worthy. # Prerequisites. Malt is built on Racket. It can be downloaded [here](https://download.racket-lang.org/). The minimum version this code requires is Racket 8.2. # Installation There are two ways to install and use `malt`. ## Install using raco Malt is distributed as a package that is available directly from [Racket Packages](https://pkgs.racket-lang.org/). It can be installed like this ``` raco pkg install malt ``` ## Install using the Git repository Another way of installing malt is to clone the git repository and install it as a local package. For MacOS and Linux: ``` git clone https://github.com/themetaschemer/malt.git cd malt make make install ``` For Windows ``` git clone https://github.com/themetaschemer/malt.git cd malt raco pkg install ``` # How the code is structured There are three main parts to the organization of the code. The first part is the representation of tensors. This code has three different representations, `learner`, `nested-tensors`, and `flat-tensors`. The code for these representations can be found in the respective directories, `malt/learner`, `malt/nested-tensors`, and `malt/flat-tensors`. A corresponding `.rkt` file with the same name as the directory makes the representations available through a single `require`, e.g. `(require malt/nested-tensors)`. The default representation is `learner`, but in some cases (particularly when you want to run the `morse` example), it helps to have other representations. The `learner` representation is the simplest and is the one described in *Appendix A*. The `nested-tensors` representation is more complex, but more efficient than `learner` and is described in the first part of *Appendix B*. The `flat-tensors` representation is the most complex and most efficient and is described briefly in the second part of *Appendix B*. Each tensor representation is accompanied by matching automatic differentiation. These can be found in the code directory of the representation under the sub-directory `autodiff`. Together, these are followed by all the extended operations which can be found in the sub-directory `ext-ops`. The file `impl.rkt` loads the appropriate representation for tensors at compile time. Using this, the directory `malt/tools` contains useful tools for building and training deep networks: Hyperparameters, Normally distributed random numbers and Logging during gradient descent. Finally, the directory `malt/malted` contains all the machine learning specific code developed in *The Little Learner*. # Interlude V Interlude V provides the semantics of function extension. The actual implementations of the extension primitives are implementation dependent and provided separatesly by each of the tensor representations. To allow for exploration and experimentation of the code in Interlude V, please use the following: ```racket #lang racket (require malt/interlude-V) ``` This will switch the representation of tensors for the remainder of the file, but tensors exported out from this file may not work well if the rest of the code is built with a different representation of tensors (see below to switch the default representation of tensors). # Using Rackunit If you're going to be writing unit tests, `check-=` and `check-equal?` will not work as expected with numbers and tensors. Instead of these, use `check-dual-equal?` which will check scalars and tensors for equality within a tolerance (currently fixed at 0.0001). # Running
Excerpt of 10,171 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:7ef1975317d36195, llm:Repository description: 'Machine Learning Toolkit accompanying The Little Learner by Daniel P. Friedman and Anurag Mendhekar'
matched fp:7ef1975317d36195, llm:Repository description: 'Machine Learning Toolkit accompanying The Little Learner by Daniel P. Friedman and Anurag Mendhekar'