Code and documentation on GitHub
The research
Why I built a library
What CORread does
- It installs with pip, and a single paths.toml says where the fonts, wordlists, ImageNet and models live on each machine. Moving to another machine only means editing that file.
- Each run writes a metadata.json with its arguments, seed, the hashes of its data, the code version and the environment, along with the validation of the starting weights and of every epoch. Any number in a figure can be traced to the run and data behind it.
- A word set is drawn from one seed and saved as a recipe, from which the same images can be regenerated byte for byte. Drawing a million word images again takes about a minute on 24 cores, compared with downloading about 9 GB.
- Ctrl+C stops a run cleanly, and resume=True continues from the last checkpoint. One call trains a whole family of models (pre-literate, illiterate, and literate with and without the bias) and skips any that are already trained.
- Trained models and word set recipes can be exported to a Hugging Face organization. Each model's card links it to the model it started from and the data it was trained on, so the group can download a finished model instead of training it again.
- The library has a test suite, continuous integration and a documentation site.