张量范数autograd中的“形状未对齐”

时间:2018-05-02 08:25:56

标签: python tensor autograd

我想使用autograd来计算张量范数的梯度,如下所示:

from autograd import grad
import autograd.numpy as np

N = 100; X = np.random.normal(0,1,size=N);
tensor = np.outer(np.outer(X,X),X).reshape(N,N,N);

def cost(X):
    X_t = np.outer(np.outer(X,X),X).reshape(N,N,N);
    return np.linalg.norm(tensor - X_t);
gradient_cost = grad(cost);

X_0 = np.random.normal(0,1,size=N);
gradient_cost(X_0)

我也尝试了不同的实现(例如使用我自己的规范或使用不同形状的张量)但我总是收到错误

  

ValueError:形状(100,100)和(10000,100)未对齐:100(暗淡1)!= 10000   (暗0)

0 个答案:

没有答案