How yandex-research/rtdl-revisiting-models works
This repository is the official research implementation for comparing deep-learning architectures on tabular data and reproducing the paper’s benchmark results. The principal workflow is to load and preprocess a dataset, train a configured model, record metrics, tune hyperparameters, and optionally ensemble results; a separate analysis compares FT-Transformer and ResNet using synthetic data. The graph preserves the major model families and experiment stages. Source excerpts show only parts of the runtime, so links between model runners and shared utilities rely on the README’s description of lib as their common tools.
Main entry points: data.py Dataset processing · resnet.py MLP and ResNet · analysis_ft_transformer_vs_resnet.py Architecture comparison · tune.py Hyperparameter tuning
Components 22
Experiments
- Hyperparameter tuning
bin/tune.py - Ensembling
bin/ensemble.py
Model runners
- MLP and ResNet
bin/resnet.py - FT-Transformer
bin/ft_transformer.py - AutoInt
bin/autoint.py - DCN v2
bin/dcn2.py - GrowNet
bin/grownet.py - NODE
bin/node.py - SNN
bin/snn.py - TabNet
bin/tabnet.py - Tree models
bin/catboost_.py
Shared runtime
- Dataset processing
lib/data.py - Training utilities
lib/deep.py - Metrics
lib/metrics.py - NODE architecture
lib/node/arch.py - Differentiable trees
lib/node/odst.py - NODE NN utilities
lib/node/nn_utils.py
Analysis
- Architecture comparison
bin/analysis_ft_transformer_vs_resnet.py - Synthetic data
lib/synthetic_data.py
Other components
- Researcher
- Tabular dataset
- Experiment outputs
Connections 26
- Researcher → Hyperparameter tuning: configures runs
README.md - Hyperparameter tuning → MLP and ResNet: tunes model
README.md - Researcher → MLP and ResNet: runs experiments
README.md - Tabular dataset → Dataset processing: provides inputs
README.md - MLP and ResNet → Dataset processing: uses common tools
README.md - FT-Transformer → Dataset processing: uses common tools
bin/ft_transformer.py - AutoInt → Dataset processing: uses common tools
bin/autoint.py - DCN v2 → Dataset processing: uses common tools
bin/dcn2.py - GrowNet → Dataset processing: uses common tools
bin/grownet.py - NODE → Dataset processing: uses common tools
bin/node.py - SNN → Dataset processing: uses common tools
bin/snn.py - TabNet → Dataset processing: processes dataset
bin/tabnet.py - Tree models → Dataset processing: uses common tools
bin/catboost_.py - MLP and ResNet → Training utilities: uses training tools
README.md - FT-Transformer → Training utilities: uses training tools
README.md - MLP and ResNet → Metrics: reports metrics
- MLP and ResNet → Experiment outputs: writes results
README.md - Ensembling → Experiment outputs: reads run results
README.md - Ensembling → Experiment outputs: writes ensembles
README.md - Hyperparameter tuning → Experiment outputs: records configurations
README.md - NODE → NODE architecture: uses architecture
bin/node.py - NODE architecture → Differentiable trees: builds layers
lib/node/arch.py - Differentiable trees → NODE NN utilities: uses operators
lib/node/odst.py - Architecture comparison → FT-Transformer: compares model
bin/analysis_ft_transformer_vs_resnet.py - Architecture comparison → MLP and ResNet: compares model
bin/analysis_ft_transformer_vs_resnet.py - Architecture comparison → Synthetic data: uses generated data
bin/analysis_ft_transformer_vs_resnet.py