Theano infers that the shape of one variable is negative, which is not supposed to happen. Do you have any idea where that could come from? Are you able to build the graph with test values [1]?
If it works, then it may be an issue in the infer_shape method of a Theano Op. Could you share your code, or use function_dump [2] to help us reproduce the issue? [1] http://deeplearning.net/software/theano/tutorial/debug_faq.html#using-test-values [2] http://deeplearning.net/software/theano/library/compile/function.html#theano.compile.function.function_dump On Fri, Dec 16, 2016, junbo wang wrote: > Hi,I compile my code with flag > "THEANO_FLAGS='mode=FAST_RUN,floatX=float32,device=gpu0". I always get > the error message. How can i fix it ? > > Exception encountered during infer_shape: <type 'exceptions.AssertionError'> > Exception message: > Traceback: Traceback (most recent call last): > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 941, in get_node_infer_shape > [self.shape_of[r] for r in node.inputs]) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_op.py", > line 1662, in infer_shape > input_shapes=inner_ins_shapes) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_utils.py", > line 813, in infer_shape > local_traverse(o) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_utils.py", > line 804, in local_traverse > local_traverse(inp) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_utils.py", > line 804, in local_traverse > local_traverse(inp) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_utils.py", > line 804, in local_traverse > local_traverse(inp) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_utils.py", > line 809, in local_traverse > shape_feature.on_import(dummy_fgraph, out.owner, reason="dummy") > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1351, in on_import > self.set_shape(r, s) > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1140, in set_shape > shape_vars.append(self.unpack(s[i])) > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1062, in unpack > assert s_i >= 0 > AssertionError > > Traceback (most recent call last): > File "train_model.py", line 103, in <module> > sys.exit(main(state)) > File "train_model.py", line 89, in main > train_from_scratch(config, state, channel) > File "train_model.py", line 82, in train_from_scratch > model_attention.train_from_scratch(state, channel) > File > "/home/scw4150/wjb_workspace/new_caption/double_mem_cap7/model_attention.py", > line 2121, in train_from_scratch > model.train(**state.attention) > File > "/home/scw4150/wjb_workspace/new_caption/double_mem_cap7/model_attention.py", > line 1785, in train > extra + grads) > File "/home/scw4150/wjb_workspace/new_caption/double_mem_cap7/common.py", > line 188, in adadelta > profile=False, on_unused_input='ignore') > File "/usr/local/lib/python2.7/dist-packages/theano/compile/function.py", > line 326, in function > output_keys=output_keys) > File "/usr/local/lib/python2.7/dist-packages/theano/compile/pfunc.py", > line 486, in pfunc > output_keys=output_keys) > File > "/usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py", > line 1784, in orig_function > defaults) > File > "/usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py", > line 1651, in create > input_storage=input_storage_lists, storage_map=storage_map) > File "/usr/local/lib/python2.7/dist-packages/theano/gof/link.py", line > 699, in make_thunk > storage_map=storage_map)[:3] > File "/usr/local/lib/python2.7/dist-packages/theano/gof/vm.py", line > 1059, in make_all > impl=impl)) > File > "/usr/local/lib/python2.7/dist-packages/theano/scan_module/scan_op.py", > line 856, in make_thunk > on_unused_input='ignore') > File "/usr/local/lib/python2.7/dist-packages/theano/compile/function.py", > line 326, in function > output_keys=output_keys) > File "/usr/local/lib/python2.7/dist-packages/theano/compile/pfunc.py", > line 486, in pfunc > output_keys=output_keys) > File > "/usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py", > line 1783, in orig_function > output_keys=output_keys).create( > File > "/usr/local/lib/python2.7/dist-packages/theano/compile/function_module.py", > line 1465, in __init__ > optimizer_profile = optimizer(fgraph) > File "/usr/local/lib/python2.7/dist-packages/theano/gof/opt.py", line 98, > in __call__ > return self.optimize(fgraph) > File "/usr/local/lib/python2.7/dist-packages/theano/gof/opt.py", line 87, > in optimize > ret = self.apply(fgraph, *args, **kwargs) > File "/usr/local/lib/python2.7/dist-packages/theano/gof/opt.py", line > 235, in apply > sub_prof = optimizer.optimize(fgraph) > File "/usr/local/lib/python2.7/dist-packages/theano/gof/opt.py", line 83, > in optimize > self.add_requirements(fgraph) > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1471, in add_requirements > fgraph.attach_feature(ShapeFeature()) > File "/usr/local/lib/python2.7/dist-packages/theano/gof/fg.py", line 541, > in attach_feature > attach(self) > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1288, in on_attach > self.on_import(fgraph, node, reason='on_attach') > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1351, in on_import > self.set_shape(r, s) > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1140, in set_shape > shape_vars.append(self.unpack(s[i])) > File "/usr/local/lib/python2.7/dist-packages/theano/tensor/opt.py", line > 1062, in unpack > assert s_i >= 0 > AssertionError: ('The following error happened while compiling the node', > forall_inplace,gpu,grad_of_decoder__layers}(Shape_i{0}.0, > GpuElemwise{sqr,no_inplace}.0, GpuDimShuffle{0,1,3,2}.0, > GpuDimShuffle{0,1,3,2}.0, GpuDimShuffle{0,2,1}.0, > GpuSubtensor{int64:int64:int64}.0, GpuDimShuffle{0,1,2,3,x,x}.0, > GpuSubtensor{int64:int64:int64}.0, GpuDimShuffle{0,1,x}.0, > GpuDimShuffle{0,1,2,3,x}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuSubtensor{int64:int64:int64}.0, GpuElemwise{sub,no_inplace}.0, > GpuElemwise{mul,no_inplace}.0, GpuElemwise{mul,no_inplace}.0, > GpuSubtensor{int64:int64:int64}.0, GpuSubtensor{int64:int64:int64}.0, > GpuSubtensor{int64:int64:int64}.0, GpuSubtensor{int64:int64:int64}.0, > GpuSubtensor{int64:int64:int64}.0, GpuSubtensor{int64:int64:int64}.0, > GpuSubtensor{int64:int64:int64}.0, GpuSubtensor{int64:int64:int64}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuSubtensor{::int64}.0, GpuAlloc{memset_0=True}.0, > GpuSubtensor{::int64}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, GpuAlloc{memset_0=True}.0, > GpuAlloc{memset_0=True}.0, Shape_i{0}.0, Shape_i{0}.0, Shape_i{0}.0, > Shape_i{0}.0, Shape_i{0}.0, Shape_i{0}.0, Shape_i{0}.0, Shape_i{0}.0, > Shape_i{0}.0, vision_write1_W_hid_to_erase_train_reg, decoder_W_sel, > decoder_W_att_reads_to_hid, vision_write1_W_hid_to_add_train_reg, > decoder_U, text_read1_W_hid_to_conv_train_reg, > text_read1_b_hid_to_conv_train_unreg, decoder_W_reads_to_hid, > vision_write1_W_hid_to_key_train_reg, GpuElemwise{add,no_inplace}.0, > GpuFromHost.0, GpuDimShuffle{1,0}.0, GpuDimShuffle{x,0}.0, > GpuDimShuffle{1,0}.0, GpuDimShuffle{x,0,x,x}.0, GpuDimShuffle{x,x,0}.0, > GpuDimShuffle{1,0}.0, GpuDimShuffle{x,x}.0, GpuDimShuffle{1,0}.0, > GpuDimShuffle{x,0,x,x}.0, GpuDimShuffle{x,0}.0, GpuDimShuffle{x,0}.0, > GpuDimShuffle{x,0}.0, GpuDimShuffle{x,0}.0, GpuDimShuffle{x,0}.0, > GpuDimShuffle{x,0}.0, GpuDimShuffle{x,0}.0, GpuDimShuffle{x,0,1}.0, > GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, > GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, > GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,x,x}.0, > GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, GpuDimShuffle{x,0,1}.0, > GpuDimShuffle{x,0,1}.0, Shape_i{0}.0, Shape_i{3}.0, Shape_i{2}.0, > Shape_i{1}.0, Shape_i{0}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > MakeVector{dtype='int64'}.0, MakeVector{dtype='int64'}.0, > ScalarFromTensor.0, ScalarFromTensor.0, ScalarFromTensor.0, > ScalarFromTensor.0, decoder_U_att, GpuDimShuffle{1,0}.0, GpuReshape{2}.0, > GpuReshape{2}.0, GpuReshape{2}.0, GpuReshape{2}.0, GpuReshape{2}.0, > GpuReshape{2}.0, GpuReshape{2}.0, GpuReshape{2}.0, GpuReshape{2}.0, > GpuReshape{2}.0, GpuReshape{2}.0, GpuReshape{2}.0, GpuReshape{2}.0, > GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, > GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, > GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, > GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, GpuDimShuffle{1,0}.0, > GpuDimShuffle{1,0}.0), '\n') > > -- > > --- > 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.
