说我有这个theano函数,它定义了一个神经网络层:
def layer(W, x):
b = np.array(np.ones(N)) # append 1 for intercept
newx = T.concatenate([x, T.stack(b)], 0)
return T.dot(W, newx)
我将它们(它是b矢量)连接到输入数据矩阵x的末尾,然后将其传递给W矩阵。问题是我需要指定b的长度。数据矩阵有N列,但我们事先并不知道。
我找不到如何在Matlab中正确地执行与size(x, 2)
相当的theano。我知道此时x
是一个符号变量,但我找不到如何在函数内找到张量变量的形状。
答案 0 :(得分:1)
您可以尝试使用theano.tensor.shape来获取相关对象的形状,或者更直接地,您可以使用theano.tensor.ones_like。
答案 1 :(得分:0)
Theano使用“type”(参见Tensor basics)
了解对象的形状因此x.type.dtype,x.type.ndim,x.type.broadcastable,为您提供有关张量变量的类型和形状的一组很好的信息。