thanks, the explanation helps me understand why layer definitions don’t specify input shapes (thus enabling them to be applied to variable input shapes). are the shapes are just derived from the data that is passed, rather than being passed as an explicit parameter?