使用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自动地将每个数组变平?
我该怎么做才能解决这个问题? 任何帮助将不胜感激!
答案 0 :(得分:1)
您传递给train_fn()
的输入应为ndarray
,其形状为(n, 20)
,其中n
是您的小批量中的示例数。目标应为ndarray
,形状为(n)
(请注意,形状(1, n)
和(n, 1)
不起作用)。尝试仔细检查实际传递给函数的数组是否与这些形状匹配。