Python PYMC3矩阵乘法
Python PYMC3 matrix multiplication
我开始学习PYMC3了。我正在尝试使用 PYMC3 编写一个简单的矩阵乘法。基本上想学习和了解PYMC3中的算术运算是如何进行的。
下面是我的代码,
import numpy as np
import pymc3 as pm
dimension_N = 3
min = 0
max = 100
Matrix_A = np.random.randint(min,max,(dimension_N,dimension_N)).astype(np.uint8)
Matrix_B = np.random.randint(min,max,(dimension_N,dimension_N)).astype(np.uint8)
Matrix_C = np.zeros((dimension_N,dimension_N))
with pm.Model() as model:
c = pm.Normal("c", mu=0, sigma=1)
a = pm.Normal("a", mu=0, sigma=1, observed=Matrix_A)
b = pm.Normal("b", mu=0, sigma=1, observed=Matrix_B)
c = a.dot(b)
gph = pm.fit()
不确定这是否是正确的代码。你能帮我么 ?从我的观察变量 c returns 0。你能告诉我哪里出了问题吗?
撇开这里的模型不明确,我们仍然可以回答在使用 PyMC3 RandomVariable
对象时应该如何进行矩阵乘法。也就是说,PyMC3 中的 RV 是 theano.tensor.TensorVaribale
objects,因此,应该使用 theano.tensor.dot
方法对它们进行矩阵乘法。例如,
import theano.tensor as tt
tt.dot(a,b)
一般来说,请参考 the Theano Tensor Functionality documentation API 以使用 PyMC3 进行有效的数学运算。
我开始学习PYMC3了。我正在尝试使用 PYMC3 编写一个简单的矩阵乘法。基本上想学习和了解PYMC3中的算术运算是如何进行的。
下面是我的代码,
import numpy as np
import pymc3 as pm
dimension_N = 3
min = 0
max = 100
Matrix_A = np.random.randint(min,max,(dimension_N,dimension_N)).astype(np.uint8)
Matrix_B = np.random.randint(min,max,(dimension_N,dimension_N)).astype(np.uint8)
Matrix_C = np.zeros((dimension_N,dimension_N))
with pm.Model() as model:
c = pm.Normal("c", mu=0, sigma=1)
a = pm.Normal("a", mu=0, sigma=1, observed=Matrix_A)
b = pm.Normal("b", mu=0, sigma=1, observed=Matrix_B)
c = a.dot(b)
gph = pm.fit()
不确定这是否是正确的代码。你能帮我么 ?从我的观察变量 c returns 0。你能告诉我哪里出了问题吗?
撇开这里的模型不明确,我们仍然可以回答在使用 PyMC3 RandomVariable
对象时应该如何进行矩阵乘法。也就是说,PyMC3 中的 RV 是 theano.tensor.TensorVaribale
objects,因此,应该使用 theano.tensor.dot
方法对它们进行矩阵乘法。例如,
import theano.tensor as tt
tt.dot(a,b)
一般来说,请参考 the Theano Tensor Functionality documentation API 以使用 PyMC3 进行有效的数学运算。