function checkInputData(data, names, shapes, checkBatchAxis, exceptionPrefix) {
	  if (checkBatchAxis === void 0) {
	    checkBatchAxis = true;
	  }

	  if (exceptionPrefix === void 0) {
	    exceptionPrefix = '';
	  }

	  var arrays;

	  if (Array.isArray(data)) {
	    if (data.length !== names.length) {
	      throw new ValueError("Error when checking model " + exceptionPrefix + ": the Array of " + "Tensors that you are passing to your model is not the size the " + ("the model expected. Expected to see " + names.length + " Tensor(s),") + (" but instead got " + data.length + " Tensors(s)."));
	    }

	    arrays = data;
	  } else {
	    if (names.length > 1) {
	      throw new ValueError("The model expects " + names.length + " " + exceptionPrefix + " Tensors, " + "but only received one Tensor. Found: array with shape " + (JSON.stringify(data.shape) + "."));
	    }

	    arrays = [data];
	  }

	  if (shapes != null) {
	    for (var i = 0; i < names.length; ++i) {
	      if (shapes[i] == null) {
	        continue;
	      }

	      var array = arrays[i];

	      if (array.shape.length !== shapes[i].length) {
	        throw new ValueError("Error when checking " + exceptionPrefix + ": expected " + names[i] + " " + ("to have " + shapes[i].length + " dimension(s), but got array with ") + ("shape " + JSON.stringify(array.shape)));
	      }

	      for (var j = 0; j < shapes[i].length; ++j) {
	        if (j === 0 && !checkBatchAxis) {
	          continue;
	        }

	        var dim = array.shape[j];
	        var refDim = shapes[i][j];

	        if (refDim != null) {
	          if (refDim !== dim) {
	            throw new ValueError("Error when checking " + exceptionPrefix + ": expected " + (names[i] + " to have shape " + JSON.stringify(shapes[i]) + " but ") + ("got array with shape " + JSON.stringify(array.shape) + "."));
	          }
	        }
	      }
	    }
	  }
	}
Check inputs provided by the user.

Porting Note: This corresponds to _standardize_input_data() in Python
  Keras. Because of the strong typing in TF.js, we do not need to convert
  the data. Specifically:
  1) in PyKeras, `data` can be `DataFrame` instances from pandas, for
     example. We don't need to worry about that here because there is no
     widely popular javascript/typesdcript equivalent of pandas (so far).
     If one becomes available in the future, we can add support.
  2) in PyKeras, inputs can be Python dict. But here we are stipulating
that the data is either a single `tf.Tensor` or an Array of `tf.Tensor`s. We
may add support for `Object` data inputs in the future when the need
arises.

Instead, we perform basic checks for number of parameters and shapes.

@param data: The input data.
@param names: Name for the inputs, from the model.
@param shapes: Expected shapes for the input data, from the model.
@param checkBatchAxis: Whether the size along the batch axis (i.e., the
  first dimension) will be checked for matching.
@param exceptionPrefix: Execption prefix message, used in generating error
  messages.
@throws ValueError: on incorrect number of inputs or mismatches in shapes.