-record(train_result, { final_params :: list(viva_tensor@nn@optim:param()), final_optimizer :: viva_tensor@nn@optim:optimizer(), total_loss :: float(), steps :: integer() }).