Theano:函数内部的张量变量的形状

时间:2016-07-06 21:12:52

标签: python neural-network theano

说我有这个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是一个符号变量,但我找不到如何在函数内找到张量变量的形状。

2 个答案:

答案 0 :(得分:1)

您可以尝试使用theano.tensor.shape来获取相关对象的形状,或者更直接地,您可以使用theano.tensor.ones_like

答案 1 :(得分:0)

Theano使用“type”(参见Tensor basics

了解对象的形状

因此x.type.dtype,x.type.ndim,x.type.broadcastable,为您提供有关张量变量的类型和形状的一组很好的信息。