Ejemplo n.º 1
0
def predict(input_line):
    print(f"\n > {input_line}")
    with torch.no_grad():
        line_tensor = line_to_tensor(input_line)
        hidden = rnn.init_hidden()
        for i in range(line_tensor.size()[0]):
            output, hidden = rnn(line_tensor[i], hidden)
        guess = category_from_output(output)
        print(guess)
Ejemplo n.º 2
0
def random_training_example(category_lines, all_categories):
    def random_choice(a):
        random_idx = random.randint(0, len(a) - 1)
        return a[random_idx]

    category = random_choice(all_categories)
    line = random_choice(category_lines[category])
    category_tensor = torch.tensor([all_categories.index(category)],
                                   dtype=torch.long)
    line_tensor = line_to_tensor(line)
    return category, line, category_tensor, line_tensor
def predict(line, n_predictions=3):
    _, all_categories = assemble_data(DATA_FILES)
    output = evaluate(line_to_tensor(line), rnn)

    topv, topi = output.data.topk(n_predictions, 1, True)
    predictions = []
    print(line)
    for i in range(n_predictions):
        value = topv[0][i]
        category_index = topi[0][i]
        print('(%.2f) %s' % (value, all_categories[category_index]))
        predictions.append([value, all_categories[category_index]])

    return predictions
Ejemplo n.º 4
0
def get_predication(name):
    print(f"\n> {name} ")

    with torch.no_grad():
        line_tensor = line_to_tensor(name)

        hidden = rnn.init_hidden()

        for i in range(line_tensor.size()[0]):
            output, hidden = rnn(line_tensor[i], hidden)

        guess = category_from_output(output)

        print(guess)
        return guess
Ejemplo n.º 5
0
n_categories = len(all_categories)

n_hidden = 128

rnn = RNN(N_LETTERS, n_hidden, n_categories)

#One step
input_tensor = letter_to_tensor('A')
hidden_tensor = rnn.init_hidden()

output, next_hidden = rnn(input_tensor, hidden_tensor)
#print(output.size())
#print(next_hidden.size())

# whole sequence/name
input_tensor = line_to_tensor('Albert')
hidden_tensor = rnn.init_hidden()

output, next_hidden = rnn(input_tensor[0], hidden_tensor)
#print(output.size())
#print(next_hidden.size())


def category_from_output(output):
    category_idx = torch.argmax(output).item()
    return all_categories[category_idx]


print(category_from_output(output))

criterion = nn.NLLLoss()
category_lines, all_categories = load_data()
n_categories = len(all_categories)

n_hidden = 128
rnn = RNN(N_LETTERS, n_hidden, n_categories)

# One step
input_tensor = letter_to_tensor("A")
hidden_tensor = rnn.init_hidden()

output, next_hidden = rnn(input_tensor, hidden_tensor)
print(output.size())
print(next_hidden.size())

# Whole sequence name
input_tensor = line_to_tensor("Albert")
hidden_tensor = rnn.init_hidden()

output, next_hidden = rnn(input_tensor[0], hidden_tensor)
print(output.size())
print(next_hidden.size())


def category_from_output(output):
    category_idx = torch.argmax(output).item()
    return all_categories[category_idx]


print(category_from_output(output))

criterion = nn.NLLLoss()