我正在使用梯度下降和逻辑回归在ruby中编写机器学习算法。
算法工作正常,但在ruby中,矩阵之间的点积非常慢。
我开始使用gem RubyPython,它允许你将像numpy
这样的python库导入ruby并使用它的函数。
numpy
的表现令人印象深刻。该应用程序开始运行速度提高了1000%,但我总是在中途获得segmentation fault
。
有没有人知道如何加速ruby中2个矩阵的点积?
答案 0 :(得分:5)
Ruby实际上有一个内置的matrix
库。你可以通过调用
require 'matrix'
您创建一个矢量对象并获取它的内在产品。例如,让我们创建两个向量
a = Vector[1,3,-5]
b = Vector[4,-2,-1]
a.inner_product(b)
=> 3