This git contains the variational TensorFlow 2 implementation of the dual Information Bottleneck. https://128.84.21.199/abs/2006.04641
You need to specify three types of networks: the encoder (Wide ResNet, or simple covnet), the decoder (one softmax layer as a mean Gaussian in our case), and the reverse decoder.
The notebook VdualIB_MNIST contains an example of how to run the VdualIB network vs. CEB network on MNIST dataset with simple encoder, decoder, and the reverse decoder. For more extensive training, you can find the file train. In this file, you can train with different networks, objectives, and datasets.
The requirements file for needed packages is under doc directory, which also contains some config files for running mlflow framework