As a dynamic programming language, some typing check tools in python are developed for convenience, for example:
def func(x:List):
      self.prop=x   # type: List

In this way, the type of a variable can be checked by the IDE automatically.
Thus I am thinking about is there any tools for tensor-shape check when building the computing graph? When we build a graph, we tend to change the shape, expand the shape, squeeze some dimensions… which troubles me a lot.