Implementation of the Unbounded Depth Neural Network in PyTorch.
Generates a spiral classification dataset and fit a UDN with fully connected hidden layers.
python -m experiments.supervised_spiral
The Unbounded Depth Neural network is implemented in PyTorch at src.models.UnboundedDepthNetwork.
The abstract class src.models.VariationalDepth represents the variational posterior on the depth L. Any implementation
of this class can be given to the UnboundedDepthNetwork.
TruncatedPoissonimplements the variational distribution introduced in the paper.FixedDepthis a constant distribution simulating regular (bounded) neural network
Some helpful functions for training and evaluating the UDN are available in src/train.py.
The three main experiments of the paper (cifar10, spirl, uci) can be reproduced using the code in experiments.
@inproceedings{nazaret2022variational,
title={Variational Inference for Infinitely Deep Neural Networks},
author={Nazaret, Achille and Blei, David},
booktitle={International Conference on Machine Learning},
year={2022},
}