我学习了python中的情感识别程序
我尝试了here source,我运行了代码
('size of training set is:', 379, 'images')
predicting classification set
Traceback (most recent call last):
File "prepare_model.py", line 72, in <module>
correct = run_recognizer()
File "prepare_model.py", line 63, in run_recognizer
correct = sum(1 for id, image in enumerate(prediction_data) if fishface.predict(image)[0] == prediction_labels[id])
ict(image)[0] == prediction_labels[id])
File "prepare_model.py", line 63, in <genexpr>
correct = sum(1 for id, image in enumerate(prediction_data) if fishface.predict(image)[0] == prediction_labels[id])
TypeError: 'int' object has no attribute '__getitem__'
我使用Ubuntu 16.04LTS 64bit / python 2.7 / opencv3.1.0 + contrib
请帮助我......我在第63行改变了
correct = sum(1 for id, image in enumerate(prediction_data) if fishface.predict(image)[0] == prediction_labels[id])
到
correct = sum(1 for id, image in enumerate(prediction_data) if fishface.predict[image][0] == prediction_labels[id])
但不起作用......
如何修复?
答案 0 :(得分:0)
这一行:
firebase.database().ref('...').once('value').then(function(snapshot) {
...
});
显示您预测是一个功能。
当您将(...)更改为[...]时,python会将fishface.predict(image)[0] ...
解释为必须将第一个元素(索引0)设置为值的列表。因此出现上述错误。
所以在Python中,x(...)是一个函数调用,而x [..]是一个列表或字典,在其上需要一个元素。