• 数学库 图形库 机器学习库 随想


    本文是 我在 民科吧 帖 《opencv,python是不是用numpy代替了mat的作用?》  http://tieba.baidu.com/p/6450706166  

     

    里的 回复,  我在 帖 里是 K歌之王  。

     

    5 楼

    opencv 是一个 计算机 视觉库, numpy 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 

     

    你说用 numpy 代替了 mat , mat 是 matlab 或是 mathmaticas, 总之就是 那几大 数学软件,

     

    所以, 这里面 涉及 的 就是 图形学 和 数学软件, 还有 人工智能, 因为 视觉识别 还需要 机器学习, 我最近在这方面刚好有些研究,可以看看 我 前几天 在 本吧 发 的 帖:

    《丢翻图方程组 最小解 计算机 数值求解》 http://tieba.baidu.com/p/6439347267

    《我决定 开启 一个 人工智能 机器学习 技术 的 普及项目》 http://tieba.baidu.com/p/6426136823

     

    等等 。

     

    我 本来 就 计划 要 创立一个 数学软件 开源项目, 不久 应该 会 发帖出来 。

     

    6 楼

    接 5 楼 ,

    这些东西 是 一个 体系 的 , 图形学 需要 数学软件(库) 的 支持 来 实现 实数计算 和 图形函数 计算,

    所以, 这个 项目 首先 需要一个 数学软件 (库) ,

     

    出于 执行效率 的 考虑, 图形库 、数学库 、机器学习库 都要 用 C 语言 编程, 另一方面, 图形库 需要 和 底层 打交道, 也需要 C 语言 编程,

     

    我好像 听到了 有人 说 “C++” …… ? 别跟我说 C++, C++ 带来的可能不是 效率 而是 糟糕 。

     

    目前 我写的 数学计算 的 小程序 都是用 javascript 写的, 这样是为了 运行 和 演示 方便, 用 浏览器 打开 就可以 运行, 同时, 这些程序 主要是 展现 算法, 并不过多 考虑 执行效率, 或者说, 不会去考虑 作为 底层库 的 执行效率 。

     

    所以, 若 我们 开展 这个 项目, 底层库 当然 会用 C 语言 写, 算法可以参考 现有 的 javascript 程序 。

     

    一个 简单 的 图像识别, 比如 手写输入, 或者 简单点, 给一个 图片 , 识别 汉字, 这完全可以用 javascript 写 。

     

    有关 图形学, 我会在 适当 的 时候 发帖 探讨 。

    will20100602: 回复 K歌之王 :这是ocr吗,有好点的开源库吗,我用tesseract那个不怎么好用

    K歌之王: 回复 will20100602 :不是 OCR, 也不是 tesseract, 我说的是 自己实现 一套 数学库 图形库 机器学习库 。  

    零度民科: 回复 K歌之王 :对不起,机器人使用C++ 是最棒的,在机器人身上用PY或java怕不是想让机器卡成PPT?

    tensor: 如果你想用js写机器人的话,那你就得移植一个js引擎(比如说v8)上来。那还是要用c++

    lgxysI: 回复 K歌之王 :你能不能说话别带空格。你又不是AI,吧友们也不是AI。

    8 楼

    回复 6 楼 @青岛小哥29 (零度民科) ,

    主要是 我不太 喜欢 C++, C++ 背 的 包袱 太多, 代码 难懂, 而且 对 平台 的 依赖性 很高, 或者说 平台兼容性 不好,

    但 我 后来 想了一下, C 语言 没有 继承 多态, 有时候 会 比较 麻烦, 所以用 C++ 也可以,但 我想 尽量 用 C 语法 加上 简单 的 面向对象 语法 就可以, 不要使用 C++ 的 复杂语法 和 多种 编程范式 。

    另外, 在 2019 年 或者 2018 年, 据说 .Net Core (可能是 3.0)已经 宣称 性能 无限接近 C++ ……

    tensor: net引擎本身就是c++写的。另外我以前做某比赛的时候,用结构体成员的方式,把c语言写成了面向对象

    tensor: 另外你想在机器人上用c#?你怕是没考虑过那玩意儿在非windows平台上移植的难度

    零度民科: 机器人的相关开发C++在效率上确实比PY好不少,虽然深度学习方面依旧要用PY进行训练,但是一般用py训练完后用C++读取训练集,至于你觉得C++是糟糕,也许只是因为PY(或者js)和C++ 适用的领域不同罢了。而且我确实没有听说过会有人用js来开发机器人

    tensor: 回复 零度民科 :js也不是不能用,但是v8引擎实在太大。个人感觉机器人上用的脚本语言,lua比python好。

    K歌之王: 回复 tensor :lua 的 执行效率 好像 比 Python 高 。

    9 楼

    回复 8 楼 @惨叫发生器 (tensor) , C 语言 是可以 写成 面向对象 的 效果  , 封装 继承 可能比较容易, 多态 可能 比较 麻烦 。

    C# 在 非 Windows 平台 上 的 使用 可以考虑 .Net Core, .Net Core 自己的宣传 是 很 牛 ……

    V8 确实 是 js 的 运行平台, 就像 .Net 是 C# 的 平台, 也可以把 V8 的 C++ 代码 移植 嵌入 到 各种 平台 或者 程序 里, 不过 我 在 本帖 说的 不是这种, 本帖 里 提到 的 是用 js 写 算法 demo 。  

    tensor: 多态有啥麻烦的?用函数指针就行了。net移植非win平台各种报错贼恶心

  • 相关阅读:
    JS伪3D 图形透视效果
    源码安装apache及配置转发
    SpringSecutiry权限管理手册
    解决SMARTFORMS 中table 控件单行跨页的问题
    Cluster Table
    uva-133 The Dole Queue
    第三届蓝桥杯C++本科B组决赛解题报告(更新中)
    uva-673 Parentheses Balance
    VS2010不能编译SQLServer2005的Microsoft.SQLServer.ManagedDTS.dll的解决方法
    IOS设计模式学习(21)享元
  • 原文地址:https://www.cnblogs.com/KSongKing/p/12213712.html
Copyright © 2020-2023  润新知