ARM-software / ML-examples

Arm Machine Learning tutorials and examples

Home Page:https://developer.arm.com/technologies/machine-learning-on-arm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Printing predictions

Aishaj opened this issue · comments

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.