theano.function、theano.scanパラメータデータ型問題

1364 ワード

theanoでプログラミングするとき、変な問題に遭遇しました.同じデータでは、1つは正常に動作し、もう1つは動作しません.Debugモードでは、タスクの問題は見えません.
エラーは次のとおりです.
1、theano.funcationパラメータエラー
TypeError: TypeErro...  0.]]]))
> /home/mt/phrase-attenton/train.py(109)()
-> tc = train_fn(x.T, x_mask.T, y.T, y_mask.T, phrases, phrases_mask, sens_mask)
(Pdb) Traceback (most recent call last):
  File "train.py", line 109, in 
    tc = train_fn(x.T, x_mask.T, y.T, y_mask.T, phrases, phrases_mask, sens_mask)
  File "/usr/lib/python2.7/bdb.py", line 55, in trace_dispatch
    return self.dispatch_exception(frame, arg)
  File "/usr/lib/python2.7/bdb.py", line 96, in dispatch_exception
    self.user_exception(frame, arg)
  File "/usr/lib/python2.7/pdb.py", line 203, in user_exception
    self.interaction(frame, exc_traceback)
  File "/usr/lib/python2.7/pdb.py", line 210, in interaction
    self.cmdloop()
  File "/usr/lib/python2.7/cmd.py", line 130, in cmdloop
    line = raw_input(self.prompt)
、theano.scanエラー
IndexError: 'failed to coerce slice entry of type TensorVariable to integer'
以上のエラーは、numpy.arrayからlistタイプにデータ型を変換することによって実行できます.リストですがリストのサイズが一致するようにします.すなわち、行列が一致するとarrayに自動的に移行できます.
内部で自動変換され、listタイプをtheano.tensor.matrixに変換し、numpy.arrayを使用すると自動変換エラーが発生するような気がします.