def validate_output(input_file, output_file, params=[]): input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) num_of_locations, num_houses, list_locations, list_houses, starting_car_location, adjacency_matrix = data_parser(input_data) adjacency_matrix = np.array(adjacency_matrix) adjacency_matrix = np.where(adjacency_matrix == 'x', np.inf, adjacency_matrix) adjacency_matrix = np.array(adjacency_matrix, dtype=float) homes = convert_to_index(np.array(list_houses), np.array(list_locations)) s = list_locations.index(starting_car_location) dist_matrix = all_pair_distance(np.array(adjacency_matrix)) stupidcost = 0 for i in range(len(list_locations)): if np.isin(i, homes): stupidcost += dist_matrix[s][i] input_message, input_error = input_validator.tests(input_file) cost, message = tests(input_data, output_data, params=params) message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message if cost/stupidcost > 0.45: print("Warning:", input_file, output_file, cost, cost/stupidcost) else: print(input_file, output_file, cost/stupidcost) return input_error, cost, message
def validate_output_nm(input_file, output_file, params=[]): input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) input_message, input_error = input_validator.tests(input_file) cost, message = tests(input_data, output_data, params=params) return cost
def validate_output(input_file, output_file, params=[]): print('Processing', input_file) input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) input_message, input_error = input_validator.tests(input_file) cost, message = tests(input_data, output_data, params=params) message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message print(message) return input_error, cost, message
def validate_output(input_file, output_file, params=[]): print('Processing', input_file) input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) input_message, input_error = input_validator.tests(input_file) cost, message = tests(input_data, output_data, params=params) message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message print(message) if input_error: return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n' return input_error, cost, message
def validate_output(input_file, output_file, params=[]): print('Processing', input_file) input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) input_message, input_error = input_validator.tests(input_file) cost, message = tests(input_data, output_data, params=params) message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message # if cost == 'infinite': # with open('failed.log', 'a+') as f: # f.write(input_file + " "+ message + "\n") # print(message) if input_error: return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n' return input_error, cost, message
def validate_output(input_file, output_file, params=[]): # print('\n Processing Validate_output', input_file) input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) input_message, input_error = input_validator.tests(input_file) # print(" input_error = " + str(input_error)) cost, output_message = tests(input_data, output_data, params=params) message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + output_message # print(message) # if input_error: # return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n' return {0: input_error, 1: cost, 2: message, 3: output_message}
def validate_output(input_file, output_file, params=[], verbose=False): print('Processing', input_file, output_file) if verbose else "" input_data = utils.read_file(input_file) output_data = utils.read_file(output_file) input_message, input_error = input_validator.tests(input_file) cost, message = tests(input_data, output_data, params=params) message = 'Comments about input file:\n\n' + input_message + 'Comments about output file:\n\n' + message print(message) if verbose else "" # Let's ignore input errors. #if input_error: # return input_error, 'infinite', input_message + 'Since this input is invalid, you will not receive a score for its output.\n' if type(cost) is str: print("ERROR: COST IS: ", cost) return input_error, cost, message