最近水了一篇论文,导师觉得非常满意,关于机器学习算法改进的。当然算法改进后对一些问题的处理确实有了一定的性能提升,然后他觉得独乐乐不如众悦乐,让我把这套算法加一个 GUI 写成以后可以留下来给别人用的软件
😂😂😂😂可是小弟以前是做 PHP 的,现在用 Python 也只停留在命令行写算法的阶段。
所以来求助一下万能的 V 友们,现在算法的源程序基本已经完成了,调用的库主要是:
1. numpy
2. scipy
3. sci-kit learn
不知道用 web 框架然后再接入算法可行么,与调用的那些库能兼容么,然后是 Django 、 Flask 还是 web.py 更好?接触了下 Django 发现和 PHP 的开发差距蛮大的,不知道另外两个可要好点
QT 的话我看有人用这个做过,不过相对 WEB 框架这套就更不熟悉了,有没有熟悉的大神推荐一个学着比较迅速的,因为时间也紧迫……
Thank All
1
wizardforcel 2015-11-20 10:18:05 +08:00 via Android
数据可视化还是 web 比较方便一点 各种现成的 js 库
我当时拿 java+weka 做了个挖掘的东西 没用 web 所以只能苦逼的用 swing+jfreechart 结果自然是不如用 web 的其他组漂亮 php 用框架的话其实和 py 差别也不大 只是 php 可以不用框架写 然后就非常非常乱 框架是减少迁移所需的经验以及增强团队交接的这么一个东西 |
2
jadecoder 2015-11-20 10:22:32 +08:00
如果界面简单的话就直接 tkinter
|
3
seki 2015-11-20 10:28:19 +08:00
框架可以来简单的,比如 flask 或者 Bottle
喜欢传统型 gui 的话也有 python-cef 之类的 |
4
wizardoz 2015-11-20 10:30:14 +08:00
web 和单机给人的感觉上就不是一个级别的。
如果不想现学 Django 的话,可以找一个消息队列来连接 PHP 和 Python ,用 PHP 来做啊。 |
5
thomaspaine 2015-11-20 10:35:58 +08:00
pyQt?
|
6
jimrok 2015-11-20 10:37:07 +08:00
D3 的库?
|
7
nevin47 OP @wizardforcel 重点在于 WEB 能接入那些库么,算法必须在这三个库的框架下进行
|
8
nevin47 OP @jadecoder tkinter 最后能编译成跨平台的软件么
@seki 我不知道这些框架能不能接这些第三方库的…… @wizardoz negative ……太复杂了,不适合分发 @thomaspaine 能打包么…… @jimrok D3 是啥…… |
9
ctftemp 2015-11-20 11:32:19 +08:00 via Android
web.py 非常简单,一天学会。如果你会前端或有人帮你做前端很快就能搞定。 pyqt 不推荐,环境配置太麻烦,难以部署,而且如果没学过 qt 的话学习成本也挺高的。
|
10
Narcissu5 2015-11-20 11:34:17 +08:00 via Android
会在客户机上调用系统功能么(比如写文件),没有的话果断 web 吧
|
11
jimrok 2015-11-20 11:35:15 +08:00
@nevin47 不知道可以问 google. https://github.com/mbostock/d3/wiki/Gallery
|
12
nevin47 OP |
13
allan888 2015-11-20 11:42:20 +08:00
这种软件真的没人在乎界面,能跑起来就谢天谢地了,命令行都行。
|
14
jadecoder 2015-11-20 11:42:58 +08:00
@nevin47 tkinter 是 python 自带的,不需要编译打包。只要你不调那些 win32 API 就是跨平台的
|
16
nevin47 OP |
17
jadecoder 2015-11-20 13:57:57 +08:00
@nevin47 可以是可以,但是我感觉你搞错方向了,要做个给普通人的 MP3 播放器都是巨大的工程,何况一个机器学习程序。这件事的难度完全不在打包
|
18
Owenjia 2015-11-20 14:01:33 +08:00
试下 bottle? 上手挺快的。打包可以试下 ex_freeze 。
|
19
zjqzxc 2015-11-20 15:16:26 +08:00
如果仅限于 windows , Tkinter 是最简单暴力的选择。 Linux 下需要装 tkinter 库,一个命令的事儿也不麻烦。 mac 下不清楚,可以 import 出来,但好像官方文档说这个 tkinter 不是官方维护的还是什么。。
其实我想说的是,既然熟悉 php 那就用 php 写,自己怎么方便怎么来;这种没有固定需求的事儿,无论做成什么总要有人吐槽的(用 qt 有人嫌你的界面难看或者不好用,用 python web 有人说还得开浏览器太麻烦),还不如直接用对自己最省时间的方法解决,以后谁有意见谁自己重写。 |
20
wizardforcel 2015-11-20 15:23:35 +08:00 via Android
|
21
BUPTGuo 2015-11-20 15:27:08 +08:00
@wizardforcel 感觉正是我现在做的事。。。每次都被老师吐槽图太难看了
|
22
nevin47 OP @zjqzxc PHP 去写重构这些算法和模型我选择狗带
@jadecoder 算法已经完成了,命令行可以跑通,现在需要一个 GUI 来供别人操作而已 @Owenjia 回头看看,我现在是 mac 下开发,但是要提供给 mac/windows 这两个平台使用,而且需要打包的 @wizardforcel 算法已经做好了,参数是自动寻优……现在就是要做 web 或者桌面端 |
23
cnkiller 2015-11-20 15:48:00 +08:00 via Android
这两天在看的东西, web+aauto.web 用 go 两个 exe 完成
就是客户端不能跨平台 |
24
g00001 2015-11-20 17:28:17 +08:00
aardio( aauto ) 做客户端 EXE 小、轻、快、做出来的界面小而美,提供非常多的 web 控件,象 webkit,webform,htmlayout...一堆,而且还带了个 python 解释器支持 python 代码、当然缺点是限于 windows ,但桌面客户端跨平台意义真不大,在 PC 上其他操作系统的占有率基本可以忽略不计。
跨平台不能发挥专有平台的优势,增加不必要的复杂度,最麻烦的就是体积大,写个记事本软件界面一般般的就近百 MB ,体积大带来的不仅仅是下载传输慢,启动占用资源也大,各种坑就多,浪费的时间就多,欲哭无泪的时候就更多。 |
25
P0P 2015-11-20 19:10:39 +08:00
我看不懂有什么难度, v2 的水平也真是醉了。
最简单的你 python 撸一套 web 前端,顺便调用你后台不就行了,客户机可以打开浏览器直接访问,或者直接 pyqt 撸一发不就可以了,另外用 python 跨平台不是分分钟的事情吗。。有难度吗? |
26
jzfr 2015-11-20 20:33:52 +08:00
@lazydomino 就你最了不起了,看不起 V2 的水平那你来这里掉架干什么,先看懂别人在说什么再发脾气好吗 ? 你第一次接触 python 就马上能分分钟撸出能给别人用的软件 GUI 还 WEB 前端调用后台?撸了几分钟?
|
27
poke707 2015-11-20 21:20:26 +08:00
已有 command line 了吗?试试 https://github.com/chriskiehl/Gooey
|
28
nevin47 OP @lazydomino 你了解这几个包么?全是混写的包库随便去调用然后等着报错咯?既然抛出问题一是求助于大牛,二则是想看看大家的讨论积累些经验,你要觉得问题水平不高要不 show me the code ,要不 block 我右拐慢走不送
@jzfr 谢 @poke707 回头看看,看起来好黑科技的感觉…… |
29
julyclyde 2015-11-20 23:47:10 +08:00
python 和裸 PHP 的差别确实较大。不过 PHP 也有框架,以及 python 也可以写裸 CGI
“算法”类,我总以为会运行较长时间。如果这样,就不适合用 web 了,因为对浏览者、服务器,单次长事件运行都很不友好 |
31
nevin47 OP |
32
zhuangzhuang1988 2015-11-21 00:34:45 +08:00
界面? c#上.
|
34
chengzhoukun 2015-11-21 02:41:13 +08:00
flask 挺好的
|
35
daiv 2015-11-21 08:35:43 +08:00
@zhuangzhuang1988 界面是不是 c sharp 最简单了,针对 win
|
36
zjqzxc 2015-11-21 12:39:43 +08:00
@nevin47 怪我没说清。。
我并不是说要用 php 重写,只是说把数据的展示部分用 php+一些前端技能展示出来。 毕竟“展示”功能只是个非核心的内容,没有必要再在这个非核心的东西上浪费过多时间。虽然这样会给以后的使用者带来一定的麻烦。 |
37
shuimugan 2015-11-21 13:48:46 +08:00
既然是做 php 的,前端技能应该也有,可以考虑下 nw.js ,相当于把 html 打包成 exe,还跨平台,还可以调用 nodejs 的库,只要在里面各种命令执行就可以把代码结合在一起了
|
38
joshz 2015-11-21 18:42:14 +08:00
python 做科学计算,如果界面不太复杂,前端就用 TraitsUI 吧。一套 MVC 框架,使用起来比较简单,上手快,界面库可以用 QT 或者 wxWidgets 。
|
39
professorz 2015-11-21 23:51:41 +08:00
不是一个难度级别的
|