ValueError: Ошибка при проверке целевого объекта модели: список массивов Numpy, передаваемых в вашу модель, не соответствует ожидаемому размеру модели. - PullRequest
0 голосов
/ 11 октября 2019

Я попытался реализовать последовательную архитектуру в политике keras rasa. Хотя сеть обучена, но когда я предсказываю ответ, она выдает ошибку, как показано ниже,

File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\channels\channel.py", line 387, in on_message_wrapper
await on_new_message(message)

File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\channels\channel.py", line 65, in handler
    await app.agent.handle_message(*args, **kwargs)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\agent.py", line 488, in handle_message
    return await processor.handle_message(message)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\processor.py", line 90, in handle_message
    await self._predict_and_execute_next_action(message, tracker)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\processor.py", line 353, in _predict_and_execute_next_action
    action, policy, confidence = self.predict_next_action(tracker)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\processor.py", line 180, in predict_next_action
    action_confidences, policy = self._get_next_action_probabilities(tracker)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\processor.py", line 565, in _get_next_action_probabilities
    tracker, self.domain
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\policies\ensemble.py", line 343, in probabilities_using_best_policy
    probabilities = p.predict_action_probabilities(tracker, domain)
  File "C:\ICA\restaurantbot\custom_policy.py", line 353, in predict_action_probabilities
    y_pred = self.model.predict(X, batch_size=1)
  File "c:\apps\sa2446\lib\site-packages\tensorflow\python\keras\engine\training.py", line 1096, in predict
    x, check_steps=True, steps_name='steps', steps=steps)
  File "c:\apps\sa2446\lib\site-packages\tensorflow\python\keras\engine\training.py", line 2382, in _standardize_user_data
    exception_prefix='input')
  File "c:\apps\sa2446\lib\site-packages\tensorflow\python\keras\engine\training_utils.py", line 323, in standardize_input_data
    str(len(data)) + ' arrays: ' + str(data)[:200] + '...')
ValueError: Error when checking model input: the list of Numpy arrays that you are passing to your model is not the size the model expected. Expected to see 2 array(s), but instead got the following list of 1 arrays: [array([[[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
         -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, ...

Я попытался реализовать, как предложено здесь, Глубокая ошибка соответствия обучения (список Numpy)массивы, которые вы передаете своей модели, не соответствуют ожидаемому размеру.)

Но в результате я получил следующую ошибку:

    Traceback (most recent call last):
  File "C:\Apps\sa2446\Scripts\rasa-script.py", line 11, in <module>
    load_entry_point('rasa', 'console_scripts', 'rasa')()
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\__main__.py", line 76, in main
    cmdline_arguments.func(cmdline_arguments)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\cli\train.py", line 77, in train
    kwargs=extract_additional_arguments(args),
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\train.py", line 40, in train
    kwargs=kwargs,
  File "c:\apps\sa2446\lib\asyncio\base_events.py", line 579, in run_until_complete
    return future.result()
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\train.py", line 87, in train_async
    kwargs,
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\train.py", line 169, in _train_async_internal
    kwargs=kwargs,
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\train.py", line 203, in _do_training
    kwargs=kwargs,
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\train.py", line 331, in _train_core_with_validated_data
    kwargs=kwargs,
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\train.py", line 66, in train
    agent.train(training_data, **kwargs)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\agent.py", line 713, in train
    self.policy_ensemble.train(training_trackers, self.domain, **kwargs)
  File "C:\Users\SA2446\AppData\Roaming\Python\Python37\site-packages\rasa\core\policies\ensemble.py", line 90, in train
    policy.train(training_trackers, domain, **kwargs)
  File "C:\ICA\restaurantbot\custom_policy.py", line 282, in train
    shuffled_X.shape[1:], shuffled_y.shape[1:]
  File "C:\ICA\restaurantbot\custom_policy.py", line 256, in model_architecture
    decoder_target_data = np.ndarray(decoder_target_data)
ValueError: sequence too large; cannot be greater than 32

Следовательно, у меня естьпопытался выдать входные данные в виде массива, который выдает ошибку из-за несоответствия размеров массива

 model.fit(np.array(encoder_input_data, decoder_input_data), 
          np.array(decoder_target_data),
           batch_size=FLAGS.batch_size,
           epochs=epochs)

Могу ли я получить предложения по решению этой проблемы?

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