Python 循环LSTM模型预测

Python 循环LSTM模型预测,python,tensorflow,nlp,Python,Tensorflow,Nlp,我很好奇如何使用预先训练好的模型和标记化的权重在for循环中实现预测 目前,我给模型一个文本字符串,每个循环通过,它预测的情绪。我不能给它一个数据帧,因为我希望脚本能够实时运行,将口头讲话转录成文本,然后返回情感。然后继续到下一个人,依此类推 i、 e.遍历人员列表并调用loaded_model.predict(填充的_文本)每次迭代都会导致以下警告: 我的代码可以工作,但我收到了警告:tensorflow:在最近12次调用中,有7次调用触发了tf.function retracting。跟踪代

我很好奇如何使用预先训练好的模型和标记化的权重在for循环中实现预测

目前,我给模型一个文本字符串,每个循环通过,它预测的情绪。我不能给它一个数据帧,因为我希望脚本能够实时运行,将口头讲话转录成文本,然后返回情感。然后继续到下一个人,依此类推

i、 e.遍历人员列表并调用loaded_model.predict(填充的_文本)每次迭代都会导致以下警告:

我的代码可以工作,但我收到了
警告:tensorflow:在最近12次调用中,有7次调用触发了tf.function retracting。跟踪代价高昂,跟踪次数过多可能是由于(1)在循环中重复创建@tf.function,(2)传递不同形状的张量,(3)传递Python对象而不是张量。对于(1),请在循环之外定义@tf.function。对于(2),@tf.function具有实验性的_relax_shapes=True选项,该选项可以松弛参数形状,从而避免不必要的回溯。有关第(3)项,请参阅https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args 及https://www.tensorflow.org/api_docs/python/tf/function 有关更多详细信息。

我做了一些研究,但仍然感到困惑。有人能帮我分析一下/提供可能的解决方案吗

代码:

while len(存储)
我知道这与tf图有关,每次迭代都必须创建一个新的tf图。我不知道如何修复它。把产生警告的代码放进去。代码已经发布了。你有没有在while循环中用@tf.function修饰的方法?
 while len(storage) < len(jurors):
    print('Juror' + ' ' + jurors[len(storage)] + ' ' + 'is speaking:')
    init_rec = sr.Recognizer()
    with sr.Microphone() as source:
        audio_string = []
        audio_data = init_rec.adjust_for_ambient_noise(source)
        audio_data = init_rec.listen(source) #each juror speaks for 10 seconds
        audio_text = init_rec.recognize_google(audio_data)
        print('End of juror' + ' ' + jurors[len(storage)] + ' ' + 'speech')
      
        #storage of all spoken text (maybe convert to dict for key, value with juror name)
        storage.append(audio_text)
        audio_string.append(audio_text)
       
        #funtions
        cleaned = clean_text(audio_string)
        tokenized = tokenize_text(audio_string)
        padded_text = padding(audio_string, tokenized) #fix padded text elongating rows
        
        
        loaded_score = loaded_model.predict(padded_text)
        y_loaded_pred = np.argmax(loaded_score, axis = 1).reshape(-1,1)
        y_sentiment = np.vectorize(label_dict.get)(y_loaded_pred)