python - AttributeError:模块“keras.backend”没有属性“_BACKEND”
问题描述
我正在关注一本关于构建聊天机器人的书,并在尝试开始交互式学习时继续遇到此错误。
完整的错误是这样的:
回溯(最后一次调用):文件“train_initialize.py”,第 18 行,在 agent = Agent("horoscope_domain.yml", policies = [MemoizationPolicy(), KerasPolicy()]) 文件“C:\Users\Max\ AppData\Local\Programs\Python\Python37\lib\site-packages\rasa_core\policies\keras_policy.py”,第 31 行,如果 KerasPolicy.is_using_tensorflow() 而不是图形,则在init 中:文件“C:\Users\Max\AppData \Local\Programs\Python\Python37\lib\site-packages\rasa_core\policies\keras_policy.py",第 48 行,在 is_using_tensorflow return keras.backend._BACKEND == "tensorflow" AttributeError: module 'keras.backend' has no属性“_BACKEND”
我的代码看起来像这样'''
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from __future__ import unicode_literals
from rasa_core import utils
import tensorflow.keras.backend
from rasa_core.agent import Agent
from rasa_core.policies.keras_policy import KerasPolicy
from rasa_core.policies.memoization import MemoizationPolicy
from rasa_core.policies.sklearn_policy import SklearnPolicy
if __name__ == '__main__':
utils.configure_colored_logging(loglevel="DEBUG")
training_data_file = './data/stories.md'
model_path = './models/dialogue'
agent = Agent("horoscope_domain.yml", policies = [MemoizationPolicy(), KerasPolicy()])
training_data = agent.load_data(training_data_file)
agent.train(training_data, augmentation_factor = 50, epochs = 500, batch_size = 10, validation_split = 0.2)
agent.persist(model_path)
'''
解决方案
看起来像过时的 API 代码;打开错误跟踪中的文件,并替换._BACKEND
w/ .backend()
:
# In "C:\Users\Max\AppData\Local\Programs\Python\Python37\lib\site-packages
# \rasa_core\policies\keras_policy.py", line 48:
# return keras.backend._BACKEND == "tensorflow" # <-- DELETE
return keras.backend.backend() == "tensorflow" # <-- PASTE
推荐阅读
- ffmpeg - ffmpeg:如何在使用 filter select='between(t,start,stop)+between...' 进行多次 (100) 剪辑时保持音频同步
- python - 选择一个随机列表,然后从该列表中提取信息
- java - spring boot and reactjs for frontend was working fine till i add security to the backend
- firebase - 如何限制应用程序的高级功能?
- sip - 我正在开发 RTP 服务器。我没有得到我的确认。我究竟做错了什么?
- swift - 从 iOS 13 UIDatepicker 转换到 iOS 14 UIDatepicker
- sql - 如何使用来自同一表的值在表上应用 RLS
- angular - Angular 材料日期选择器在 1 天前发送日期以及如何使用 Angular 材料日期选择器的时刻
- r - 如何从月度数据传递到季度数据?R 数据框
- android - Android MLKit 中的 ImageAnalyzer 和 VisionProcessor 之间有什么明显区别(如果有的话)?