我试图训练我的CSV数据进行预测。我使用Tensorflow来训练数据。我第一次使用Tensorflow,不知道如何正确使用它。我希望得到你的支持。
我的CSV数据的x轴是62(行数),y轴是46377(列数)。"class
"列中显示字母。在x1,y1,z1... x21,y21,z21
列中是我用手做手势创造的字母的坐标。
class x1 y1 ... y21 z21
A 0.187087 0.668525 ... -0.024700 0.220235
B 0.202503 0.669253 ... -0.107100 0.240229
....
C 0.248009 0.676325 ... -0.070317 0.278087
C 0.245750 0.658381 ... -0.077429 0.282217
D 0.235889 0.643202 ... -0.080697 0.262705
....
我想做的是借助字母形状使单词可识别。例如,如果我用手显示字母A,字母A应该显示为文本。为此,我需要a来预测显示哪个符号。我试图实现这一点,但我不知道这是正确的。我刚刚使用了稠密层。我如何实时测试它们?我尝试加载模型,但不幸的是,没有显示任何东西。
老实说,我不知道错误在哪里…当你说"但不幸的是,什么都没有显示"时,你说的是print(letter)
和cv2.putText()
?
因为查看你的代码,我没有看到任何可能导致空letter
变量的错误,特别是如果你没有得到任何错误信息,如"train和test之间的difference n_col"。你试过调试吗?我要做的事情是:
- 确保LabelEncoder工作正常(1个字母->1类)
- 模型是否工作?(不是在性能方面,而是在检查输入和输出形状是否符合您的期望方面)。为此,我个人倾向于将训练和测试(sklearn.预处理)分开,只在训练上训练,然后制作一个model.predict(x_test),以确保输出形状是正确的和合适的精度(我认为如果没有超参数调谐,您将无法找到最佳精度)
- 我也会检查模型是否。保存并建模。加载工作(检查是否得到相同的x_test与相同的x_test与不保存/加载模型相同的结果)
- 如果这一切都是好的,那么是你的预测导致了问题。我试着在我这边看看
row
和X
的形状,它似乎与x_train的形状相似,所以如果问题在这里,那就很奇怪了。 - 我没有足够的经验来调试cv2.putText(....),所以如果问题在这里,我不能帮助你,对不起。
我和你一样是Tf的初学者,所以我可能错过了一个小细节,但对我来说算法似乎是正确的