IOError: [Errno 21] Является каталогом: '/ tmp / speech_dataset /' - PullRequest
0 голосов
/ 05 мая 2018

Я следую учебнику по распознаванию речи от 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 и знает, где может быть проблема?

Заранее спасибо!

1 Ответ

0 голосов
/ 05 мая 2018

ОК, я решил проблему, поэтому выкладываю ее здесь, если кто-то столкнется с такой же проблемой.

Произошла путаница с документацией TensorFlow. Я думал, что аргумент --data-url должен получить путь к моему набору данных, но этот аргумент следует использовать только тогда, когда вы хотите загрузить какой-то набор данных откуда-то. В случае, если у вас есть собственный набор данных, вам нужно явно определить его как пустой, т. Е. Дать команду --data-url=, а затем --data-dir должен быть путем к вашему набору данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...