Closed lkct closed 11 months ago
What is a case where it raises an exception? I think those two einsums can be rewritten as follows.
crucial_quantity_einsum = torch.einsum("dipj,bdj->bdip", theta, self.suff_stats)
return torch.einsum("bdip,dpf->fib", output, self.scope_tensor)
using the convention in #112 .
try a 3 channel input
UPDATE
Also ref: einsums
branch at 6eb61b495e61d823939985ff962437989b987dd9
can we consider this closed @antoniomari?
I'm picking this up.
the output of this https://github.com/april-tools/cirkit/blob/7d57234ed8234a9d86c77cfdf4f88d0a0019a35c/cirkit/layers/exp_family/exp_family.py#L166 cannot be the input of this https://github.com/april-tools/cirkit/blob/7d57234ed8234a9d86c77cfdf4f88d0a0019a35c/cirkit/layers/exp_family/exp_family.py#L201 because
d
andr
does not match.It should be investigated.
To keep a reference: the old shape meanings: 6eb61b495e61d823939985ff962437989b987dd9
after this is fixed, we can introduce "named tensors" to guarantee consistency. https://pytorch.org/docs/stable/named_tensor.html