RASA Chatbot Framework выдает ошибку во время обучения:fit() получил несколько значений для аргумента ключевого слова 'batch_size'

Я пытался тренировать чат-бота, созданного с помощью rasa, используя фрагмент

agent.train(data,augmentation_factor=50,
        epochs=500,
        batch_size=10)

и получил следующую ошибку. Я знаю, что это не ошибка rasa_core, а что-то, связанное с keras, вероятно.

rasa_core/policies/keras_policy.py", line 177, in train
    **params)
TypeError: fit() got multiple values for keyword argument 'batch_size'

Я новичок в построении ботов и никогда не занимался глубоким обучением Project до этого. Используя следующие зависимости rasa_core==0.12.x keras==2.1.6

2 ответа

У меня была такая же ошибка, и после нескольких поисков я нашел решение. Это не лучшее решение, но оно может помочь!

Перейдите в rasa_core\rasa_core\policy \keras_policy.py в строках 172-177 и удалите эпохи и аргументы batch_size из model.fit. Изменить это:

    params = self._get_valid_params(self.model.fit, **kwargs)
    self.model.fit(shuffled_X, shuffled_y,
                   epochs=self.epochs, batch_size=self.batch_size,
                   **params)

к этому:

    params = self._get_valid_params(self.model.fit, **kwargs)
    self.model.fit(shuffled_X, shuffled_y,**params)

Затем вы можете передать аргументы epochos и batch_size в agent.train()

Надеюсь, это поможет!

У моего друга была такая же проблема. У него установлена ​​последняя версия rasa_core. Однако keras_policy.py получил похожую проблему. Я дал ему свою версию keras_policy.py, и он заменил ее моей версией, и она сработала. Я знаю, что это не правильное решение, но вы можете использовать это как обходной путь

Другие вопросы по тегам