【问题标题】:IOError: [Errno 21] Is a directory: '/tmp/speech_dataset/'IOError:[Errno 21] 是一个目录:'/tmp/speech_dataset/'
【发布时间】:2023-03-10 06:32:01
【问题描述】:

我正在关注 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 上使用过语音识别并知道问题可能出在哪里?

提前谢谢你!

【问题讨论】:

    标签: python tensorflow machine-learning io


    【解决方案1】:

    好的,我解决了这个问题,所以如果有人遇到同样的问题,我会在这里发布。

    TensorFlow 文档存在一些混淆。我认为--data-url 参数应该获取我的数据集的路径,但是只有当你想从某个地方下载一些数据集时才应该使用这个参数。如果您有自己的数据集,则需要将其显式定义为空白,即为您的命令提供以下内容--data-url=,然后--data-dir 应该是您的数据集的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-20
      • 2022-12-07
      • 1970-01-01
      • 2021-06-13
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多