背景
我们的项目是对话系统的开发,具体要求是识别用户说的话,然后机器再给用户一个语音的反馈,实现多伦对话。看着要求简单其实里面大有文章,其中我们还需要将我们的整个对话系统移植到硬件设备之上,实现小型移动版的对话系统。在对话管理方面我们选择开源对话系统rasa,硬件方面我们选择树莓派(支持python的深度学习框架)。
硬件配置
树莓派4B:语音模块,python2.7和python3.7,树莓派系统(2019.07)
采坑简记
在树莓派上安装rasa最最最重要的就是版本对应,你的所有的其他库的版本如python,tf等等,都是要以rasa需要的版本为基准(rasa永远是老大)。其中最难受的就是安装TensorFlow了,rasa 1.4X需要tf 1.15.0,rasa 1.3X需要tf 1.14.0, rasa 1.2X需要tf 1.13.1。由于Windows上装过rasa1.3.9,所以直接pip去安装了,发现老是超时(坑:ctm的渣渣网速,当然已经换源了)或者没有满足的TensorFlow1.14.0版本,根本下载不下来(难道是源的问题)。我这一机灵(其实是傻)好吧那就去找树莓派支持的TensorFlow1.14.0,结果还真的有符合的版本(明明白白的写着 -tesorflow1.14.0-cp37-),激动 / 快乐的下载了先把TensorFlow1.14安装进去,然后安装rasa漫长的下载过程(这个过程当然是也很操蛋),rasa下载了几十个依赖库其中还有什么OpenCV之类的又慢网速又渣(mmp)。一番波折最后还是算顺利安装了(居然TF没有报错,大坑),开心试一下rasa init,~我日报错了~,说我的“policies”有问题,老哥这不是你的初始化小栗子吗?怎么会错,(傻得我改了下策略配置,但这是个大问题啊)经过各大群友的鉴定,结论是rasa环境问题,好吧我觉得也是!
经过上面我觉得TensorFlow和rasa没有问题,对比我的Windows(为什么要对比它,呜呜呜),我发现只有python版本不一样,Windows上面python3.6而树莓派上python是3.7,难道离成功只有给树莓派降个版本这么近吗?想想都开心~降降降,途中还有不断的咨询群友,顺便拉着我的师兄(嘿嘿嘿,在这把linux简单使用都学会了)一顿操作,下载不下来就编译源码,编译whl文件,改配置文件.....,最终成功装了python3.6可以用,但是python3.6的pip不能用,这可是大问题呀,没有pip后面的库怎么装到python3.6上呢(一顿操作软连接,还是如此)???期间遇到了国外的伙伴在树莓派上装成功了rasa,他的配置是TensorFlow1.14.0和python3.6、还有OpenCV安装,使得我坚信胜利就在眼前。打了鸡血,继续gogogo,当然......还是一直失败。
现在我想是不是树莓派板子问题或者说直接烧个python3.6的镜像进去,于是我找了三个板子,3B,3B+,4B,其实就是想看看有没有在上面默认装好python3.6的(我是傻的开始骗自己了吗),给树莓派降版本太难了。发现两个版子python都是3.5.3,但是rasa1.2X最低要求python3.5.4(不要问我为什么不看rasa1.X的,因为现在都rasa1.4.5了,1的功能不会太老?),苍天啊大地啊,先别哭。于是我下载了近期的所有的树莓派镜像(老子就不信没有python3.6),下载、初始化、烧写,知道这过程多痛吧!发现是清一色的python2.7和python3.5.3 和 python2.7和python3.7,对就是没有py3.6。接着看看是不是版子问题,给3B和3B+安装TensorFlow1.14.0和rasa 1.3X,一切那么平静,最后还是policies有问题(我又转回去了)。
在第二天早上,我默默的翻着rasa版本,查看着所有依赖库的版本,突然看到了下图:
因为不知道什么时候,记得rasa需要TensorFlow1.15 和1.14,就没有去看rasa 1.2X。因为首先,树莓派官网有满足python3.7的版本TensorFlow1.14.0,而且外国伙伴也装好了,还有觉得Windows上可以,也不想装那么老的,怕许多功能用不了。好吧!1.2X版本也行吧,有比没有的好,开始pip..............当然安装好了,运行也能实现我的简单功能,超级开心,兴奋!
安装注意
首先应该知道国内的源都有哪些,具体的参见我的博客,下载超时及时换源。
树莓派系统一定要选新点的,最起码保证有python3.7,但是不推荐装2019年7月以后的,说是不支持语音模块(具体问你的卖家X宝小姐姐)。
pip rasa时候,现在只有rasa 1.2X的可以,对应TensorFlow1.13.1。虽然有rasa 1.3的对应的tf1.14.0,但是那是坑,不要再去踩了。
安装过程最后可能会有点小问题,但都是更新一些库的问题,百度下就解决了。
最好还是使用卖家的镜像,其中已经装好了声卡驱动(如果有语音模块)等等比较方便,但是一定注意我上面说的问题。
遇到换源后还是下载不下载的库,我们按照提示地址直接下载whl文件,手动安装即可。