将 Octave 代码集成到 mean-stack 网站

Integrate Octave code to a mean-stack website

(* superuser 不喜欢这个问题,所以我 post 在这里 *)

我在 Octave 中有一组脚本来进行机器学习算法。我还有一个网站 mean-stack。我的问题是是否有可能将此 Octave 代码集成到站点 Web 中,无论是前端还是后端。我是否必须重写 JavaScript 或 nodeJS 中的所有内容?

您有多种选择。从后端的角度来看:

  • 使用标准cgi solutions. Octave has a cgi package你可以使用。这将是我最好的选择。
  • 更一般地说,使用服务器端 'system' 调用服务器上的 运行 特定脚本,捕获文件等中的输出,然后在网络会话中读回这些文件
  • 尝试与开放的 Octave 会话通信并通过套接字执行命令(需要更大量的编程)
  • 尝试寻找第三方 javascript-octave 桥/接口(不确定是否存在 - this 出现在 github 但不知道它是否有效)

从前端的角度来看,您可能有幸找到在线代码执行服务,我现在不记得也不推荐实际名称,但我肯定在过去看到过此类服务的广告.

考虑到 npm 上缺少直接的 JS-Octave 桥,并且您可能主要使用 Octave 进行线性代数运算(矩阵运算等),一种选择是使用 math.js 库,它拥有所有这些操作。

是的,这意味着你必须 将您的 Octave 脚本转换为 JavaScript,但如果您了解它们在做什么,那将不会太难。 Robin Wieruch 有一篇很棒的博客 post,名为 Linear Algebra in JavaScript with Matrix Operations,展示了如何做到这一点。

或者直接进入 Tensorflow,它也内置了类似 Octave 的矩阵(张量)运算。

如果你在 MEAN 堆栈中,在我看来使用 JS 库更重要,而不是尝试集成外部 Octave 文件。 Tensorflow 可在 Node 和浏览器中运行,因此您拥有所需的一切。

对于那些最终可能会找到这个问题的人,现在我们有 TensorFlow.js, that can be used alongside MEAN stack. I am still looking for Octave based solution for JavaScript, no luck so far, decided to implement my own。因此,对于机器学习,我们有TensorFlow.js,对于数值模拟,您需要实现。给出的解决方案不是直截了当的,我想要一些现成的东西!