2017-06-05 3 views
1

私はtheanoとlasagneで作業しています。TypeError:互換性のないブロードキャスト可能なディメンション。期待(False、)、得た(True、)

私はBatchNormを使用しようとしていますが、このエラーが発生しています。誰かが私を導くことができますか、間違っているかもしれませんか?あるいは、私はこの不一致を持つ変数の名前を得ることができますか?

ありがとうございます!

EDIT1:

inputTarget = lasagne.layers.InputLayer(shape=(1,2,32, 32, 32), input_var=T.concatenate([tX, tY], axis=1)) 
network = lasagne.layers.SliceLayer(inputTarget, indices=slice(0, 1),axis=1) 
tX_new = lasagne.layers.get_output(network) 
network = lasagne.layers.batch_norm(network) 
tY_predicted = lasagne.layers.get_output(network) 
target= lasagne.layers.SliceLayer(inputTarget, indices=slice(1, None), axis=1) 

tY_new = lasagne.layers.get_output(target) 
loss = lasagne.objectives.squared_error(tY_predicted, tY_new).mean() 
updates = lasagne.updates.adam(loss, params, learning_rate=lr) 
train_fn = theano.function([tX, tY], [tY_predicted, loss, tY_new, tX_new], updates=updates) 

LOGS:

私はこのような何かしようとしている変数をチェックした後

Traceback (most recent call last): 
    train_fn = theano.function([tX, tY], [tY_predicted, loss, tY_new, tX_new], updates=updates) 
    File "/lib/python2.7/site-packages/theano/compile/function.py", line 326, in function 
    output_keys=output_keys) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 449, in pfunc 
    no_default_updates=no_default_updates) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 219, in rebuild_collect_shared 
    cloned_v = clone_v_get_shared_updates(v, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 219, in rebuild_collect_shared 
    cloned_v = clone_v_get_shared_updates(v, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 93, in clone_v_get_shared_updates 
    clone_v_get_shared_updates(i, copy_inputs_over) 
    File "/lib/python2.7/site-packages/theano/compile/pfunc.py", line 114, in clone_v_get_shared_updates 
    allow_convert=False) 
    File "/lib/python2.7/site-packages/theano/sandbox/cuda/type.py", line 185, in filter_variable 
    str(self.broadcastable))) 
TypeError: Incompatible broadcastable dimensions. Expected (False,), got (True,). 

を、私は、コードが平均のために壊れることを知っています。なぜ私は理解できません。

答えて

0

(自動的に)numanoとして放送しません。ブロードキャスト可能にするために必要な次元を手動で設定する必要があります。 hereのブロードキャストに関する素晴らしいチュートリアルがあります。このチュートリアルを経ても問題が解決しない場合は、コードと完全なトレースバックを共有してください。

+0

お返事ありがとうございます。私はすでにこのページを見てきました。チェックの後、私は平均のためのコードブレークを見ることができますが、私は理由を理解していません。私は本当に助けていただければ幸いです。 – RJain

+0

「平均」のための休憩は何を意味しますか? – Sentient07

+0

「平均」のチェックが行われているときにエラーが発生することを意味します。 – RJain

関連する問題