Autolog
strongly.autolog() # every supported framework that is installed
model.fit(X, y) # logged: params, metrics, the model
strongly.autolog() logs training without any logging code. Training logs to the active run, or to a run autolog starts and ends itself (failed if training raises). Only the outermost training call logs, so a pipeline or a search logs once, not once per inner fit.
| Framework | What is logged |
|---|---|
| scikit-learn | every estimator's fit: its params, the data's shape, training_score, the model |
| XGBoost | xgboost.train and XGBClassifier/XGBRegressor... fit: params, each evaluation metric at every round, the model |
| LightGBM | lightgbm.train and LGBMClassifier/LGBMRegressor... fit: the same |
| CatBoost | fit: params, every learn and validation metric by iteration, the model |
| PyTorch Lightning | Trainer.fit: the optimizer and learning rate, the logged metrics each epoch, the model |
| Keras / TensorFlow | Model.fit: the optimizer config, loss and metrics each epoch, the model (model.keras) |
| Hugging Face Transformers | Trainer.train: the training arguments, everything the Trainer logs at its step |
| fastai | Learner.fit: epochs and learning rate, loss and metrics each epoch |
| Optuna | Study.optimize: each trial as a nested run (its params and objective), the best value and params |
| statsmodels | every model's fit: R², AIC, BIC, log-likelihood, F statistic, the fitted results |
| Prophet | fit: its seasonality and changepoint settings, the data's date range, the model |
| spaCy | nlp.update while a run is active: each pipe's loss by update |
| gensim | Word2Vec training while a run is active: its params |
Options: strongly.autolog(include=["sklearn", "xgboost"]) or exclude=[...] picks frameworks; log_models, log_metrics, log_params and log_datasets (each default true) choose what is logged; exclusive=True logs only to runs autolog starts; extra_tags=[...] tags those runs; disable=True turns autolog off. A failure to log is reported as a warning and never stops training.