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