first_output = None for i, data in enumerate(test_loader): inputs, output = data inputs = inputs inputs_text = test_loader.dataset.bow_column_name.tensor_to_text(inputs) prediction = network(inputs).data prediction_text = test_loader.dataset.bow_column_data_type.tensor_to_text( prediction) actual = output actual_text = test_loader.dataset.bow_column_data_type.tensor_to_text( actual) if (prediction_text == actual_text): print.success(inputs_text, "successfully interpeted as", prediction_text) successes += 1 else: print.fail( inputs_text, "interpeted as", prediction_text, "SHOULD BE", actual_text, ) fails += 1 print("Summary successes", successes, "/", successes + fails)
train_datatypes, return_counts=True) print.info("Lets look at the statistics of the training dataset") sort_index = np.argsort(-train_unique_datatypes_count) y_pos = np.arange(len(train_unique_datatypes)) plt.bar(y_pos, train_unique_datatypes_count[sort_index], align='center', alpha=0.5) plt.xticks(y_pos, train_unique_datatypes[sort_index], rotation=90) plt.subplots_adjust(bottom=0.35) plt.ylabel('Usage') plt.title('Data type') plt.show() # How many matches if we select a random datatype? correctGuessRandom = list( filter( lambda item: item['datatype'] == np.random.choice( train_unique_datatypes), test)) print.info("Random datatype") print.success("{0:.0%}".format(len(correctGuessRandom) / len(test)), "matches") # How many matches if we just assume string? correctGuessString = list( filter(lambda item: item['datatype'] == "string", test)) print.info("Assuming string") print.success("{0:.0%}".format(len(correctGuessString) / len(test)), "matches")