A Machine Learning framework from scratch in Mojo π₯
Task | Dataset | Forward | Backward | Training |
---|---|---|---|---|
REGRESSION | β | β | β | β |
MNIST | β | β | β | β |
Regression example:
Running a regression example
mojo run -I . examples/housing.mojo
Compare to a alternative PyTorch implementation:
Install the requirements in python-requirements.txt
python examples/housing.py
β: Not implemented
β
: Working (but might require changes because of not implemented dependencies)
WIP: Work in progress
Task | Status |
---|---|
NODE | β |
GRAPH | β |
Task | Status |
---|---|
ADD | β |
SUB | β |
MUL | β |
DIV | β |
DOT | β |
EXP | β |
LOG | β |
POW | β |
SUM | β * |
TRANSPOSE | β |
FLATTEN | β |
RESHAPE | β |
CONV2D | β |
CONV3D | β |
MAXPOOL2D | β |
MAXPOOL3D | β |
Task | Status |
---|---|
MSE | β |
CE | β |
BCE | β |
SoftmaxCE | β |
Task | Status |
---|---|
RELU | β |
SIGMOID | β |
TANH | β |
SOFTMAX | β |
LEAKYRELU | β |
Task | Status |
---|---|
ADAM | β |
Task | Status |
---|---|
SEQUENTIAL | β |
LINEAR | β |
DROPOUT | β |
CONV2D | β |
CONV3D | β |
MAXPOOL2D | β |
MAXPOOL3D | β |
Task | Status |
---|---|
Model abstractions (eval/save/load/...) | β |
Datasets (MNIST/Boston Housing) | β |
Dataloader | β |
Tensorutils | β |
Checkpoints | β |
Task | Original | Included Kaggle CSV |
---|---|---|
Bosten Housing Dataset | names, data | kaggle |
MNIST DataSet | training images, training labels, test images, test labels |
(subset of) kaggle |
Policy WIP.
This project is in active development, and we welcome contributions:
- Fork the repository on GitHub.
- Create a new branch for your feature or bug fix.
- Commit your changes with clear, descriptive commit messages.
- Push your branch to GitHub and submit a pull request.
We appreciate any and all contributions, whether they're for bug fixes, new features, or documentation improvements.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
A huge thanks to pranftw for the inspiration and support! This project is inspired by neograd.