Description
Currently the behaviour of ds.start()
is somewhat conflated, at the expense of usability. It does several things, including:
- Starting the clock on timing a run
- Clearing state from any previous runs
However, often in interactive notebook usage, you want to do these things at different times:
What's your use case? Is it that you want to use ds.start() and ds.publish() to capture timing info (of a run in a single notebook cell, rather than manual tinkering time)?
Exactly, I wanted to record the hyperparameters in a first moment (e.g. in a class constructor) , and then capture the training time with start() and publish() when the fit() method is called
So let's make ds.start_timing() separate from ds.start_run(). We could alias ds.start()
to ds.start_run()
for backward compatibility, but start recommending using the explicit (separate) versions.
We should also make ds.start_run()
clearer (in docs, at least) that it will wipe previous state, and should be run before adding any labels or metadata!