需要使用rasa_nlu来搭建对话程序,但是介于“人见人爱”的tensorflow总喜欢给新老用户一些“不一样”的感受,再加上sara_nlu的维护者貌似还没有更新tensorflow2.X下的库,所以如果你像笔者一样,直接安装tensorflow的最新版本,那么直接运行一下程序可能会报错:

from rasa_nlu.training_data import load_data
from rasa_nlu.model import Trainer
from rasa_nlu import config
from rasa_nlu.model import Interpreterdef train_horoscopebot(data_json, config_file, model_dir):training_data = load_data(data_json)trainer = Trainer(config.load(config_file))trainer.train(training_data)model_directory = trainer.persist(model_dir,fixed_model_name="horoscopebot")def predict_intent(text):interpreter = Interpreter.load("./models/nlu/default/horoscopebot")print(Interpreter.parse(text))train_horoscopebot("./data/data.json", "./config.json", "./model/nlu")

然后报错一堆=_=,错误信息为无法找到tensorflow的某些方法,很显然是tensorflow版本的锅…

  • 解决方法1:如果你是Python3.6-的玩家,那么可以考虑安装版本号低于2.0的tensorflow。那里会有rasa_nlu源代码中所需的对应方法。
  • 解决方法2:直接修改rasa_nlu报错的源码。这个不困难,因为你完全可以根据报错再面向CSDN编程修改那些被官方丢弃的tensorflow的方法。此处仅仅呈现我遇到的错误的修改方法:

23行 AttributeError: module ‘tensorflow’ has no attribute ‘set_random_seed’
解决方法: 23行的import tensorflow as tf 改成

import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

278行 AttributeError: module ‘tensorflow.compat.v1’ has no attribute ‘contrib’
解决方法:278行的 reg = tf.contrib.layers.l2_regularizer(self.C2) 改成

 reg = tf.nn.l2_loss

尽管最后又多了一些警告,但是程序可以成功运行了。

......(若干WARNING =_=)
Epochs: 100%|██████████| 300/300 [00:00<00:00, 573.16it/s, loss=0.575, acc=1.000]

反正是成功运行了,如果嫌WARNING看着烦,可以加入一下语句来屏蔽WARNING

import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = "2"

rasa_nlu踩坑经历相关推荐

  1. 【golang程序包推荐分享】分享亿点点golang json操作及myJsonMarshal程序包开发的踩坑经历 :)

    目录[阅读时间:约5分钟] 一.概述 1.Json的作用 2.Go官方 encoding/json 包 3. golang json的主要操作 二.Json Marshal:将数据编码成json字符串 ...

  2. GPCC安装以及踩坑经历

    gpcc安装以及踩坑经历 官方下载地址文档 https://network.pivotal.io/products/pivotal-gpdb#/releases/29190 安装开始之前 chown ...

  3. 一次kvm嵌套虚拟化踩坑经历

    女主宣言 嵌套虚拟化就是虚拟化环境里再次进行虚拟化,简单的说就是虚拟机里运行虚拟机,听起来有点递归的感觉.那是不是可以无限嵌套下去呢?递归有终结条件,否则无限递归下去资源耗尽,嵌套虚拟化嵌套层次越深复 ...

  4. springCloud项目不能向EurekaServer 注册多个EurekaClient时(端口不一致)方法及踩坑经历

    spring cloud 问题说明:springCloud项目不能向EurekaServer 注册多个EurekaClient时(端口不一致)方法及踩坑经历: 前提--->已经能够通过Eurek ...

  5. uniapp 引入阿里矢量图标库的详细步骤及踩坑经历

    uniapp 引入阿里矢量图标库的详细步骤及踩坑经历 首先在阿里矢量图标库选择自己喜欢的图标 加购物车如下图 点击右上角的购物车 添加到项目 这里有坑 首先你不选中在线链接 你是看不到 @font-f ...

  6. 记一次成功把Vue2后台项目改造成Vite2的踩坑经历

    文章目录 前言 一.项目背景 1.1.为什么要选择Vite 二.迁移前的准备 2.1.补全.vue后缀 2.2.移动public/index.html的位置 2.2.1.通过vite-plugin-h ...

  7. yolov5-4.0环境搭建,零基础小白都能看得懂的教程。YOLOv5搭建的最快搭建方式,踩坑经历详谈)yolov5/yolov4/yolov3/yolov3通>>>>>>>>>>>>>>>>>第一章

    第一章:python最新YOLOv5-4.0环境搭建,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 环境准备: yolov5-4.0环境搭建整体说明 2,anaconda的 ...

  8. 记一次uniapp的踩坑经历

    前言 这几天在做一个app,打比赛用,使用的是uni+uView的组件库.这个组件库是半道加进来的,学弟推荐的,我看有组件的话确实会方便很多,而且他都是按需引入,不占用额外空间,挺好的,我也就直接拿来 ...

  9. 【踩坑经历】一次Asp.NET小网站部署踩坑和解决经历

    2013年给1个大学的小客户部署过一个小型的Asp.NET网站,非常小,用的sqlite数据库,今年人家说要换台服务器,要重新部署一下,好吧,虽然早就过了服务时间,但无奈谁叫人家是客户了,二话不说,上 ...

  10. 从零开始搞起 Disney BRDF源码编译(含踩坑经历)

    前情背景资料: 项目在Github上的源码地址:BRDF 1. 读官网的readme介绍 readme 里介绍了编译方式: How to compile BRDF Explorer for Windo ...

最新文章

  1. SAP QM QM11显示Quality Notification List
  2. mysql8.0其他机器访问_论文导读|基于机器学习的高速缓存预取
  3. 创建WebSocket服务器
  4. vc++ 6.0 堆栈_在C ++中使用链接列表实现堆栈
  5. Pandas period_range
  6. 弃用 Cookie!
  7. SVD decomposition and polar decomposition
  8. no active checks on server [192.168.1.107:10051]: host [ ] not found
  9. 世界各国英文简写一览表
  10. 获评优秀案例!IMG光线追踪技术实现卓越云游戏体验
  11. 解决Gmail不能正常登录的问题,并推荐几个小窍门 [转]
  12. 防火墙基础之路由器与防火墙单臂路由和DHCP接口地址池的配置
  13. 夜来风雨声,“网络应用层”知多少?
  14. 看完必会的正则表达式和递归
  15. Airbnb 北京地区数据可视化——用户篇
  16. UDP都是全双工通信的吗
  17. 微信视频号自助下单刷平台
  18. Java流程控制之do....while 循环的详解,看完你就会
  19. 小米路由器探测和测评本人亲测
  20. ubuntu14.04 酷我音乐盒版本

热门文章

  1. 又一大的技术站点域名被ClientHold了
  2. css 好看滚动条样式大全,CSS 个性化滚动条样式
  3. 计算机毕业设计Java-ssm办公自动化管理系统源码+系统+数据库+lw文档
  4. 六西格玛dfss_六西格玛设计(DFSS)的概念、核心及优势
  5. 相差天数时分秒_PHP 小方法之 计算两个时间戳之间相差的日时分秒
  6. html 恶意广告,电脑自动弹出恶意广告怎么处理
  7. 数据分析案例实战:科比数据集分析
  8. 香港希玛眼科集团第二届眼科精准医疗国际会议在京启幕
  9. 新晋流量操盘手(一行) 探索百度贴吧高阶引流玩法
  10. 织梦如何添html5播放器,织梦ckplayer视频播放器插件的介绍与使用