← Open Source
juho-lee

set_transformer

Pytorch implementation of set transformer.

Model DevelopmentArchitectureJupyter Notebook
Open on GitHub
Momentum
+0stars in 24 hours0.0%
691
Stars
118
Forks
+1
This week
1
Contributors
Created 2019-05-03 · Updated 2026-10-11 · #14947 today
Top developers
yoonholee

juho-lee/set_transformer is ranked 14,947 with 691 stars.

Same-category comparison

juho-lee/set_transformer is ranked 14,947 among these 8 peers; google-research/pix2struct is ranked 14,946.

Same-category comparison
NameRankMetrics
xuehy/pytorch-maddpg14,938
Language:
Python
Stars:
692
Forks:
126
Description:
A pytorch implementation of MADDPG (multi-agent deep deterministic policy gradient).
Bobo-y/flexible-yolov514,939
Language:
Python
Stars:
691
Forks:
117
Description:
More readable and flexible yolov5 with more backbone(gcn, resnet, shufflenet, moblienet, efficientnet, hrnet, swin-transformer, etc) and (cbam,dcn and so on), and tensorrt.
PaulDanielML/MuJoCo_RL_UR514,942
Language:
Python
Stars:
691
Forks:
70
Description:
A MuJoCo/Gym environment for robot control using Reinforcement Learning. The task of agents in this environment is pixel-wise prediction of grasp success chances.
google-research/pix2struct14,946
Language:
Python
Stars:
691
Forks:
62
philipperemy/FX-1-Minute-Data14,950
Language:
Python
Stars:
691
Forks:
172
Description:
HISTDATA - Dataset composed of all FX trading pairs / Crude Oil / Stock Indexes. Simple API to retrieve 1 Minute data (and tick data) Historical FX Prices (up to date).
rizkiarm/LipNet14,951
Language:
Python
Stars:
691
Forks:
244
Description:
Keras implementation of 'LipNet: End-to-End Sentence-level Lipreading'.
vanderschaarlab/synthcity14,953
Language:
Python
Stars:
691
Forks:
99
Description:
A library for generating and evaluating synthetic tabular data for privacy, fairness and data augmentation.
x4nth055/emotion-recognition-using-speech14,954
Language:
Python
Stars:
691
Forks:
252
Description:
Building and training Speech Emotion Recognizer that predicts human emotions using Python, Sci-kit learn and Keras.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguageJupyter Notebook
CategoryModel Development
SubcategoryArchitecture
Stars691
Forks118
Contributors1
Created date2019-05-03
Updated date2026-10-11
Stars in 1 day0
Stars in 7 days1
Rank14,947
Previous rank14,776
Rank change-171
7-day stars rank10,918
Previous 7-day stars rank14,742
7-day stars rank change3,824
Total stars rank15,031
Previous total stars rank15,007
Total stars rank change-24
CountrySouth Korea
README summary

set_transformer Official PyTorch implementation of the paper Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks . 0 matplotlib scipy tqdm Abstract Many machine learning tasks such as multiple instance learning, 3D shape recognition, and few-shot image classification are defined on sets of instances. Since solutions to such problems do not depend on the order of elements of the set, models used to address them should be permutation invariant. We present an attention-based neural network module

, the Set Transformer, specifically designed to model interactions among elements in the input set. The model consists of an encoder and a decoder, both of which rely on attention mechanisms. In an effort to reduce computational complexity, we introduce an attention scheme inspired by inducing point methods from sparse Gaussian process literature. It reduces the computation time of self-attention from quadratic to linear in the number of elements in the set. We show that our model is theoretically attractive

and we evaluate it on a range of tasks, demonstrating the state-of-the-art performance compared to recent methods for set-structured data. Experiments This repository implements the maximum value regression (section 5. 3), and point cloud classification (section 5. Maximum Value Regression This experiment is reproduced in . Amortized Clustering To run the amortized clustering experiment with Set Transformer, run To run the same experiment with Deep Sets, run Point Cloud Classification We used the same preprocessed ModelNet40 dataset

used in the DeepSets paper. We cannot publicly share this file due to copyright and license issues. To run this code, you must obtain the preprocessed dataset "ModelNet40_cloud. We recommend using multiple GPUs for this experiment; we used 8 Tesla P40s. To run the point cloud classification experiment, run The hyperparameters here were minimally tuned yet reproduced the results in the paper. It is likely that further tuning will get better results. Reference If you found the provided code

useful, please consider citing our work.

Frequently asked questions

How many stars and forks are recorded?

juho-lee/set_transformer has 691 stars and 118 forks.

What is the repository rank?

juho-lee/set_transformer is ranked 14,947.

What language and category are recorded?

juho-lee/set_transformer has 691 stars, uses Jupyter Notebook and belongs to Model Development.

Which repository is closest in rank?

juho-lee/set_transformer is compared with google-research/pix2struct, ranked 14,946 with 691 stars.

README

set_transformer

Official PyTorch implementation of the paper Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks .

Requirements

  • Python 3
  • torch >= 1.0
  • matplotlib
  • scipy
  • tqdm

Abstract

Many machine learning tasks such as multiple instance learning, 3D shape recognition, and few-shot image classification are defined on sets of instances. Since solutions to such problems do not depend on the order of elements of the set, models used to address them should be permutation invariant. We present an attention-based neural network module, the Set Transformer, specifically designed to model interactions among elements in the input set. The model consists of an encoder and a decoder, both of which rely on attention mechanisms. In an effort to reduce computational complexity, we introduce an attention scheme inspired by inducing point methods from sparse Gaussian process literature. It reduces the computation time of self-attention from quadratic to linear in the number of elements in the set. We show that our model is theoretically attractive and we evaluate it on a range of tasks, demonstrating the state-of-the-art performance compared to recent methods for set-structured data.

Experiments

This repository implements the maximum value regression (section 5.1), amortized clustering (section 5.3), and point cloud classification (section 5.5) experiments in the paper.

Maximum Value Regression

This experiment is reproduced in max_regression_demo.ipynb.

Amortized Clustering

To run the amortized clustering experiment with Set Transformer, run

python run.py --net=set_transformer

To run the same experiment with Deep Sets, run

python run.py --net=deepset

Point Cloud Classification

We used the same preprocessed ModelNet40 dataset used in the DeepSets paper. We cannot publicly share this file due to copyright and license issues. To run this code, you must obtain the preprocessed dataset "ModelNet40_cloud.h5". We recommend using multiple GPUs for this experiment; we used 8 Tesla P40s.

To run the point cloud classification experiment, run

python main_pointcloud.py --batch_size 256 --num_pts 100
python main_pointcloud.py --batch_size 256 --num_pts 1000
python main_pointcloud.py --batch_size 256 --num_pts 5000

The hyperparameters here were minimally tuned yet reproduced the results in the paper. It is likely that further tuning will get better results.

Reference

If you found the provided code useful, please consider citing our work.

@InProceedings{lee2019set,
    title={Set Transformer: A Framework for Attention-based Permutation-Invariant Neural Networks},
    author={Lee, Juho and Lee, Yoonho and Kim, Jungtaek and Kosiorek, Adam and Choi, Seungjin and Teh, Yee Whye},
    booktitle={Proceedings of the 36th International Conference on Machine Learning},
    pages={3744--3753},
    year={2019}
}
Nearby in the ranking
Similar items