def input_aval(arg: TfVal, polymorphic_shape: Optional[str]) -> core.AbstractValue:
    'The abstract value for an input.'
    (raw_shape, dtype) = _tfval_shape_dtype(arg)
    aval_shape = shape_poly.parse_spec(polymorphic_shape, raw_shape)
    for (i, d) in enumerate(aval_shape):
        if (type(d) is int):
            assert (d == np.shape(arg)[i])
        elif ((type(d) is shape_poly.DimVar) and (d not in shapeenv)):
            shapeenv[d] = tf.shape(arg)[i]
        else:
            pass
    return core.ShapedArray(aval_shape, dtype)
The abstract value for an input.
def input_aval(arg: TfVal, polymorphic_shape: Optional[str]) -> core.AbstractValue:
    
    (raw_shape, dtype) = _tfval_shape_dtype(arg)
    aval_shape = shape_poly.parse_spec(polymorphic_shape, raw_shape)
    for (i, d) in enumerate(aval_shape):
        if (type(d) is int):
            assert (d == np.shape(arg)[i])
        elif ((type(d) is shape_poly.DimVar) and (d not in shapeenv)):
            shapeenv[d] = tf.shape(arg)[i]
        else:
            pass
    return core.ShapedArray(aval_shape, dtype)