Open
Description
Description
From this discussion on pymc discourse, "static shapes are quite recent and we are still updating Ops to reflect them when possible." -@ricardoV94
Is help still needed with ensuring static shape output from Ops where possible? If so - here's a quick (obviously incomplete!) start on listing out ops to work on.
No static shape output (todo):
-
Eye
- conv ops (Output shapes for conv do not pass-by static dimensions #150)
No static shape output (and perhaps to remain as such):
Subtensor
(indexation)
Could fail earlier:
Dot
: outputs correct static shape if the input shapes align, but outputs incorrect static shape if input shapes are wrong. Error at eval timeSpecifyShape
: similar to Dot.ptt.specify_shape(np.ones((2,3)), shape=(3,3)).type # tensortype shape (2,3)
Recently addressed:
-
Join
Compute static shape types in outputs ofJoin
#164 -
MaxAndArgmax
Propagate static shape inMaxAndArgmax
#206
Hopefully this is the right place to start the discussion. If help is wanted, I would appreciate some guidance on how to go about this in a more principled way -- where/how to look, what a fix might look like, etc -- and of course any other suggestion on Ops that don't yet support static shape output.