liveBook · Manning

Prototyping

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

Prototyping is an experimental phase for evaluating candidate algorithms and building proof-of-concept models against a business requirement.

Prototyping is the rapid, experimental bridge between a candidate deep learning approach and a product requirement. Its purpose is to find a feasible combination of training data, algorithm, hyperparameters, and inference support that produces the required feature. It follows data exploration and precedes productionization, turning a promising idea into stable training and inference code that can be packaged for deployment. section 1.1.1 section 10.1.2 section 10.4

A practical prototyping loop typically does the following:

  • Start from product requirements and select candidate algorithms, including existing models suitable for transfer learning. section 10.1.2
  • Explore available training data; reuse relevant collected data when possible or collect new data when needed. section 10.1.2
  • Develop model code in an interactive notebook, train experimental models, and evaluate their results. section 10.1.1 section 10.1.2
  • Change hyperparameters, compare generated metrics, and repeat until the training-data shape and code stabilize. section 10.1.1 section 10.1.2
  • Track datasets, code versions, and metrics so each experimental model can be traced to its inputs and implementation. section 10.1.1 section 10.1.3

Improving security-camera motion detection

A model team receives a requirement to improve motion detection. It chooses a vision-recognition algorithm, explores relevant camera data, selects source models for transfer learning, and trains experimental models in a notebook. The team repeatedly adjusts data, code, and parameters until results are satisfactory and the training and inference code are stable enough for packaging and production deployment. section 10.1.2 section 10.4

Interactivity and short turnaround matter more than formal production structure during this phase. Notebook environments support rapid code changes, data exploration, and visualization, while adequate local compute reduces training delays. Production workflows are usually deferred until the prototype is promising, because converting local code into a scheduled workflow DAG adds authoring and debugging work. section 10.0 section 10.1.3 section 9.1.3

Figure 10.3 Excerpt of the path to production in the research and prototyping phases

This path-to-production view places prototyping after research and before productionization, emphasizing its iterative connection between algorithm work and deployable systems. section 10.1

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

How deep it goes
Details an exploratory loop of data selection, experimental training, evaluation, stabilization, and handoff; defers production workflow construction.
Examples
Uses a security-camera motion-detection improvement scenario and visual-recognition experiments with ImageNet in JupyterLab.
What it assumes
Assumes product requirements and candidate algorithms, then develops data exploration and experimental model-training practice from that starting point.
What you can do after
Apply it via notebook-based experimentation to stabilize training and inference code for packaging and productionization.
How it connects
Connects data exploration, transfer learning, hyperparameter optimization, dataset management, source control, metadata stores, and workflow orchestration.

Also explained in

Compare how 8 books explain prototyping →

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.