Which version of Theano are you using?
If you are using the 0.8.2 release, can you try the latest development version?

On Sat, Nov 12, 2016, [email protected] wrote:
> 
> I got the following errors when calling tensor.grad() to compute the 
> symbolic gradient of the finetune_cost of a hybrid DBN-RNN model.
> I tried changing the way this expression is formed in several ways without 
> any success.   I need help from experts.   A tar file of the source code 
> and data is attached here.
> 
> The pretraining code for file hybrid_array.py ran for 0.48m
> ... getting the finetuning functions
> Traceback (most recent call last):
>   File "/usr/lib/python2.7/pdb.py", line 1314, in main
>     pdb._runscript(mainpyfile)
>   File "/usr/lib/python2.7/pdb.py", line 1233, in _runscript
>     self.run(statement)
>   File "/usr/lib/python2.7/bdb.py", line 400, in run
>     exec cmd in globals, locals
>   File "<string>", line 1, in <module>
>   File "hybrid_array.py", line 494, in <module>
>     test_DBN()
>   File "hybrid_array.py", line 412, in test_DBN
>     learning_rate=finetune_lr
>   File "hybrid_array.py", line 253, in build_finetune_functions
>     gparams = T.grad(self.finetune_cost, self.params)
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 561, in grad
>     grad_dict, wrt, cost_name)
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1324, in _populate_grad_dict
>     rval = [access_grad_cache(elem) for elem in wrt]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_gra    term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 973, in access_term_cache
>     output_grads = [access_grad_cache(var) for var in node.outputs]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1279, in access_grad_cache
>     term = access_term_cache(node)[idx]
>   File "/usr/local/lib/python2.7/dist-packages/theano/gradient.py", line 
> 1113, in access_term_cache
>     input_grads = node.op.grad(inputs, new_output_grads)
>   File 
> "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_op.py", 
> line 2523, in grad
>     outputs = local_op(*outer_inputs)
>   File "/usr/local/lib/python2.7/dist-packages/theano/gof/op.py", line 611, 
> in __call__
>     node = self.make_node(*inputs, **kwargs)
>   File 
> "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_op.py", 
> line 430, in make_node
>     new_inputs.append(format(outer_seq, as_var=inner_seq))
>   File 
> "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_op.py", 
> line 422, in format
>     rval = tmp.filter_variable(rval)
>   File "/usr/local/lib/python2.7/dist-packages/theano/tensor/type.py", line 
> 233, in filter_variable
>     self=self))
> TypeError: Cannot convert Type TensorType(float64, 3D) (of Variable 
> Subtensor{:int64:}.0) into Type TensorType(float64, (False, True, False)). 
> You can try to manually convert Subtensor{:int64:}.0 into a 
> TensorType(float64, (False, True, False)).
> Uncaught exception. Entering post mortem debugging
> Running 'cont' or 'step' will restart the program
> > 
> /usr/local/lib/python2.7/dist-packages/theano/tensor/type.py(233)filter_variable()
> -> self=self))
> 
>     
> 
> -- 
> 
> --- 
> You received this message because you are subscribed to the Google Groups 
> "theano-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.



-- 
Pascal

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to