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)
Пример #2
0
    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")