2017-10-05 21 views
1

当我运行上面的tutorial使用开发人员自己提供的数据的时候,训练和随后的命令一旦完成训练就获得模型(python tensorflow/examples/speech_commands/freeze.py \ --start_checkpoint =/tmp/speech_commands_train/conv.ckpt-18000 \ --output_file =/tmp/my_frozen_graph.pb )工作正常。我能够获得该模型并进行测试。Tensorflow:简单的音频识别网络教程错误:分配需要两张张的形状匹配。 lhs shape = [12] rhs shape = [3]

但是,当我添加一个包含一个单词的多个音频文件的我自己的数据的文件夹,到已经存在的文件夹并在-wanted字标志中选择该单词并运行必要的命令时,罚款,但在获取模型(再次提到上述命令)我得到以下错误:

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

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

提前感谢。

+0

你设法解决这个问题吗? –

+0

@Nati Krisi,是的问题解决了。如果你打开freeze.py,他们提到 – pravah

+0

@Nati Krisi,是的,问题解决了。如果你打开freeze.py,他们会提到训练命令和模型冻结中使用的标志应该是相同的。因此,我们不得不在训练命令*标记中提到--wanted_words = *提到上述命令。所以命令变成:python tensorflow/examples/speech_commands/freeze.py \ --start_checkpoint =/tmp/speech_commands_train/conv.ckpt-18000 \ --wanted_words = *在训练期间选择* output_file =/tmp/my_frozen_graph.pb – pravah

回答

0

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

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

相关问题