code: def _check_names_match(data_names, data_shapes, name, throw):
      
      actual = [x[0] for x in data_shapes]
      if sorted(data_names) != sorted(actual):
          msg = "Data provided by %s_shapes don't match names specified by %s_names (%s vs. %s)"%(
              name, name, str(data_shapes), str(data_names))
          if throw:
              raise ValueError(msg)
          else:
              warnings.warn(msg)
docs: Check that input names matches input data descriptors.