机器学习:Tensorflow v/s Tensorflow.js v/s Brain.js

Machine Learning : Tensorflow v/s Tensorflow.js v/s Brain.js

我最近开始使用机器学习技术进行编码,并且一直在不同平台上实现的机器学习之间来回切换。我经常使用的框架是 Tensorflow (Python)、Tensorflow.jsBrain.js。我对他们有几个疑问。

  1. 为什么他们中的大多数人更喜欢 Tensorflow (Python) 而不是 Tensorflow.js。 Tensorflow 有哪些 Tensorflow.js 没有的特点?
  2. 我在互联网上看到的大多数人更喜欢使用 Tensorflow.js 而不是 brain.js,即使 brain.js 使用 JSON 对象,这不会让开发人员陷入困境创建 Tensors 和进行内存管理之类的麻烦。为什么人们更喜欢使用 Tensorflow.js,即使 brain.js 很容易实现?
  3. 如果我正在制作一个使用 Node.js 作为后端的网站,那么在长期 运行 中,哪个库是机器学习的首选库? Tensorflow.js 还是 Brain.js?还是我应该单独使用 Tensorflow 来进行机器学习?

我一直在搜索这些主题。而且我还没有对我的疑虑做出很好的解释。所以期待一个清晰而详细的解释:)

速度不同:Tensorflow > tfjs > brainjs。 Python可以直接编译成机器码,直接使用CPU和GPU,而tfjs是脚本语言,在客户端编译,必须使用<canvas>浏览器访问 GPU 与 brain.js 相同(我不确定 brain.js 是否是 GPU 加速的)

另一件事是 tensorflow 是一个完整的生态系统,它与不同平台的每个不同版本保持同步,因此将您的 python(keras) 模型移植到 tfjs 非常容易,如果你知道如何编写张量流模型代码,你可以用任何语言来完成。

如果您使用的是 nodejs,那么继续使用 tfjs 而不是切换到 python 的唯一原因是您更喜欢 JavaScript 语言,或者您因为工作而被迫使用在 JS 后端。

PS: 刚刚发布了一个新库 (ML5),它是 tfjs 的包装器并添加了很多东西,可以帮助您构建和使用模型,而无需深入的机器学习背景。