Result of a MicrogradEx training run.
@type history_row() :: %{ step: non_neg_integer(), loss: float(), data_loss: float(), reg_loss: float(), accuracy: float(), learning_rate: float() }
@type t() :: %MicrogradEx.Trainer.Run{ final_accuracy: float(), final_loss: float(), final_model: term(), history: [history_row()], initial_model: term(), options: map() }