이것은 내가 뭘하려고 오전 라인으로 toReplace
라인 beReplaced
교체입니다왜 행렬과 벡터를 연결하는 것이 잘못 되었습니까?
max_max=200
beReplaced=T.matrix()
toReplace=T.matrix()
timeArray=T.arange(max_max)
def f(v,k,w):
return T.concatenate([w[:k],v,w[k+1:]],axis=0)
result,_=theano.scan(f,
sequences=[toReplace,timeArray],
outputs_info=beReplaced)
theano 내 코드입니다. 내가하는 방식은 w
, v
및 lower
parter의 상단 부분이 w
입니다.
v
은 toReplace
입니다. 여기
Traceback (most recent call last):
File "/Users/qiansteven/Desktop/NLP/RNN/my.py", line 20, in <module>
outputs_info=np.zeros((5,5),dtype=np.float64))
File "/usr/local/lib/python2.7/site-packages/theano/scan_module/scan.py", line 745, in scan
condition, outputs, updates = scan_utils.get_updates_and_outputs(fn(*args))
File "/Users/qiansteven/Desktop/NLP/RNN/my.py", line 16, in f
return T.concatenate([a,b,c],axis=0)
File "/usr/local/lib/python2.7/site-packages/theano/tensor/basic.py", line 4225, in concatenate
return join(axis, *tensor_list)
File "/usr/local/lib/python2.7/site-packages/theano/gof/op.py", line 611, in __call__
node = self.make_node(*inputs, **kwargs)
File "/usr/local/lib/python2.7/site-packages/theano/tensor/basic.py", line 3750, in make_node
axis, tensors, as_tensor_variable_args, output_maker)
File "/usr/local/lib/python2.7/site-packages/theano/tensor/basic.py", line 3816, in _make_node_internal
raise TypeError("Join() can only join tensors with the same "
TypeError: Join() can only join tensors with the same number of dimensions.
어떤 문제입니다 ???????????
바꾸기 위해 조각을 채우는 것이 내 목표이며, 바꿀 수는 없습니다. 그리고'toReplace'를'non_sequence'에 넣으면'output'의 모양이 바뀌어 무효가됩니다. 해결책은'v.dimshuffle ('x', 0)'을 연결하는 것이고 그것은 희미한 문제를 해결합니다. 감사합니다. –