Badger Scribe data: publishing a release
Last updated on 2026-10-20 | Edit this page
The fine-tuning episode’s data (the German-letter part of the Badger Scribe competition data: 295 labelled train pages, 141 test pages, 436 JPEG scans plus a few CSVs) lives as a GitHub Release on the lesson repository, not in the git tree and not on Kaggle. Each data version is one release with three zip assets:
| Asset | Contents | Size |
|---|---|---|
badger-scribe-v<N>-labels.zip |
train.csv, test.csv,
metadata.csv, metric.py,
sample_submission.csv,
transcription_conventions.md
|
< 1 MB |
badger-scribe-v<N>-images-train.zip |
images/<page_id>.jpg for every page in
train.csv
|
see release (~130 MB for both image zips together in v1) |
badger-scribe-v<N>-images-test.zip |
images/<page_id>.jpg for every page in
test.csv
|
see release |
Unzipping all three into one directory recreates the original layout
(train.csv next to images/), which is what the
episode’s training channel and the shared S3 bucket expect. GitHub
allows 2 GiB per asset with free, unlimited download bandwidth; the
images are split by train/test so each zip stays well under the limit
even if the lesson later adds the other collections.
Why a release and not the alternatives: git would keep every version
of every JPEG forever and slow every clone; Git LFS has a 1 GB free
bandwidth cap that 50 clones exhaust in minutes; Google Drive throttles
large downloads and gdown breaks regularly. A release is
permanent, versioned, free, and sits next to the lesson.
Publishing a new data version
Do this whenever the competition data changes (new pages pass review,
labels are corrected). <N> is the lesson’s own
release number (1, 2, 3, …); the release notes record which Kaggle
dataset version it was taken from.
Download the current data from the competition’s data tab into a folder, e.g.
~/Downloads/badger-scribe(it should containtrain.csvandimages/).-
Build the assets:
The script checks that every page id in the CSVs has an image, writes the three zips to
release/, prints their sizes, and prints the publish command. Write
release_notes_v1.md(template below) and run the printedgh release create ...command, logged in to the GitHub CLI with write access to the repository that hosts the release (carpentries-incubator/ML_with_AWS_SageMaker; pass--repoto the build script to publish elsewhere, e.g. on a fork while developing). The three zips of the German-letter release total ~130 MB and upload in under a minute.Update the version number (
V=1) in the episode’s self-paced callout and in step 4 of the Shared data bucket page. Earlier releases stay available, so a learner mid-way through an old version is not broken.
The lesson’s URLs point at the release on
carpentries-incubator/ML_with_AWS_SageMaker. A copy of the
same release also exists on the
qualiaMachine/ML_with_Amazon_SageMaker fork, where it was
first published; the zips are byte-identical, so either URL serves the
same data.
Release notes template
MARKDOWN
Lesson data release v1: the German-letter (Kade) pages of the Badger Scribe competition data, taken from Kaggle dataset version 9 (2026-09-17). 295 train pages, 141 test pages, all human-transcribed.
Three assets; unzip all three into one directory to recreate the layout
(`train.csv`, `test.csv`, `metadata.csv`, `metric.py`, `images/<page_id>.jpg`).
Used by the "Fine-tuning a Vision-Language Model with Training Jobs" episode.
Rights, per the holding institutions (see the competition data page for detail):
| Collection | Held by | Rights statement |
|---|---|---|
| Max Kade Institute German letters | Max Kade Institute for German-American Studies, UW–Madison | Copyright Undetermined (UND) |
| Dominy Craftsmen papers | Winterthur Library, Joseph Downs Collection | No Copyright – United States (NoC-US) |
| Wisconsin Land Survey Field Notes | Wisconsin Board of Commissioners of Public Lands | In Copyright – Educational Use Permitted (InC-EDU) |
Digitized by the UW–Madison Digital Collections Center; may be used for
non-profit educational and research purposes. German transcriptions by the
Max Kade Institute Kurrent Transcription Group. Scoring code, conventions and
documentation are MIT licensed, © 2026 ML+X, University of Wisconsin–Madison.
Not for redistribution or commercial use; do not crawl the UWDC catalogs.
Staging the release in the shared bucket
Done once per term together with the WattBot data; the commands and the read-only bucket policy are on the Shared data bucket: staging before each term page.
Self-paced learners
The episode tells learners working on their own account to download
the same three assets one at a time and aws s3 sync them
into a bucket of their own with the same badger-scribe/
prefix, and to stage the CHURRO-3B weights under
badger-scribe/model/churro-3B/ the same way the instructor
does. The Kaggle page only comes up in the homework, as the optional
place to submit a predictions file.