传入函数时,Theano数据集维度错误

时间:2016-06-29 13:56:29

标签: neural-network theano lasagne

使用mlp的示例网络,其中包含2个隐藏层和两个丢包 所以我的load_data()函数有400行20个特征,我的标签数据集只有400行,一个变量将被分成X_train X_test y_train_y_test,有些被拿出来进行验证

我的烤宽面条输入图层是:

l_in = lasagne.layers.InputLayer(shape=(None, 20), input_var=input_var)

我的火车功能是train_fn = theano.function([input_var, target_var], loss, updates=updates, allow_input_downcast=True)

在这附近我的程序会跳过:train_err += train_fn(inputs, targets)

'Wrong number of dimensions: expected 1, got 2 with shape (20, 1).')

20,我理解,因为我在一侧传递了20个值,在标签方面传递了1个值,但我认为theano自动地将每个数组变平?

我该怎么做才能解决这个问题? 任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您传递给train_fn()的输入应为ndarray,其形状为(n, 20),其中n是您的小批量中的示例数。目标应为ndarray,形状为(n)(请注意,形状(1, n)(n, 1)不起作用)。尝试仔细检查实际传递给函数的数组是否与这些形状匹配。