Skip to content
[ICLR 2019] Learning Representations of Sets through Optimized Permutations
Python Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Learning Representations of Sets through Optimized Permutations

Sketch of model architecture


This is the official implementation of our ICLR 2019 paper Learning Representations of Sets through Optimized Permutations in PyTorch. In this paper, we propose to encode sets of feature vectors into a single feature vector by learning to permute them, then encoding the permuted set with an RNN. This avoids the bottleneck where a set of arbitrary size is pooled into a feature vector in a single step, which throws away a lot of information.

The main algorithm is contained in Experiments can be run through the scripts in the experiments folder, which calls with the appropriate arguments. The VQA experiment is located in the ban-vqa folder, which is a fork of the ban-vqa source code with an and


From the root directory, you can run:

  • the sorting experiment: experiments/
  • the mosaic experiments: experiments/ {mnist,cifar10}, experiments/, experiments/ {mnist,cifar10}, experiments/
  • reconstruct mosaics: experiments/

You can create the visualisations in the appendix by resuming from a trained model with various --vis {0,1,2,3,4,5} arguments to, see the comments in the training script for more details.

BibTeX entry

	title={Learning Representations of Sets through Optimized Permutations},
	author={Yan Zhang and Jonathon Hare and Adam Prügel-Bennett},
	booktitle={International Conference on Learning Representations},
You can’t perform that action at this time.