Django-Bokeh-pandas-sklearn-tensorflow

image.png

正常来说 我们自己做模型训练的时候要么就是spider 或者 pycharm 里自己跑,我司正在 整一个 人工智能平台,大家好像都知道 第四范式的先知平台,说实话 第四范式 前景不错,但是我有几个朋友从第四范式离职,我暂时对其保持观望,不过第四范式的boss 我看到过他的演讲,群里也有他,跟个教主一样,神叨叨的。

不过说来,我们自己跑模型 只是短暂的,我们还是要部署,可视化的训练,做到最简单,甲方客户喜欢用何种方式训练呢,当然是打开一个网页就可以,或者给他一个客户端,托拉拽 点击就完成了 训练 多好。

刚好 想发挥一下工程能力的余热, 在同事用java 搭建了 模型评估 web端,我想 干脆自己要不也整一下。
其实也比较简单,就是 组装一下嘛

如果想 组装成 mac 应用dmg 使用 pyqt5 py2app打包就可以整出来。

如果想 组装成 web 页面 ,使用 Django 框架就可以整出来

我比较熟悉 web端,在使用Django 开始搭建
使用 Django 2.0.4 版本
其实整个过程是在之前 自动化处理 hive 数据 连接ftps 数据传输 的基础上 想到了web端的搭建。
我要做的其实就是 在web 端 选择算法模型 ,填写参数,读取数据源,可视化训练模型,并可视化的显示模型评估效果,
其实这里最主要的 难点是数据web可视化

我们自己在IDE 跑模型 ,可视化 用的是 matplotlib 这个包,其实这个包 最后生成的是 python tkinter GUI界面,matplot 无法在web 浏览器中显示,所以 就要选择其他的替代品,业内最显赫的数据可视化 JavaScript 包是 D3.js ,不过 操作繁琐 ,并不太适合工程能力较弱的算法人员。所以就有了一个 matplot转D3的的一个 python包
http://mpld3.github.io/ mpld3
不用我多说,就是 convert 适配器。 这种转化我们可想,是 会 消耗更多计算资源,或者转化可能存在损失或者 种类少。不过也是很流行的。

今天我想介绍的是 Bokeh
简直是 web 可视化的神器
http://bokeh.pydata.org/en/latest/
真的是神到没朋友,也让我对python 这种胶水语言 刮目相看。
https://github.com/bokeh/bokeh

我 本地 pip 安装 的bokeh 版本是 0.12.15

最重要的是 Bokeh 可以和Django 无缝 连接。

在Django 使用bokeh中也踩了一个小坑,就是 Bokeh 的版本适配问题,刚开始我的 Bokeh在html 页面端引入的Bokeh 相关的js css各不相同,结果页面就显示 jsonObject 错误,我痛定思痛,都改成了一致的了,0.12.14,结果还是不可以,我监控 python后端的输出和 页面源代码,输出都是没有问题,可想而知是 bokeh js 有点问题

后来在 ss 看到 其实就是版本问题,14, 16 都不可以,那我就试试0.12.15,结果就通过。这说明 版本一致很重要。

我本地先用迅雷下载了 bokeh 的css js ,但是我页面为了加速,全部都暂时先用的 bokeh官方提供的 cdn

为了让Bokeh 支持更多的数据显示图型,需要安装 几个 pip包
pip install colorcet # 0.9.1
pip install networkx # 2.1

具体代码 demo 在这里
https://github.com/mullerhai/pycodegeo
参考
https://www.jianshu.com/p/8b4f17950777

https://stackoverflow.com/questions/49211950/i-just-upgraded-my-python-bokeh-to-0-12-4-i-get-error-json-object-has-wrong-type

  
    
    
    
    
    
    
    ```

你可能感兴趣的:(Django-Bokeh-pandas-sklearn-tensorflow)