python - 带有自定义数据集的 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
我的自定义数据集链接在这里。
解决方案
尝试调整比特率。用于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
推荐阅读
- c - 为什么要在 c 上进行函数式编程
- swift - 如何为按钮中的文本添加边框?
- mule - 如何将数组中的数据映射到 Mule Dataweave 中具有不同索引的另一个数组输出
- sql - SQL-Sum Values 直到达到另一列中的特定值
- java - setOnFocusChangeListener 导致 edittext 崩溃
- java - 如何通过retrofit2自动将更多数据添加到adapterview和recyclerview中的无限滚动?
- amazon-web-services - 统计 S3 存储桶的各个文件夹中的对象
- c++ - 计算 n*n 棋盘中的矩形
- c# - 我收到错误 Autofac.Core.DependencyResolutionException
- python - 对具有多种数据类型的索引列表的 Pandas 系列对象进行切片