在用theano编程时,遇到很奇怪的问题。同样的数据,一个运行正常 ,另外一个不能运行。Debug模式下,看不出任务问题。
出现的错误有以下:
1、theano.funcation参数错误
TypeError: TypeErro... 0.]]]))
> /home/mt/phrase-attenton/train.py(109)<module>()
-> 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 <module>
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)
2、theano.scan错误
IndexError: 'failed to coerce slice entry of type TensorVariable to integer'
以上错误可以通过将数据类型从numpy.array转为list类型。虽然是list但是list的大小要一致,即行列一致,可以自动的转为array。
感觉在内部经过一个自动转换,将list类型转为theano.tensor.matrix,要是采用numpy.array会导致自动转换出错。