首页 > 解决方案 > 带有自定义数据集的 TensorFlow lite 语音识别不起作用

问题描述

我正在使用 TensorFlow lite 示例,它们在此处用于语音识别。我想使用我自己的自定义数据集并训练模型并在示例中使用它,但是当我在这里使用 python 脚本训练我的自定义数据集时会出错。我已经使用数据集路径的自定义参数更改了 python 脚本并运行了脚本,但它给出了以下错误:

在此处输入图像描述

    Traceback (most recent call last):
  File "train.py", line 513, in <module>
    tf.compat.v1.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/tensorflow/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "train.py", line 235, in main
    train_fingerprints, train_ground_truth = audio_processor.get_data(
  File "/Users/pleximus/Documents/Projects/TensorFlow/Project1/new/speech_commands/input_data.py", line 575, in get_data
    background_index = np.random.randint(len(self.background_data))
  File "mtrand.pyx", line 743, in numpy.random.mtrand.RandomState.randint
  File "_bounded_integers.pyx", line 1260, in numpy.random._bounded_integers._rand_int64
ValueError: low >= high

我的自定义数据集链接在这里

标签: pythontensorflowmachine-learningspeech-recognitiontensorflow-lite

解决方案


尝试调整比特率。用于ffmpeg -i <file>获取波形文件的比特率。然后,在执行训练脚本时,使用该--sample_rate参数。

例如,我的文件的采样率为 44 kHz,然后我使用:

python tensorflow/examples/speech_commands/train.py --data_url= --data_dir=/tmp/speech_dataset/ --wanted_words=ok,test,mycommand --sample_rate=44000

推荐阅读