ML-examples
ML-examples copied to clipboard
Printing predictions
Hi,
I'm trying to print the prediction results and the labels, in addition to accuracy. I;m not sure what I'm doing wrong here
for mfcc, label in test_data: prediction = tflite_inference(mfcc, tflite_path) predicted_indices.append(np.squeeze(tf.argmax(prediction, axis=1)))
strlabel="C:/tmp/speech_commands_train/conv_labels.txt"
labels_list= [line.rstrip() for line in tf.io.gfile.GFile(strlabel)]
top_k = prediction.argsort()[-5:][::-1]
for node_id in top_k:
human_string = labels_list[node_id]
score = predicted_indices[node_id]
print('%s (score = %.5f)' % (human_string, score))
test_accuracy = calculate_accuracy(predicted_indices, expected_indices)
confusion_matrix = tf.math.confusion_matrix(expected_indices, predicted_indices,
num_classes=model_settings['label_count'])
Error message
human_string = labels_list[node_id] TypeError: only integer scalar arrays can be converted to a scalar index
Thank you in advance for your help.
From the error message you are trying to index into a list using something that is not an integer.
You need to check what top_k is, it looks like it might be some multi-dimensional array which you can't use to index into labels_list. Or alternatively it could be that the data shapes are okay but the type is wrong, you might need to cast the data from float to int to index into labels_list.