机器学习:Tensorflow与Tensorflow.js与Brain.js的比较

43

我最近开始使用机器学习技术进行编码,并在不同平台上实现了机器学习。我经常使用的框架包括TensorFlow(Python)、Tensorflow.jsBrain.js,但我对它们有一些疑问。

  1. 为什么大多数人更喜欢使用TensorFlow (Python) 而不是Tensorflow.js? TensorFlow相比Tensorflow.js有什么特别之处吗?
  2. 尽管brain.js使用JSON对象且不需要开发者创建张量并进行内存管理等操作,但大多数网上看到的人还是更喜欢使用Tensorflow.js而不是brain.js。为什么人们更喜欢用Tensorflow.js,即使brain.js易于实现?
  3. 如果我正在制作一个使用Node.js作为后端的网站,长期来看应该选择哪个适用于机器学习的库?Tensorflow.js还是Brain.js?还是应该将TensorFlow专门用于机器学习方面?

我已经搜索了很多关于这些主题的内容,但是还没有得到一个明确和详细的解释来回答我的疑问。因此,希望能获得清晰明确的解释 :)


3
务必阅读 这里可以问什么问题?; 您正在询问三个不同的问题,它们本身就过于广泛和基于观点,因此在此处不属于主题。SO不是一个讨论论坛。 - desertnaut
1个回答

35
速度不同:Tensorflow > tfjs > brainjs。Python可以直接编译为机器代码并直接使用CPU和GPU,而tfjs是在客户端上被编译的脚本语言,必须像brain.js一样使用浏览器中的来访问GPU(我不确定brain.js是否加速了GPU)。
另外一个问题是Tensorflow是一个整个生态系统,针对不同平台的每个版本都保持同步,因此将您的python(keras)模型移植到tfjs非常容易,如果您知道如何编写Tensorflow模型,则可以在任何语言中进行操作。
如果您正在使用nodejs,唯一留在tfjs而不转换为Python的原因是您更喜欢JavaScript语言还是被迫使用它,因为您正在JS后端工作。
PS: 刚发布了一个新库(ML5),它是tfjs的包装器,添加了很多帮助您构建和使用模型的东西,而不需要深入机器学习的背景。

Brain.js在浏览器内运行时具有一些实验性的GPU支持。https://github.com/BrainJS/brain.js - Hylle
2
现在它(GPU支持)也可以在Node中运行。 - Robert Plummer
还有一个 @tensorflow/tfjs-node-gpu 包,用于进行 CUDA GPU 计算。 - hypers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接