【问题标题】:How to multiply a matrix with a vector with preserving the shape of the matrix in Tensorflow?如何将矩阵与向量相乘,同时在 Tensorflow 中保留矩阵的形状?
【发布时间】:2017-06-05 10:29:39
【问题描述】:

我知道,Tensorflow 中内置了一个 matmul 函数,但是如果我将矩阵 A 与向量 v 相乘,我会得到一个向量 w 作为结果。但是,我需要的是,给定矩阵 A: [[a, b],[c,d]] 和向量 v: [[e,f]],我想得到矩阵 B: [[ae, bf],[ce,df]]。矩阵和向量都是张量

【问题讨论】:

  • 在将向量整形为与矩阵 A 具有相同大小并重复行之后,您需要逐元素乘法。或者也许逐行迭代地重写它A?我没有使用 TF 的经验,但你需要的是 element-wie 乘法

标签: python tensorflow linear-algebra


【解决方案1】:

你可以使用numpy的multiply函数:

>>> import numpy as np
>>> a = np.array([[1,2],[3,4]])
>>> v = np.array([5,6])
>>> np.multiply(a,v)
array([[ 5, 12],
           [15, 24]])

然后,您可以选择使用.tolist() 将 numpy 数组转换为 Python 列表:

>>> np.multiply(a,v).tolist()
[[5, 12], [15, 24]]

【讨论】:

    猜你喜欢
    • 2021-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    • 1970-01-01
    相关资源
    最近更新 更多