Ошибка речи Google Cloud - IndexError: индекс списка вне диапазона - PullRequest
0 голосов
/ 04 декабря 2018

Запустив следующий код и пытаясь организовать поток вызовов через облачную речь Google с помощью python, я получаю следующую ошибку: IndexError: список индекса выходит за пределы диапазона.

Я не могу понять, куда он падаетвниз, это работает, небольшие партии из 2 потоков и 10 файлов.Но когда я масштабируюсь дальше, я получаю следующую ошибку.Любая помощь будет принята с благодарностью.

def transcribe_c_gcs(gcs_uri):
  from google.cloud import speech_v1p1beta1 as speech

  client = speech.SpeechClient()

  audio = speech.types.RecognitionAudio(uri=gcs_uri)
  config = speech.types.RecognitionConfig(
    language_code='en-US',
    enable_word_time_offsets=True,
    enable_automatic_punctuation=True
    )

  operation = client.long_running_recognize(config, audio)


  reading = operation.result(timeout=90000)

  transcript_dict = {'Word':[], 'start_time': [], 'end_time':[]}

  for result in reading.results:
      alternative = result.alternatives[0]


      for word_info in alternative.words:
          word = word_info.word
          start_time = word_info.start_time
          end_time = word_info.end_time
          transcript_dict['Word'].append(word)
          transcript_dict['start_time'].append(
          start_time.seconds + start_time.nanos * 1e-9)
          transcript_dict['end_time'].append(
          end_time.seconds + end_time.nanos * 1e-9)


  comp = pd.DataFrame(transcript_dict)

  comp['id'] = [gcs_uri.split('_')[2] for _ in range(len(comp.index))]

  comp['version'] = [gcs_uri.split('_')[3] for _ in range(len(comp.index))]

return comp

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=2) as executor:
    results = executor.map(transcribe_c_gcs, filelist)

asyncres = pd.concat(results, axis=0)

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