https://github.com/ermongroup/subsets
Code for Reparameterizable Subset Sampling via Continuous Relaxations, IJCAI 2019.
https://github.com/ermongroup/subsets
Last synced: 5 months ago
JSON representation
Code for Reparameterizable Subset Sampling via Continuous Relaxations, IJCAI 2019.
- Host: GitHub
- URL: https://github.com/ermongroup/subsets
- Owner: ermongroup
- Created: 2019-05-29T18:01:07.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-10-03T07:43:04.000Z (about 2 years ago)
- Last Synced: 2025-03-31T16:13:37.763Z (6 months ago)
- Language: Python
- Size: 25.1 MB
- Stars: 54
- Watchers: 10
- Forks: 8
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Reparameterizable Subset Sampling via Continuous Relaxations
This repo contains the code for the paper [Reparameterizable Subset Sampling via Continuous Relaxations](https://arxiv.org/abs/1901.10517),
which allows you to include subset sampling as a layer in a neural network.
This is useful whenever you want to select a discrete number of elements, such as in
dynamic feature selection or k-nearest neighbors.
This repo contains the experiments for learning feature selectors for explainability,
training a deep stochastic k-NN model, and training a parametric t-SNE model using subset sampling.Supports the following libraries:
- PyTorch (`SubsetOperator` in `subsets/knn/sorting_operator.py`)
- TensorFlow (`sample_subset` in `subsets/sample_subsets.py`)To setup, please create a new Python virtualenv with Python 3.6, activate it,
navigate to this directory (containing `setup.py`) and run
`pip install -e .`To run the experiments, navigate to the `experiments/` folder and run the
corresponding scripts.If you find this code useful, please cite
```
@article{xie2019subsets,
author = {Sang Michael Xie and Stefano Ermon},
title = {Reparameterizable Subset Sampling via Continuous Relaxations},
journal = {International Joint Conference on Artificial Intelligence (IJCAI)},
year = {2019}
}
```