【问题标题】:dot product between scipy sparse matrix and numpy arraysscipy稀疏矩阵和numpy数组之间的点积
【发布时间】:2012-12-20 14:49:31
【问题描述】:

我试图在 scipy 稀疏矩阵和 numpy.ndarray 之间找到点积。张量是指theano.tensor。 X 是稀疏矩阵,W_hidden 是 ndarray。 b_hidden 也是 ndarray。

 tensor.tanh(tensor.dot(X,self.W_hidden)+self.b_hidden)

但是,这条线路存在几个问题。我无法计算点积。除此之外,似乎我无法将常量 ndarray 添加到稀疏矩阵中,此外,我无法应用 tanh 函数。我得到的错误是:

 TypeError("Cannot convert %s to TensorType" % str_x, type(x))

非常感谢任何有关我如何解决此问题的帮助。

【问题讨论】:

  • 您能否详细说明您的对象的具体外观?另外,您能否将dot 操作、加法和tanh 操作分开,以便更好地深入了解错误?
  • w_hidden 是一个用随机数填充的二维 numpy 矩阵。 X 只是一维的。它是一行,大约 10,000 列。我也尝试过分离计算。与点积相关的错误是错误类型。与加法相关的错误是您无法将常数添加到稀疏矩阵中,这对我来说没有多大意义。

标签: python numpy


【解决方案1】:

我最近遇到了和你一样的两个问题,尽管我没有处理任何张量。如果您仍在寻求帮助:

1) 将 W_hidden 和 b_hidden 设为 numpy 矩阵而不是 ndarray。例如,如果 b_hidden 的形状为 (n,),则其矩阵形式的形状为 (n,1)。这将允许将其添加到另一个矩阵中,无论是否稀疏。

2) 使用 * 代替点,因为 X 和 W_hidden 都是矩阵。顺便说一句,W_hidden 的形状是什么?

【讨论】:

  • W_hidden 也是一个矩阵,但它的形状取决于用户的选择。我试图创建一个神经网络,因此用户可以选择网络的大小。
猜你喜欢
  • 2015-09-11
  • 2019-09-10
  • 2013-11-10
  • 2013-09-24
  • 2017-07-20
  • 2016-08-15
  • 2017-05-17
  • 2014-09-13
  • 1970-01-01
相关资源
最近更新 更多