C4 W1 A2: model(): UNQ_C4 dinosaur name

Need hints to debug:

# mentor edit: code removed - breaks the Honor Code


IndexError Traceback (most recent call last)
in
----> 1 parameters, last_name = model(data.split("\n"), ix_to_char, char_to_ix, 22001, verbose = True)
2
3 assert last_name == ‘Trodonosaurus\n’, “Wrong expected output”
4 print("\033[92mAll tests passed!")

in model(data_x, ix_to_char, char_to_ix, num_iterations, n_a, dino_names, vocab_size, verbose)
66 # Perform one optimization step: Forward-prop → Backward-prop → Clip → Update parameters
67 # Choose a learning rate of 0.01
—> 68 curr_loss, gradients, a_prev = optimize(X, Y, a_prev, parameters, learning_rate = 0.01)
69
70 ### END CODE HERE ###

in optimize(X, Y, a_prev, parameters, learning_rate)
32
33 # Forward propagate through time (≈1 line)
—> 34 loss, cache = rnn_forward(X, Y, a_prev, parameters)
35
36 # Backpropagate through time (≈1 line)

~/work/W1A2/utils.py in rnn_forward(X, Y, a0, parameters, vocab_size)
94 x[t] = np.zeros((vocab_size,1))
95 if (X[t] != None):
—> 96 x[t][X[t]] = 1
97
98 # Run one step forward of the RNN

IndexError: only integers, slices (:), ellipsis (...), numpy.newaxis (None) and integer or boolean arrays are valid indices

1 Like

Posting your code (without a mentor asking to see your code) breaks the course Honor Code.

Hints: (since you asked for hints):

You’re using the wrong variable in the iterator.

You’re using the wrong variable - X should contain the indices, not the characters.

Y = single_example_ix + [ix_newline]
Please read the instructions for setting the Y variable. Hint: The labels are the “X[1:]” values.

The hints were great and allowed me to successfully debug the code. Thank you!

That’s good.
Please do not post your code on the Forums in the future.