posterior / loom

A streaming cross-cat inference engine
BSD 3-Clause "New" or "Revised" License
19 stars 9 forks source link

What does DEFAULTS['kind']['iterations'] refer to in loom/loom/config.py? #5

Open ajaysaini725 opened 6 years ago

ajaysaini725 commented 6 years ago

It seems as if extra_passes in DEFAULTS refers to the number of Gibbs passes through the parameters. If this is the case, then what does the DEFAULTS['kind']['iterations'] parameter refer to? Source: https://github.com/posterior/loom/blob/master/loom/config.py#L35

fritzo commented 6 years ago

Loom has three kernels:

The "cat" kernel is controlled by extra_passes, which determines the subsample annealing schedule. While loom is running subsample annealing, objects are added-to and removed-from the latent state. Whenever the set of assigned objects is completely "fresh", loom considers this to be a full minibatch and runs the "hyper" and "kind" kernels, and finally marks these objects as "dirty"; they must all be removed before the next minibatch.

Within each minibatch, the two kernels are controlled by DEFAULTS['kernels']['hyper'] and DEFAULTS['kernels']['kind']. So for example the "kind" kernel is run for DEFAULTS['kernels']['kind']['iters'] during each minibatch. (The kind kernel is a very cheap single-threaded kernel).