Skip to main content

Visual Drag-and-drop Machine Learning Trainer

Project description

ML Forge

A visual PyTorch pipeline editor. Build, train and run image classification models without writing code. ML Forge screenshot

What it does

  • Visual pipeline - drag nodes onto a canvas, connect them with wires, and ML Forge generates and runs the training code for you
  • Three-tab workflow - Data Prep -> Model -> Training
  • Live training - watch loss curves update in real time, save checkpoints, run inference on your trained model
  • Export - export projects into clean PyTorch

Requirements

IMPORTANT: PyTorch must be preinstalled for training, it is not installed as a dependency.

  • Python 3.10 or newer
  • PyTorch 2.0 or newer
  • torchvision
pip install torch torchvision

GPU training is automatic if CUDA is available. CPU and Apple MPS are also supported.


Quick Start

To install MLForge, enter the following in your command prompt

pip install zaina-ml-forge

Then

ml-forge

Cloning

git clone https://github.com/zaina-ml/ml-forge
python main.py

Building your first model

1. Data Prep tab

  • Add a Dataset node (MNIST, CIFAR10, CIFAR100, FashionMNIST, or ImageFolder)
  • Chain transforms: ToTensor is required, add Normalize for best results
  • End with a DataLoader (train) node
  • For proper validation, add a second chain (same dataset with train=False) ending with DataLoader (val)

2. Model tab

  • Start with an Input node - shape is auto-filled from your dataset
  • Add layers: Linear, Conv2D, ReLU, BatchNorm2D, Flatten, Dropout, etc.
  • End with an Output node - num classes is auto-filled from your dataset
  • Connect nodes by dragging from an output pin to an input pin
  • in_features and in_channels auto-fill when you connect layers
  • After a Flatten node, the next Linear's in_features is calculated automatically

3. Training tab

Add these four nodes from the palette and wire them up:

DataLoaderBlock.images  ->  ModelBlock.images
ModelBlock.predictions  ->  Loss.pred
DataLoaderBlock.labels  ->  Loss.target
Loss.loss               ->  Optimizer.params

Configure epochs, device, checkpointing and early stopping in the right panel, then press RUN.


Keyboard shortcuts

Key Action
Del Delete selected nodes
Ctrl+S Save project
Ctrl+Z Undo
Ctrl+Y Redo
Middle-drag Pan the canvas

Supported datasets

Dataset Classes Input shape
MNIST 10 1 × 28 × 28
FashionMNIST 10 1 × 28 × 28
CIFAR-10 10 3 × 32 × 32
CIFAR-100 100 3 × 32 × 32
ImageFolder custom 3 × 224 × 224

Inference

After training, open Run -> Inference, browse to your checkpoint (.pth), and click Run Inference to sample from the test set and see top-k predictions.


Metrics

Click the METRICS button to see a summary of your training run: final loss, best validation accuracy, fit diagnosis, and loss/accuracy curves, you may also see the curves on the right training panel.


Saving and loading

Projects are saved as .mlf files (JSON). Use File -> Save / Save As or Ctrl+S.


Exporting code

File -> Export -> Python -> PyTorch generates a standalone train.py that reproduces your pipeline. No ML Forge required to run it.


Future Plans

  • Orient to a more beginner-friendly approach
  • Add custom block functionality

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zaina_ml_forge-1.0.1.tar.gz (56.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

zaina_ml_forge-1.0.1-py3-none-any.whl (68.3 kB view details)

Uploaded Python 3

File details

Details for the file zaina_ml_forge-1.0.1.tar.gz.

File metadata

  • Download URL: zaina_ml_forge-1.0.1.tar.gz
  • Upload date:
  • Size: 56.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for zaina_ml_forge-1.0.1.tar.gz
Algorithm Hash digest
SHA256 8959a65aeab9e296121175646958cf566cd7d1b1bff29c3edcdcbc099ac21633
MD5 e2aed6b20a68d175024652a94da0cb0a
BLAKE2b-256 4afea717e26f8b42d8374216115ad075fa26aa3e9f383cc86b1b71a222359c66

See more details on using hashes here.

File details

Details for the file zaina_ml_forge-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: zaina_ml_forge-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 68.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for zaina_ml_forge-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 16b3e9c635d9280991a94ed07d2e1f661cb375290471f0077508b6fb47fc1b2c
MD5 e639a88d792575ea3c1f7e4d8fed0d66
BLAKE2b-256 cf093b7b476836d76df756f197f685211f58611e8d82f3fed40d7b8ef35bb77d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page