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

时间:2018-08-11 06:57:58

标签: tensorflow machine-learning tensorflow.js brain.js

我最近开始使用机器学习技术进行编码,并且在不同平台上实现的机器学习之间来回走动。我经常使用的框架是 Tensorflow (Python), Tensorflow.js Brain.js 。我对此有一些疑问。

  1. 为什么大多数人都喜欢Tensorflow(Python)而不是Tensorflow.js。 Tensorflow.js没有的Tensorflow有什么特色呢?
  2. 我在互联网上见过的大多数人都喜欢使用Tensorflow.js,而不是brain.js,尽管brain.js使用JSON对象,这不会使开发人员麻烦地创建Tensor并进行内存管理和其他工作。即使brain.js易于实现,为什么人们还是喜欢使用Tensorflow.js?
  3. 如果我要创建一个使用Node.js作为后端的网站,从长远来看,这将是为机器学习实现的首选库吗? Tensorflow.js还是Brain.js?还是我应该单独将Tensorflow用于机器学习?

我在这些主题上进行了很多搜索。对于我的疑问,我还没有很好的解释。因此,希望有一个清晰而详细的说明:)

1 个答案:

答案 0 :(得分:15)

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

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

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

PS: 刚刚发布了一个新的库(ML5),该库是tfjs的包装,并添加了许多内容,可帮助您在没有较深的机器学习背景的情况下构建和使用模型。