Skip to content

Conversation

LennartPurucker
Copy link
Collaborator

@LennartPurucker LennartPurucker commented Jun 25, 2025

This code adds TabFlex (https://arxiv.org/abs/2506.05584) from https://github.com/microsoft/ticl

Benchmark TabArena (only Classification)

image

All results: tabflex.zip
Raw results: https://data.lennart-purucker.com/tabarena/data_TabFlex.zip

Notes

  • I do not know if the code and checkpoints on TICL are the ones used in the latest version of the paper.
  • Before really using TabFlex, we would need to refactor some of TICL to give us only the model code and avoid unnecessary dependencies.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Comment on lines +19 to +26
# FIXME: the below dependencies are not needed and not a required dependency for TabFlex
# but is not lazy imported in the TabFlex code base. Thus, we monkey patch it to avoid
# installing it.
sys.modules["mlflow"] = types.ModuleType("mlflow")
fake_gyptorch = types.ModuleType("gpytorch")
fake_gyptorch.models = types.ModuleType("gpytorch.models")
fake_gyptorch.models.ExactGP = ABC
sys.modules["gpytorch"] = fake_gyptorch
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this instead be done lazily in the AbstractModel implementation during fit prior to TabFlex import? Would this being here cause issues in other models potentially in future?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It needs to be done before the import, so this could also be done lazily. But honestly, we should just fix the TICL code instead of doing this on our end.

@LennartPurucker
Copy link
Collaborator Author

@Innixma, thoughts about adding TabFlex to the LB even as authors have not at all responded so far?

@Innixma
Copy link
Collaborator

Innixma commented Aug 26, 2025

@LennartPurucker in general I think it is fine to merge (although I have some concerns with the import patches at start of file). Regarding adding to LB maybe we should add a "Author verified" column to indicate in which cases we synced with the authors and in which cases we did not / weren't able to reach them?

Copy link
Collaborator

@Innixma Innixma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM assuming merge conflicts are resolved

@Innixma
Copy link
Collaborator

Innixma commented Aug 26, 2025

@LennartPurucker can we move the import logic into the model class code so it doesn't impact other things?

@LennartPurucker
Copy link
Collaborator Author

can we move the import logic into the model class code so it doesn't impact other things?

I will have to test it / tinker with it a bit after resolving the merge conflicts.

@LennartPurucker
Copy link
Collaborator Author

Author verified

Sounds like the best way forward for now. We can add this for TabDPT and BETA-PFN as well with various degrees.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants