2

我需要(在应用程序中)使用针对多个 CPU 或 GPU 进行了高度优化的极限学习机(ELM)。由于 ELM 主要计算涉及 Moore-Penrose 伪逆和矩阵乘法,在 Theano 和 Caffe 中实现 ELM 的最佳选择是什么?

其次,是否可以使用其 python 接口在 Caffe 中实现新的学习算法(ELM)?

4

3 回答 3

1

如果我是你,我会使用 Theano,而不是 Caffe。Caffe不是围绕通用矩阵库进行编程的,因此对于 Caffe,您基本上会尝试使用螺丝刀打开啤酒。如果您确实想使用 C++,请查看 MrShadow 或任何其他基于 GPU 的矩阵库。

... 或者干脆将 Theano 与 Python 一起使用。

我不是 Python 的忠实粉丝,Theano 需要一些时间才能掌握,但它非常方便。

还有一两个 Python 的 ELM 库可以用作参考,当您需要测试自己的实现时,这是一个巨大的优势。

https://github.com/dclabert/Python-ELM

https://github.com/acba/elm

我没有使用过它们,所以我无法详细说明它们的状态,但有总比没有好。

你也可以看看 Keras 和 Lasagne,它们都是建立在 Theano 之上的神经网络库。就像 Caffe 一样,它们对 ELM 帮助不大,但它们会让你开始使用 Theano+nnets。然后您所要做的就是创建您自己的 ELM 层。

于 2015-07-31T23:29:27.107 回答
0

另一种解决方案是 PyTorch's torch.linalg.pinv(),针对 GPU 计算进行了优化:

计算矩阵的伪逆(也称为 Moore-Penrose 逆)input或批处理中的每个矩阵input

于 2021-03-26T12:28:17.397 回答
-2

就 Google 而言,Caffe 不会在“极限学习机”方面为您提供帮助。

其次,是否可以使用其 python 接口在 Caffe 中实现新的学习算法(ELM)?

不,那是不可能的。您将不得不在 C++ 中实现新的层和算法。之后,您可以通过 Python 处理它们。

有关 Caffe 的入门知识,请查看“使用 GPU 使用 Caffe 的神经网络”

于 2015-05-09T12:24:53.663 回答