Neural network 千层面的目标值形状

Neural network 千层面的目标值形状,neural-network,theano,lasagne,Neural Network,Theano,Lasagne,我试着训练一个暹罗千层面模型,一批100个。 输入是X1(100x3x100x100)和X2(相同大小)以及Y(100x1),我的最后一层是一个输出维度的密集层,因为我期望值为0或1作为目标值。但是,它会为意外维度抛出一个错误。以下是代码摘录: input1 = lasagne.layers.InputLayer(shape=(None,3, 100, 100), input_var=None) conv1_a = lasagne.layers.Conv2DLayer(input1,

我试着训练一个暹罗千层面模型,一批100个。 输入是X1(100x3x100x100)和X2(相同大小)以及Y(100x1),我的最后一层是一个输出维度的密集层,因为我期望值为0或1作为目标值。但是,它会为意外维度抛出一个错误。以下是代码摘录:

input1 = lasagne.layers.InputLayer(shape=(None,3, 100, 100), input_var=None)
conv1_a = lasagne.layers.Conv2DLayer(input1, 
                                num_filters=24, 
                                filter_size=(7, 7),
                                nonlinearity=lasagne.nonlinearities.rectify)

pool1_a = lasagne.layers.MaxPool2DLayer(conv1_a, pool_size=(3, 3), stride=2)
第二层同上。 输出层:

dense_b = lasagne.layers.DenseLayer(dense_a,
                                num_units=128,
                                nonlinearity=lasagne.nonlinearities.rectify)
dense_c = lasagne.layers.DenseLayer(dense_b,
                                num_units=1,
                                nonlinearity=lasagne.nonlinearities.softmax)

net_output = lasagne.layers.get_output(dense_c)
true_output = T.ivector('true_output')
培训代码如下:

loss_value = train(X1_train,X2_train,Y_train.astype(np.int32))
print loss_value
ValueError:输入维度不匹配。(输入[0]。形状[1]=100, 输入[1]。形状[1]=1)导致错误的应用节点: 元素{Composite{((i0*i1)+(i2* log1p((-i3))}}(InplaceDimShuffle{x,0}.0,LogSoftmax.0, Elemwise{sub,no_in place}.0,SoftmaxWithBias.0)拓扑排序索引:113 输入类型:[TensorType(int32,行),TensorType(float32,矩阵), TensorType(浮点64,行),TensorType(浮点32,矩阵)]输入形状: [(1100),(100,1),(1100),(100,1)]输入跨步:[(400,4), (4,4)、(800,8)、(4,4)]输入值:[“未显示”、“未显示”, “未显示”、“未显示”]输出客户端: [[Sum{acc_dtype=float64}(Elemwise{Composite{((i0*i1)+(i2* log1p((-i3))}}}.0]]

尝试使用以下方法:

import draw_net
dot = draw_net.get_pydot_graph(lasagne.layers.get_all_layers(your_last_layer), 
verbose = True)

dot.write("test.pdf", format="pdf")
要以pdf格式转储千层面图(需要安装graphviz)

请尝试使用以下方法:

import draw_net
dot = draw_net.get_pydot_graph(lasagne.layers.get_all_layers(your_last_layer), 
verbose = True)

dot.write("test.pdf", format="pdf")

要以pdf格式转储千层面图(需要安装graphviz)

您还可以添加
dense\u a
的定义吗?您还可以添加
dense\u a
的定义吗?