Turns a training set into a model that beats the baseline, and ships it as a service other engineers call.
Build your own roadmap from your CVTraining code, serving code and the evaluation harness are all Python; you write all three.
Choosing the model and reading its errors is the job, not a preliminary to it.
Training data arrives as tables; you shape, split and sanity-check it in pandas before anything trains.
The baseline you must beat is a scikit-learn pipeline; you build it first and keep it honest.
Model code goes through pull requests like any other code; a model nobody can rebuild from a commit did not ship.
You choose the metric, hold out the right data and say plainly when the model is not good enough to ship.
Features come out of the warehouse; you write the query that builds the training set and can defend it.
The model ships as a container; you build it, run it locally and make it start the same way in staging.
When a tabular baseline is not enough, the next model is written in PyTorch; you must read one and train one.
Every model here is called over HTTP; you wrap it in a FastAPI service with a typed request and response.
A model in a notebook earns nothing; you take it from a training run to a served endpoint.
Every training run logs its parameters, data version and metrics, or it cannot be compared or reproduced.
Most of the lift is in the features; you build them once so training and serving compute the same thing.
Training and serving run on Linux; you read logs, watch memory and stop a runaway job from the shell.