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.
Version control for machine learning
| Date | Stars |
|---|---|
| 2026-07-31 | 1681 |
| 2026-08-02 | 1681 |
| 2026-08-06 | 1682 |
| 2026-08-12 | 1682 |
| 2026-08-13 | 1682 |
| 2026-08-18 | 1682 |
| 2026-08-23 | 1681 |
| 2026-09-01 | 1681 |
| 2026-09-09 | 1680 |
| 2026-09-14 | 1679 |
| 2026-09-20 | 1679 |
Today
— stars today
This week
-1 stars this week
This month
-3 stars this month
Momentum
0.0
growth rate 0.00%/day
# 📣 This project is not actively maintained. If you'd like to help maintain it, please [let us know](https://github.com/replicate/keepsake/issues/873).
---
# Keepsake
Version control for machine learning.
Keepsake is a Python library that uploads files and metadata (like hyperparameters) to Amazon S3 or Google Cloud Storage. You can get the data back out using the command-line interface or a notebook.
- **Track experiments:** Automatically track code, hyperparameters, training data, weights, metrics, Python dependencies — _everything_.
- **Go back in time:** Get back the code and weights from any checkpoint if you need to replicate your results or commit to Git after the fact.
- **Version your models:** Model weights are stored on your own Amazon S3 or Google Cloud bucket, so it's really easy to feed them into production systems.
## How it works
Just add two lines to your training code:
```python
import torch
import keepsake
def train():
# Save training code and hyperparameters
experiment = keepsake.init(path=".", params={...})
model = Model()
for epoch in range(num_epochs):
# ...
torch.save(model, "model.pth")
# Save model weights and metrics
experiment.checkpoint(path="model.pth", metrics={...})
```
Then Keepsake will start tracking everything: code, hyperparameters, training data, weights, metrics, Python dependencies, and so on.
- **Open source & community-built:** We’re trying to pull together the ML community so we can build this foundational piece of technology together.
- **You're in control of your data:** All the data is stored on your own Amazon S3 or Google Cloud Storage as plain old files. There's no server to run.
- **It works with everything:** Tensorflow, PyTorch, scikit-learn, XGBoost, you name it. It's just saving files and dictionaries – export however you want.
## Features
### Throw away your spreadsheet
Your experiments are all in one place, with filter and sort. Because the data's stored on S3, you can even see experiments that were run on other machines.
```shell-session
$ keepsake ls --filter "val_loss<0.2"
EXPERIMENT HOST STATUS BEST CHECKPOINT
e510303 10.52.2.23 stopped 49668cb (val_loss=0.1484)
9e97e07 10.52.7.11 running 41f0c60 (val_loss=0.1989)
```
### Analyze in a notebook
Don't like the CLI? No problem. You can retrieve, analyze, and plot your results from within a notebook. Think of it like a programmable Tensorboard.
<img src="web/public/images/notebook.png" width="700" />
### Compare experiments
It diffs everything, all the way down to versions of dependencies, just in case that latest Tensorflow version did something weird.
```shell-session
$ keepsake diff 49668cb 41f0c60
Checkpoint: 49668cb 41f0c60
Experiment: e510303 9e97e07
Params
learning_rate: 0.001 0.002
Python Packages
tensorflow: 2.3.0 2.3.1
Metrics
train_loss: 0.4626 0.8155
train_accuracy: 0.7909 0.7254
val_loss: 0.1484 0.1989
val_accuracy: 0.9607 0.9411
```
### Commit to Git, after the fact
If you eventually want to store your code on Git, there's no need to
commit everything as you go. Keepsake lets you get back to any
point you called `experiment.checkpoint()` so, you can
commit to Git once you've found something that works.
```shell-session
$ keepsake checkout f81069d
Copying code and weights to working directory...
# save the code to git
$ git commit -am "Use hinge loss"
```
### Load models in production
You can use Keepsake to feed your models into production systems. Connect them back to how they were trained, who trained them, and what their metrics were.
```python
import keepsake
model = torch.load(keepsake.experiments.get("e45a203").best().open("model.pth"))
```
## Install
```
pip install -U keepsake
```
## Get started
If you prefer **training scripts and the CLI**, [follow the our tutorial to learn how Keepsake works](https://keExcerpt of 5,963 characters
Read on GitHubBen Firshman · @replicate · United States
482
Andreas Jansson · @cloudflare · Sweden
210
36
20
16
5
4
4
3
2
Zeke Sikelianos · @replicate · United States
2
2
Gabriel Martín Blázquez · @supersonik-ai · Spain
1
1
1
Justin Chu · @microsoft
1
Philip Potter · Government Digital Service · United Kingdom
1
3n0chK4n · United Kingdom
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:5b1415953d69c873, llm:description and README: 'Version control for machine learning', 'track experiments', 'upload files and metadata ... to S3/GCS', 'track code, hyperparameters, training data, weights, metrics', topics: machine-learning, version-control
matched fp:5b1415953d69c873, llm:description and README: 'Version control for machine learning', 'track experiments', 'upload files and metadata ... to S3/GCS', 'track code, hyperparameters, training data, weights, metrics', topics: machine-learning, version-control