A general purpose transformation for getting the output shape and dtype of an object.

spec is used to query the output shapes and dtypes of objects like Modules or functions.

obj The object whose spec will be queried.

A function when passed in values or specs will return an output spec.