pyro-ppl/pyro
extending Predictive to support sampling by plate name
Aberta
#2.783 aberto em 16 de mar. de 2021
discussionenhancementhelp wanted
Métricas do repositório
- Stars
- (8.211 estrelas)
- Métricas de merge de PR
- (Mesclagem média 10d 19h) (1 fundiu PR em 30d)
Description
Following our earlier discussion with @fritzo and @adamgayoso , creating this issue. Would be great if Predictive class can support sampling of all variables in a given plate, automatically pulling all site values in a given plate(plate_name) or all sites not is that plate, including both samples and observed values:
trace = poutine.trace(model).get_trace(*args, **kwargs) # you'll need to fill in args,kwargs
cell_samples = {
name: site["value"]
for name, site in trace.nodes.items()
if site["type"] == "sample"
if any(f.name == plate_name for f in site["cond_indep_stack"])
}
This functionality would simplify dealing with local variables within a minibatch plate, by making it easy to do separate predictive calls for the minibatch plate variables and global variables.