• Stars
    star
    521
  • Rank 84,952 (Top 2 %)
  • Language
    Python
  • Created about 4 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Template Makefile for ML projects in Python.

create-ml-app

create-ml-app makes it easier to spin up a machine learning project locally in Python and handle various package dependencies. The name is inspired by create-react-app.

This project abstracts away pip installs and virtual environment commands from the user. To use, simply fork this repository and execute make run from your shell. The main.py file in this repo has an example ML script (training a neural network on MNIST in PyTorch).

Motivation

When starting a new ML project or prototyping a model locally, it can be tedious to:

  • handle all the Python package dependencies
  • create/activate/deactivate your virtual environment
  • parameterize arguments
  • remember to define a random seed

Having a Makefile can simplify the virtual environment overhead and centralize parameters in one place. This repository is an example of how to use a Makefile in a simple ML project (training a neural network on MNIST in PyTorch).

Background

Under the hood, this project uses venv to create a virtual environment and install Python packages. The primary commands supported by this Makefile are:

  • make lint: This will show errors as flagged by pylint.
  • make run: This will download any new packages found in setup.py and run main.py with user-specified variables. You may need to modify the Makefile to include variables of your choice and change the run definition to run your Python file with your specified variables.

If you want to use any Python package in your project, simply add the package name to setup.py and it will get installed the next time you execute make run from your shell.

Usage

git clone https://github.com/shreyashankar/create-ml-app.git my-ml-app
cd my-ml-app
make run

More Repositories

1

gpt3-sandbox

The goal of this project is to enable users to create cool web demos using the newly released OpenAI GPT-3 API with just a few lines of Python.
JavaScript
2,900
star
2

datasets-for-good

List of datasets to apply stats/machine learning/technology to the world of social good.
236
star
3

toy-ml-pipeline

Toy example of an applied ML pipeline for me to experiment with MLOps tools.
Jupyter Notebook
206
star
4

overleave

Chrome extension that opens and syncs Overleaf compiled pdfs in a new window.
JavaScript
123
star
5

m1-setup

Notes on how I set up my new M1 MacBook Pro
89
star
6

debugging-ml-talk

Code accompanying the "Debugging machine learning in production" talk
Jupyter Notebook
29
star
7

web3-reading-list

List of good readings on web3.
17
star
8

spade-experiments

Experiments to assess SPADE on different LLM pipelines.
Python
16
star
9

ml-dataval-tutorial

Tutorial: Data Validation for Machine Learning Techniques
Jupyter Notebook
9
star
10

planner

A "smart" planner that determines when to study, work on assignments, etc.
Python
8
star
11

oreilly-monitoring

Jupyter Notebook
7
star
12

research-ideas

List of proposed abstracts I'd love to work on, if I had the time.
7
star
13

vython

Versioning Python scripts.
Python
5
star
14

questions

Questions I have that I would love to explore if I have time.
5
star
15

datatracker

WIP experimental project to make for a better ML development UX.
Python
5
star
16

shreyashankar

4
star
17

anxiety-extension

Chrome extension for logging moods.
JavaScript
3
star
18

mltrace-ifc-demo

Project demo for CS294 Privacy-Preserving Systems.
Jupyter Notebook
3
star
19

shreyashankar.github.io

Astro
3
star
20

streams

STREAMS: A Benchmark of Naturalistic Streaming Data for Online Continual Learning
Jupyter Notebook
2
star
21

prompteng

Experiment scaffold for trying out different prompts.
Python
2
star
22

wakeupnow

Detect when people fall asleep at the wheel and wake them up
Java
2
star
23

motion-sigmod-demo

SIGMOD Demo 2024 Submission for Motion
Python
2
star
24

commitwriter

Using gpt-4 to write docstrings and commit messages.
Python
1
star
25

news-classifier-ui

UI for News Classifier
HTML
1
star
26

bazarre

Java
1
star
27

sentiment

Python
1
star
28

Pi-ke

CS107E Final Project
C
1
star
29

healthy-eating

Python
1
star
30

needle-in-the-real-world

Jupyter Notebook
1
star