def test_dynamic_shape_no_inputs(self, backend, compute_unit, model_format):
        """
        The `inputs` param in `ct.convert` is not provided, so all inputs in the TF model with `None`
        dim will have a range shape where lower-bound/default/upper-bound are sanitized to finite
        numbers and warns users.
        """
        convert_to = backend[0]
        model_param = self.model
        if model_format == "h5":
            model_param = self.h5_model_path
        elif model_format == "saved_model":
            model_param = self.saved_model_path

        if convert_to == "mlprogram":
            with pytest.warns(
                UserWarning,
                match="Some dimensions in the input shape are unknown, hence they are set to "
                "flexible ranges with lower bound and default value = 1, and upper bound = 2. "
                "To set different values for the default shape and upper bound, please use "
                "the ct.RangeDim.*",
            ):
                mlmodel = ct.convert(
                    model_param,
                    source="tensorflow",
                    convert_to=convert_to,
                    compute_units=compute_unit,
                )
        else:
            mlmodel = ct.convert(
                model_param,
                source="tensorflow",
                convert_to=convert_to,
                compute_units=compute_unit,
            )

        spec = mlmodel.get_spec()
        assert list(spec.description.input[0].type.multiArrayType.shape) == [1, 1, 1, 16]
        assert (
            spec.description.input[0].type.multiArrayType.shapeRange.sizeRanges[2].lowerBound == 1
        )
        assert (
            spec.description.input[0].type.multiArrayType.shapeRange.sizeRanges[2].upperBound == -1
            if convert_to == "neuralnetwork"
            else 2
        )

        The `inputs` param in `ct.convert` is not provided, so all inputs in the TF model with `None`
        dim will have a range shape where lower-bound/default/upper-bound are sanitized to finite
        numbers and warns users.
        
coremltools/converters/mil/test_inputs_outputs_shape.py