Closed lxuechen closed 4 years ago
Yes, this was a concious choice. At the moment it checks for shape (..., d, 1)
.
This raises an interesting point: I think it's reasonable to support either multiple batch dimensions [and I realise much of the rest of the code doesn't yet do this], or to support scalar diffusion having either of the shapes you mention, but not both. The logic for what counts as batch and what doesn't would end up being rather strange, then.
Personally I would lean quite strongly in favour of supporting multiple batch dimensions. I made the concious decision not to in previous projects, and have since regretted it.
Latest on dev, the contract checking fails for the following
Also it might be worthwhile to characterize exactly what API we'd like to use. I think we should go with
g
outputting(batch_size, d, 1)
or(batch_size, d)
or preferably both if possible for backward compatibility.