RASA Chatbot Framework 在训练时出错:fit() 得到关键字参数的多个值 'batch_size'

RASA Chatbot Framework gives error while training :fit() got multiple values for keyword argument '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'

我是机器人构建的新手,在 that.Using 遵循依赖关系之前从未参与过深度学习项目 rasa_core==0.12.x keras==2.1.6

我遇到了同样的错误,经过多次搜索,我确实找到了解决方案。这不是最好的解决方案,但它可以提供帮助!

转到 rasa_core\rasa_core\policies\keras_policy.py 的第 172-177 行并从 model.fit 中删除 epochs 和 batch_size arguemnts。 改变这个:

    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)

然后你可以在 agent.train()

中传递 epochos 和 batch_size 参数

希望对您有所帮助!

我的朋友遇到了同样的问题。他安装了最新版本的 rasa_core。然而 keras_policy.py 遇到了类似的问题。我给了他我的 keras_policy.py 版本,他用我的版本替换了它并且它起作用了。我知道这不是正确的解决方案,但您可以使用它作为解决方法