Tensorflow:简单的音频识别网络教程错误:分配要求两个张量的形状匹配。 lhs shape = [12] rhs shape = [3]

时间:2017-10-05 06:27:54

标签: tensorflow speech-recognition

当我第一次使用开发人员自己提供的数据运行上面的tutorial时,培训和后续命令一旦训练完成就获得模型(python tensorflow / examples / speech_commands / freeze .py \ --start_checkpoint = / tmp / speech_commands_train / conv.ckpt-18000 \ --output_file = / TMP / my_frozen_graph.pb 工作得很好。我能够获得模型并进行测试。

但是当我添加一个包含一个单词的多个音频文件的我自己的数据的文件夹时,对于已经存在的文件并在所需的单词标志中选择该单词并运行必要的命令,培训就会很好但在得到模型(上面再次提到的命令)时,我得到以下错误:

InvalidArgumentError(参见上面的回溯):Assign要求两个张量的形状匹配。 lhs shape = [12] rhs shape = [3]

我如何克服这个问题?这是张量流中的一个错误吗?我已经检查过,发现之前训练的检查点文件可能会干扰新的训练。但即使我创建一个新文件夹来存储最新的检查点文件,问题仍然存在。

非常感谢。

1 个答案:

答案 0 :(得分:1)

这是因为您只有一个音频文件夹,即只有一个训练集,而在freeze.py中,您没有将其更改为您的标签,因此默认情况下它是采用现有的(10个标签+未知和沉默)13。

您只需转到freeze.py并将其更改为数据集而不是默认值。