liveBook · Manning

Strongly typed dataset

As explained in Designing Deep Learning Systems: A guide for software engineers

A dataset whose records conform to an explicitly defined schema and data types.

A strongly typed dataset defines an explicit schema and data types for records, stabilizing raw-data collection and training-data consumption. It protects training code when dataset formats evolve, while retaining a versioned representation for reproducible fetching. section 2.2.2 section 2.2.7

A production dataset management service organizes the type around distinct responsibilities:

  • Accept typed ingestion payloads through a data ingestion API and store each update as a commit. section 2.2.2 section 2.4
  • Expose a defined training-data format through a dataset fetching API and store generated training data as a versioned snapshot. section 2.2.2 section 2.4
  • Translate between ingestion and fetching schemas with a dataset transformer, rather than coupling collection data directly to training consumption. section 2.2.7

IMAGE_CLASS dataset

An IMAGE_CLASS ingestion archive uses one directory per label, such as cat and dog, with images directly inside each directory. The fetching API emits a zip containing examples.csv, labels.csv, and an examples folder. ImageClassTransformer.ingest() converts incoming archives into commits; compress() filters and merges commits into one training snapshot. section 2.2.7

Figure 2.6 System overview of the sample dataset management service. The sample service contains three main components, a data ingestion API, internal storage, and a dataset fetching API.

Use the system overview to trace how typed data moves between the ingestion API, internal storage, and dataset fetching API. section 2.2.2

How Designing Deep Learning Systems: A guide for software engineers covers it

How deep it goes
Explains schemas, commits, snapshots, and transformer steps through an IMAGE_CLASS implementation, without detailing storage internals.
Examples
Uses IMAGE_CLASS archives, label directories, CSV manifests, image files, commits, and versioned training snapshots.
What it assumes
Assumes dataset ingestion and training consumption needs, while contrasting typed formats with schema-free GENERIC datasets.
What you can do after
Build typed dataset support by defining schemas, implementing a transformer, converting commits, and producing reproducible training snapshots.
How it connects
Connects schema design with data ingestion APIs, dataset fetching APIs, dataset versioning, generic datasets, and data transformers.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Designing Deep Learning Systems: A guide for software engineers. The section links point to the parts of the book it draws on.