我正在关注TensorFlow的语音识别教程(链接:https://www.tensorflow.org/versions/master/tutorials/audio_recognition#advanced_training),当我运行以下命令时,它会下载TensorFlow提供的数据集,它运行完美。
python tensorflow/examples/speech_commands/train.py
但是,当我更改默认值时,它指向我的数据集,它会抛出以下错误:
Traceback (most recent call last):
File "/home/users2/lmn/.local/lib/python2.7/site-packages/tensorflow/examples/speech_commands/train.py", line 428, in <module>
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
File "/home/users2/lmn/.local/lib/python2.7/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "/home/users2/lmn/.local/lib/python2.7/site-packages/tensorflow/examples/speech_commands/train.py", line 106, in main
FLAGS.testing_percentage, model_settings)
File "/home/users2/lmn/.local/lib/python2.7/site-packages/tensorflow/examples/speech_commands/input_data.py", line 158, in __init__
self.maybe_download_and_extract_dataset(data_url, data_dir)
File "/home/users2/lmn/.local/lib/python2.7/site-packages/tensorflow/examples/speech_commands/input_data.py", line 204, in maybe_download_and_extract_dataset
tarfile.open(filepath, 'r:gz').extractall(dest_directory)
File "/usr/lib64/python2.7/tarfile.py", line 1693, in open
return func(name, filemode, fileobj, **kwargs)
File "/usr/lib64/python2.7/tarfile.py", line 1740, in gzopen
fileobj = gzip.GzipFile(name, mode, compresslevel, fileobj)
File "/usr/lib64/python2.7/gzip.py", line 94, in __init__
fileobj = self.myfileobj = __builtin__.open(filename, mode or 'rb')
IOError: [Errno 21] Is a directory: '/tmp/speech_dataset/'
我正在运行的命令是:
python tensorflow/examples/speech_commands/train.py --data_url=path/to/data/ --sample_rate=20000 --wanted_words=one,two,three,four,five,six,seven,eight,nine
现在,错误说'/ tmp / speech_dataset /'是一个目录,但我想它正在期待一个文件。当我查看train.py
文件时,找到了以下代码:
parser.add_argument(
'--data_dir',
type=str,
default='/tmp/speech_dataset/',
help="""\
Where to download the speech training data to.
""")
--data-dir
参数定义应存储下载数据集中文件的位置。但是,我根本没有改变,代码也不需要保存任何数据,因为我已经在我的计算机上有数据,我在--data-url
参数定义它们。在我看来,这是来自TensorFlow的错误。
有没有人在TensorFlow上有语音识别经验,知道问题可能在哪里?
提前谢谢!
答案 0 :(得分:0)
好的,我解决了这个问题,所以如果有人遇到同样的问题,我会在这里发帖。
TensorFlow文档存在一些混淆。我认为--data-url
参数应该获取我的数据集的路径,但只有当你想从某个地方下载一些数据集时才应该使用这个参数。如果您拥有自己的数据集,则需要将其明确定义为空白,即将以下内容添加到命令--data-url=
中,然后--data-dir
应该是数据集的路径。