Construct the NICE flow for the SVHN setup.
Paper-faithful SVHN configuration from Dinh et al., 2014 Figure 3:
3072 dimensions, four coupling layers with four hidden layers of
2000 units each, and a standard logistic prior. Identical in
topology to nice_cifar — the two experiments differ in data
and reported likelihood only.
Model Size
Parameters
pretrainedbool= FalseReserved for future weight registration; currently a no-op.
**overridesobject= {}Optional
NICEConfig field overrides forwarded into the
underlying config.Returns
NICEModelBare bijection configured with the SVHN setup and any overrides.
Notes
Reference: Dinh, Krueger, and Bengio, "NICE: Non-linear Independent Components Estimation", ICLR Workshop, 2015 (arXiv:1410.8516), Figure 3. Reported test log-likelihood: 11496.55 nats, on ZCA-whitened data — the whitening is what makes this number so much larger than the CIFAR-10 one, so likelihoods are comparable only within a preprocessing pipeline.
Examples
>>> import lucid
>>> from lucid.models.generative.nice import nice_svhn
>>> model = nice_svhn(input_dim=64, hidden_dim=16).eval()
>>> model.input_dim
64