https://github.com/chris-santiago/met
Reproducing the MET framework with PyTorch
https://github.com/chris-santiago/met
adversarial-learning hydra masked-autoencoder pytorch pytorch-lightning self-supervised-learning taskfile transformers
Last synced: 8 months ago
JSON representation
Reproducing the MET framework with PyTorch
- Host: GitHub
- URL: https://github.com/chris-santiago/met
- Owner: chris-santiago
- License: mit
- Created: 2023-12-04T03:23:00.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-13T04:37:48.000Z (over 2 years ago)
- Last Synced: 2025-07-20T03:09:56.236Z (11 months ago)
- Topics: adversarial-learning, hydra, masked-autoencoder, pytorch, pytorch-lightning, self-supervised-learning, taskfile, transformers
- Language: Python
- Homepage:
- Size: 10.9 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# MET - PyTorch
This repo reproduces the MET (Masked Encoding for Tabular Data) framework for self-supervised learning with tabular data.
*Authors: Kushal Majmundar, Sachin Goyal, Praneeth Netrapalli, Prateek Jain*
*Reference: Kushal Majmundar, Sachin Goyal, Praneeth Netrapalli, Prateek Jain, "MET: Masked Encoding for Tabular Data," Neural Information Processing Systems (NeurIPS), 2022.*
Original paper: https://table-representation-learning.github.io/assets/papers/met_masked_encoding_for_tabula.pdf
Original repo: https://github.com/google-research/met
## Install
Clone this repository, create a new Conda environment and
```bash
git clone https://github.com/chris-santiago/met.git
conda env create -f environment.yml
cd met
pip install -e .
```
## Use
### Prerequisites
#### Hydra
This project uses [Hydra](https://hydra.cc/docs/intro/) for managing configuration CLI arguments. See `met/conf` for full
configuration details.
#### Task
This project uses [Task](https://taskfile.dev/) as a task runner. Though the underlying Python
commands can be executed without it, we recommend [installing Task](https://taskfile.dev/installation/)
for ease of use. Details located in `Taskfile.yml`.
#### Current commands
```bash
> task -l
task: Available tasks for this project:
* check-config: Check Hydra configuration
* compare: Compare using linear baselines
* train: Train a model
* wandb: Login to Weights & Biases
```
Example: Train model and for `adult-income` dataset experiment
*The `--` forwards CLI arguments to Hydra.*
```bash
task train -- experiment=income
```
#### PDM
This project was built using [this cookiecutter](https://github.com/chris-santiago/cookie) and is
setup to use [PDM](https://pdm.fming.dev/latest/) for dependency management, though it's not required
for package installation.
#### Weights and Biases
This project is set up to log experiment results with [Weights and Biases](https://wandb.ai/). It
expects an API key within a `.env` file in the root directory:
```toml
WANDB_KEY=
```
Users can configure different logger(s) within the `conf/trainer/default.yaml` file.