V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
py2cn
V2EX  ›  奇思妙想

想知道大家对国产开源的 MATLAB 怎么看?

  •  
  •   py2cn · 44 天前 · 8683 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我在 Gitee 上发起了一个基于 python 的开源数据处理工具 pyminer,类似 MATLAB,但是发布后经常被各种吐槽。

    常见槽点:
    1 、为啥不用 c++,为啥不用 java,为啥不是云端的形式,

    2 、我是上班族,精力有限,目前开发进度非常有限,想拉几个人跟我一起开发,结果 QQ 群加的人基本都是来围观的,一直不说话,不知道都咋想的

    3 、之前有个朋友参与比较多,结果后来跟群里其他人吵架了,2 个人都退群了。

    4 、有的人直接想把这开源项目挂到自己公司名下,说反正是开源的。

    5 、有的人要申请著作权

    6 、在 Gitee 上传后,有人让再上传到 github,上传后又没什么人参与,稀稀落落的 star 看着都没心情维护

    总而言之,在国内做开源真心累,出于情怀做个踏实的东西出来非常不容易!

    最后,想知道大家对国产开源的 MATLAB 怎么看?
    87 条回复    2020-10-29 05:00:05 +08:00
    ncepuzs
        1
    ncepuzs   44 天前
    域名没备案? http://www.py2cn.com/ 访问不了,Gitee Pages 也 404 了……
    py2cn
        2
    py2cn   44 天前
    @ncepuzs 再试试,刚才不知道咋回事确实打不开了,我又试了下,官网可以打开了,虽然服务器很廉价,但是还可以用
    maniaccn
        3
    maniaccn   44 天前
    @py2cn 网站没备案。或者备案掉了。
    shangyu7
        4
    shangyu7   44 天前 via Android   ❤️ 9
    口气挺大
    murmur
        5
    murmur   44 天前   ❤️ 2
    matlab 牛逼的是工具箱,面向不会编程的人的,做科研的 人小数据可以忍,半夜通宵跑也没事,但是你不能让别人学编程,而且自己的库学术上必须领先,还得够准确
    Cielsky
        6
    Cielsky   44 天前 via Android
    类似于 MATLAB,有 MATLAB 简单好用吗?功能更加强大吗?配套教程够详细吗?如果都没有,别人为什么要用你这个呢
    JohnLou
        7
    JohnLou   44 天前
    @Cielsky 。。。因为有人写不了论文啊。
    dlsflh
        8
    dlsflh   44 天前 via Android   ❤️ 4
    Octave 不行?
    Cielsky
        9
    Cielsky   44 天前 via Android
    @JohnLou 啊这,那这软件也不知道达没达到基本可用的地步。
    renmu123
        10
    renmu123   44 天前 via Android   ❤️ 1
    1. 推荐发布在 github,无论是讨论人数还是热度和 gitee 不是一个程度的,gitee 可以作为一个备份。
    2. 没有目前不想变形,建议直接解散 QQ 群,技术都会沦为开车群。小白整天提问,大佬也嫌烦,建议直接用 issue 进行维护,如果之后核心开发者变多了,可以拉点群讨论一下
    3. 如果核心用户是不会编程的小白,建议各个平台都打包好相应的可执行文件
    ncepuzs
        11
    ncepuzs   44 天前
    @py2cn 没查到你的备案,好像服务器是华为云的国内节点吧,自然是会被阻断的。
    imn1
        12
    imn1   44 天前   ❤️ 3
    运营和技术讨论是两码事,你似乎把他们混在一起了

    如果你只注重后者,把那些无关的话题关闭 issue 就好了,不要搞低门槛的群,换成技术性的 IRC 之类
    因为立场不同,怎么回复(好话|坏话)都没用,不要自己充当客服,不然就变成运营了

    如果你是注重前者,就是要推广,就是要多人用,那就要用运营 /客服心态,所有来骂的都要忍受

    我觉得你是想要前者,却没有运营的知识和能力
    suke971219
        13
    suke971219   44 天前
    加油
    jimmy3780
        14
    jimmy3780   44 天前
    @ncepuzs 应该是没备案导致的,直接用 IP 访问吧
    mxalbert1996
        15
    mxalbert1996   44 天前 via Android
    同意 8 楼,Octave 不香吗?
    nnqijiu
        16
    nnqijiu   44 天前
    你要做支持你,但是估计没人用
    mason961125
        17
    mason961125   44 天前
    MATLAB 的核心竞争力难道不是那些 toolbox 么...
    nonduality
        18
    nonduality   43 天前
    提几点看法:

    1 、pyminer 这个名字不好,取 datalab 啥的跟 matlab 对标,比较有辨识度,方便宣传(中国人给产品取名普遍很烂);

    2 、既然要吸取 matlab 的优点,就必须在产品的易用度上一开始就做得很好:用户界面吸取 matlab 的优点,并超越 Jupyter/Jupyter-Lab 这类产品。

    3 、另可以适当吸取 Excel 的优点。

    4 、库、工具箱什么的可以慢慢积累,但一开始就要有完善的架构,这样方便用户加入贡献。

    总之,这个东西要做好需要有很前瞻的想象力。
    flowfire
        19
    flowfire   43 天前
    用户需要的是开箱即用的东西。你这个为什么不定时发布 release 版本呢。。。。
    mathzhaoliang
        20
    mathzhaoliang   43 天前 via Android
    套了个壳,底下还是用的 numpy scope pandad,这算哪门子的国产 matlab 。
    jmc891205
        21
    jmc891205   43 天前
    你应该搞两个群
    一个是 pyminer-dev,另一个是 pyminer-user
    两个分别管理
    lambdaq
        22
    lambdaq   43 天前   ❤️ 2
    不用汉语编程你也好意思叫国产?还是用洋鬼子的英语啊

    不支持国产指令集你也好意思叫国产?支持 x86 就是给境外势力递刀子啊

    总结就是一句话:没有金刚钻。
    zetary
        23
    zetary   43 天前 via iPhone
    如果只是数值计算的话...我宁可去用 Julia
    seki
        24
    seki   43 天前   ❤️ 1
    不理解为什么要把开源和国产联系起来,如果是开源的但不是国人写的那就不能用的意思吗

    除了 octave,还有 scilab
    scilab 甚至还有对标 simulink 的 xcos
    twl007
        25
    twl007   43 天前
    Matlab 的仿真都是实际测试过的 所以做仿真的敢拿来直接用 Python 的仿真貌似误差还是很大的 Matlab 用的做多的地方其实还是仿真 而不是数据处理
    laike9m
        26
    laike9m   43 天前 via Android   ❤️ 3
    建议放弃。再造 Matlab 不是你一个人能做到的。想有人用你的项目,不如弄点更简单自己更能把控的东西。开源最重要的是想明白自己要什么,是为了开心,为了学习,还是想丰富简历,亦或是帮助别人,切勿头脑发热定一个不切实际的目标。
    superlc
        27
    superlc   43 天前 via iPhone
    这种框架性的东西,前期要么依托大学(MATLAB, caffe),要么依托大佬(numpy, julia),要么依托大企业(pytorch, tf),一开始就社区驱动的不太多

    如果能找到大佬背书,进展应该会顺利不少
    iwh718
        28
    iwh718   43 天前 via iPhone
    开啥源 做个收费的软件 先把部分功能做好卖 就没啥人喷乱七八下的槽点了 就可以慢慢改进了 狗头一下
    mathzhaoliang
        29
    mathzhaoliang   43 天前
    提醒:

    凡是写国产开源 matlab 标题的一律报以 99.9% 的怀疑。这个楼主并没有任何 "数值计算" 层面的开发,只是在 numpy scipy 之类的 python 库上面套了个壳。

    不要说个人了,开源社区这么多年也没有出现可以取代 matlab 的产品,这件事难度可想而知。

    matlab 由于它的应用广泛、稳定可靠,已经是具有军民两用性质的战略产品,从这个意义上讲它也是卡脖子产品。那些
    mathzhaoliang
        30
    mathzhaoliang   43 天前   ❤️ 2
    @mathzhaoliang 那些说用 julia/octave 的朋友,建议理解 matlab 对 octave 的区别和优势,以及重大基础工业软件国产化的意义。也许你现在的工作用 octave 或者 matlab 区别不大,(我想那你的工作工程价值恐怕也不大) ,但是未来十年,如果 matlab 生态深入了自动驾驶仿真、高超声速仿真、智能无人机集群控制呢?那时候还没有国产替代产品的话问题就很严重了。
    ifxo
        31
    ifxo   43 天前
    没必要的话还是算了,有三四种可替代的开源软件,大家已经用上了,你能做最好吗
    himself65
        32
    himself65   43 天前
    这样吧,题主连 Matlab 功能的 10%都没有实现,就在这里空谈“国产”Matlab 。

    这不就是画大饼+放卫星么? linus 开发 Linux,也是起码写了个能跑的 OS 然后每天发布开发进展,而题主的问题是这个项目有没有未来。那我只想答,问有没有未来的一律答没有未来,问情感问题的一律劝分手(支持#12 楼的说法)

    那么这有什么好谈的,结论就是:能做出来实属牛逼,做不出来意料之中。
    zy8848
        33
    zy8848   43 天前
    已 fork,持续关注,加油,奥给力
    zy8848
        34
    zy8848   43 天前
    @seki “如果是开源的但不是国人写的那就不能用的意思吗” 是的
    libook
        35
    libook   43 天前
    国内很多人都不理解开源究竟意味着什么,而且很多人连线上交流的基本礼节都没有,GitHub 上很多中文项目经常会遇到乱七八糟的 Issues,还记得那个“求不要更新了,学不动了”的 Issues 嘛,现实就是这样的。

    如果不想经营赚钱的话,建议关闭一切公共讨论渠道,设置 Issues 也都关掉,只留 Pull Request,要是真的感兴趣就提 Pull Request 贡献代码,没有任何入口水(可以用机器人清理明显是水的 PR )。贡献较多的人可以拉一个开发者小群,不那么乌烟瘴气。

    可以给用户提供支持方式,比如邮箱,或者问卷啥的。

    尽量用大开源项目背书的开源协议,如 MPL-2.0 (类似 GPL 但兼容“脚本及程序”的语言较好)、Apache 2.0 、MIT (可能对贡献者不大友好)等等,这些协议国际上有胜诉案例,有案例背书法律上有保障,当然有条件也可以针对国内法律咨询律师。

    最后我对“国产 Metlab”无感,你要是有个愿景,而且坚信这个愿景是靠谱的,就勇敢做下去就行了,喜欢你的产品的人自然会来用并支持你的工作,不喜欢的人就让他另请高明就好了。
    Taojun0714
        36
    Taojun0714   43 天前   ❤️ 3
    不要侮辱 matlab
    twl007
        37
    twl007   43 天前 via iPhone
    @zy8848 那我们是不是写软件的研究成果也要自己弄呢?用了别人的论文成果算不算全面自主呢? Matlab 凝聚了多少人的成果才成为现在这个样子的
    lazydao
        38
    lazydao   43 天前
    连个网站都整不明白你认真的么,,,
    h272377502
        39
    h272377502   43 天前
    空谈兴国
    py2cn
        40
    py2cn   43 天前
    @nonduality 大佬,你觉得 MatMine MatOpen 名字怎么样?之前我也想改名字来的,没想到好的
    baka
        41
    baka   43 天前
    numpy 本身参考 matlab 设计,你再包装 numpy 做个“开源 matlab”?
    你怎么不包装 linux 做个“开源 windows”呢?
    chihiro2014
        42
    chihiro2014   43 天前
    站在巨人的肩膀上,并不是什么错误= =
    inframe
        43
    inframe   43 天前
    贵 web 被阻断了哈哈哈哈
    买个国外的 vps 不香吗
    daweii
        44
    daweii   43 天前 via iPhone
    Octave 了解一下
    wormtooth
        45
    wormtooth   43 天前
    从目前来看,你做的应该是一个类似 jupyter notebook 的桌面版,而不是 Matlab 。如果你的项目能让人更好地交互使用 python,那也是极好的。
    py2cn
        46
    py2cn   43 天前 via Android
    @ncepuzs 谢谢,我的锅,备案确实掉了,前一天还能正常访问
    py2cn
        47
    py2cn   43 天前 via Android
    @flowfire 才来源两个月,开发进度比较慢,准备功能做的差不多了再打包
    py2cn
        48
    py2cn   43 天前 via Android
    @jmc891205 嗯嗯,谢谢,建议收下了!
    SecureCode
        49
    SecureCode   43 天前 via Android   ❤️ 1
    找加速帝领个经费,再宣传一波,
    kokutou
        50
    kokutou   43 天前 via Android   ❤️ 1
    你要明白一个事。。。
    如果一个东西真的没什么人用,
    那这个东西一般真的就没啥用。。。
    nl101531
        51
    nl101531   43 天前 via iPhone
    别拉群
    py2cn
        52
    py2cn   43 天前
    @SecureCode 参与的开发者都是上班族和学生,不认识啥有钱人哈,没见过经费长啥样,用情怀充值
    py2cn
        53
    py2cn   43 天前
    @laike9m 放弃是不可能放弃的,上班族的成就感就在这里了
    nonduality
        54
    nonduality   43 天前
    @py2cn 都不太好,要不然叫 TensorLab,Tensor 是张量,跟 Mat (matrix)向量对标,还包含了向量。如果它被人用了,你就叫 pytensorlab,或 TensLab,或 SMTLab (包含 Scalar, Matrix, Tensor )。

    至于产品的形态,你最好弄成模仿 Matlab 的语法,然后翻译成对应 Numpy 、Scipy 、Pandas 等的函数调用,当然用户也能直接写 Python 代码。

    总之,这需要非常有产品想象力,对 Python 和 Matlab 有深入的使用体验和开发体验,一旦搞成了,就是黑科技了。

    再就是,先别急着拉群了,先埋头开发几个月。
    laike9m
        55
    laike9m   43 天前
    @py2cn #52 是指放弃“国产开源的 MATLAB”。如果你想对标 Matlab,除了失败我想不到有别的可能。
    qcts33
        56
    qcts33   43 天前
    想法还是好的,但总觉得没有必要重复制造轮子。不说 Octave 和 Scilab 这类的,楼上说的 Jupyter 的用户界面也相当友好了,而跟楼主项目非常类似的还有个 spyder 。既然都是开源,没有必要纠结是不是“国产”,我觉得参与到现有项目的开发更能有所突破……
    gxgxxn
        57
    gxgxxn   43 天前
    十分支持楼主!虽然类似 Matlab 之类的工具非一人之力能够完成的,但楼主的尝试是一个好的开始,这点我自愧不如,虽然常常有许多类似的想法,却从未真正付诸实践,实在惭愧。那些说使用 Numpy 等库套壳大佬,难道使用已有轮子就不行吗? Matlab 同样使用大量已有工具库如 mkl 、fftw 之类。
    bookit
        58
    bookit   43 天前
    重大基础工业软件国产化的意义。。。。

    你在做 zf 工作报告吗?
    py2cn
        59
    py2cn   43 天前
    @bookit 你在说啥? 我一个程序员你跟我说这个,我就是上班族找点成就感
    zarte
        60
    zarte   43 天前
    想法不错,一点点来弄吧。
    py2cn
        61
    py2cn   43 天前
    @qcts33 因为 octave scilab 都不是中国人主导的啊,我想要做数据处理解决方案+中国人主导+开源
    py2cn
        62
    py2cn   43 天前
    @mathzhaoliang 目前正在建设自由函数库+算法库,正在探索 numpy 替代方案,正在研究 octave 语法解析,看得出来您是一位 MATLAB 资深大佬,诚意邀请您指导下我们项目,感谢!
    yolee599
        63
    yolee599   43 天前
    国产的东西说是开源,只是用户量少,最终都会走上收费的路子。
    a719031256
        64
    a719031256   43 天前
    @yolee599 这话同意,个人觉得 bsd 和 mit 协议才叫开源,其他的不过是打着开源的名义
    l0o0
        65
    l0o0   43 天前
    楼主是一个实干的同学,至少有想法之后自己付诸实施,现在也有了可用的成果了,这是十分让人佩服的。想必楼主在开发过程中也是披荆斩棘一路过来,能够坚持下来也十分不容易。你把自己的东西给外人看,肯定会有很多不同意见,也不用太在意这些噪音。坚持自己的初衷,好好研究,听取他人合理的建议,我想最后你这个作品肯定非常棒
    mathzhaoliang
        66
    mathzhaoliang   43 天前
    @py2cn 我支持你的探索,但我认为你的表述有误导的成分,做一个 matlab 的替代方案远比你想的复杂,而你目前做的和真正的工业软件开发并不搭边。

    1. "目前正在建设自由函数库+算法库"

    你可以介绍下你打算的函数库和算法库包含哪些内容吗?准备用什么语言实现?

    2. "正在研究 octave 语法解析"

    你可以介绍下你打算设计一门怎样的脚本语言吗?

    还有几个问题请你一并思考下:

    1. lapack 这种 fortran 库你打算重写吗?
    2. scipy 那么多优化算法你打算重写吗?
    3. 你打算怎样在语言中支持自动多线性并行、多核并行、GPU 加速?(特别你用的还是 Python)
    4. 未来如果指令集 /GPU/芯片等遭到收费 /禁运,你有支持龙芯指令集的计划吗?。

    PS: 凡是那些说用 octave 的都可以无视,那些人屁都不懂。那些说没戏,更不用鸟他们了。

    千里之行,始于足下,能从底层做一点点事情都很不错了。人还是要做困难的事情,围着 ui 打转没意思。
    shynome
        67
    shynome   42 天前 via Android
    做出来再看
    Taojun0714
        68
    Taojun0714   42 天前
    @mathzhaoliang 显然你也没明白 matlab 有多复杂,精华在 simulink, 把你说的东西都开发出来,大概是千分之一不到的东西。你个人开发个 windows 的进度预期是多少年,那开发 matlab 也不会少一年
    mathzhaoliang
        69
    mathzhaoliang   42 天前
    @Taojun0714  你发言的逻辑很成问题。

    "显然你也没明白 matlab 有多复杂" 何以见得,这种断言我不接受。

    "精华在 simulink, 把你说的东西都开发出来,大概是千分之一不到的东西" 给出你的量化过程,不要张口就来

    "你个人开发个 windows 的进度预期是多少年,那开发 matlab 也不会少一年" 两个完全不同的领域,需要的知识技能极大不同,没有可比性。
    py2cn
        70
    py2cn   42 天前 via Android
    @seki 我这里的国产是中国人主导的意思,希望不要误会,实际这个项目现在是一个团队一起在做了,scilab 不是我期望的样子,我们团队有研究 simulink 对标的项目,不是 pyminer 哈,希望有空在 gitee 上多关注下我们项目,另外,项目准备改名 MatOpen 请问你觉得怎么样?
    py2cn
        71
    py2cn   42 天前 via Android
    @mathzhaoliang
    1.目前函数库仍然使用 python 语言写的(有探索 c++版本算法库)
    2.不是设计语言,是使用 c++底层利用 octave 开源的代码进行解析 matlab 语言
    3.更底层的库,例如 numpy,scipy 暂时不重写
    4.GPU 加速有考虑用支持 gpu 的类 numpy 库
    5.设想中我们自建函数库作为中间层,底层库和芯片级的构建需要模仿开源库的接口完成,我们可以逐步替换
    py2cn
        72
    py2cn   42 天前 via Android
    @mathzhaoliang
    1.目前函数库仍然使用 python 语言写的(有探索 c++版本算法库 eigen )
    2.不是设计语言,是使用 c++底层利用 octave 开源的代码进行解析 matlab 语言
    3.更底层的库,例如 numpy,scipy 暂时不重写
    4.GPU 加速有考虑用支持 gpu 的类 numpy 库 cupy
    5.设想中我们自建函数库作为中间层,底层库和芯片级的构建需要模仿开源库的接口完成,我们可以逐步自恋建替换
    firefox12
        73
    firefox12   42 天前
    你只是在套壳, 一个木兰系统而已。
    mathzhaoliang
        74
    mathzhaoliang   42 天前
    @py2cn 使用 Python 的话,效率会有问题。比如循环的时候有一个 iter /gettitem 的调用,每次调用 ndarray 的函数还有一次 __dict__ 里面的查找,这些都是额外开销。第二是不方便实现多核和 GPU 处理。

    """更底层的库,例如 numpy,scipy 暂时不重写
    4.GPU 加速有考虑用支持 gpu 的类 numpy 库 cupy"""
    把自己绑在其它不可控的开源项目 (而且是多个) 上不可能实现对 matlab 的替代。
    IllBeBack
        75
    IllBeBack   42 天前   ❤️ 1
    这真是计算器和计算机的区别
    jedihy
        76
    jedihy   42 天前 via iPhone
    开源的一个还处于雏形的项目,吸引不到靠谱的人。
    hoyixi
        77
    hoyixi   42 天前
    国内做这种,就算做成了,大概率是给别人做嫁衣
    atrexl
        78
    atrexl   42 天前
    楼主加油。这就是中国的现状,干啥事都会有一群阴阳怪气的,做好自己就行。
    pokon548
        79
    pokon548   41 天前 via Android
    无论你学的是中文的数学,还是英文的数学,你学的始终是数学这一件事。

    感觉 LZ 在做“用中文再造一遍数学”的意思
    reus
        80
    reus   40 天前 via Android
    所谓国产,都是这套东西,包装一个国外的开源产品,然后宣称自主可控,宣称以后会替换掉其中的开源库,自主研发。例如鸿蒙。
    卡脖子?卡这类人的脖子,我支持!卡死最好!中国不需要这种北洋水师!
    py2cn
        81
    py2cn   29 天前
    @ncepuzs 前两天终于重新备案成功了,老哥可以再试试
    py2cn
        82
    py2cn   29 天前
    @maniaccn 是的,备案掉了,因为我把服务器从腾讯云改成华为云了,前两天重新备案成功了,老哥感兴趣可以再看下网站
    py2cn
        83
    py2cn   29 天前
    @jimmy3780 备案掉了,已经重新申请备案了,现在可以正常访问,可以再试试呢
    py2cn
        84
    py2cn   29 天前
    @murmur 看得出来你是个真正懂的,有兴趣加入我们开源团队一起研究吗,项目刚刚起步,需要很多大佬一起参与
    py2cn
        85
    py2cn   29 天前
    @flowfire 项目刚刚起步,之前一个人做了很久,但是受限于自身技术,现在开源出来,希望大家一起完善,完善后会发布正式版本的,开箱即用,不需要再下载其他的 python 包
    py2cn
        86
    py2cn   29 天前
    @inframe 是我操作不当导致备案掉了,现在已经重新备案了,如有兴趣可再次访问官网,谢谢!
    c0xt30a
        87
    c0xt30a   29 天前
    GNU Octave 是基于 GPL 的, 你直接 fork 它做一个就是,没有必要另起炉灶。

    https://www.gnu.org/software/octave/index
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4750 人在线   最高记录 5268   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 06:40 · PVG 14:40 · LAX 22:40 · JFK 01:40
    ♥ Do have faith in what you're doing.