Update to Theano dev version. There was update to it since the last release that could help you.
Fred Le 11 oct. 2016 01:31, "狄凯" <[email protected]> a écrit : > Hi guys, I'm trying to use theano bilinear_upsampling function to write a > custom layer for Keras. > I just failed to make a simple function with it. > Below is my example showing this failure: > > import theano.tensor as T > from theano import function > from theano.tensor.nnet.abstract_conv import bilinear_upsampling > x = T.tensor4('x') > y = bilinear_upsampling(x, 2) > > I get the following error: > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/home/dikai/bin/anaconda2/lib/python2.7/site-packages/ > theano/tensor/nnet/abstract_conv.py", line 569, in bilinear_upsampling > row * ratio, col * ratio)) > File > "/home/dikai/bin/anaconda2/lib/python2.7/site-packages/theano/tensor/var.py", > line 327, in reshape > return theano.tensor.basic.reshape(self, shape, ndim=ndim) > File > "/home/dikai/bin/anaconda2/lib/python2.7/site-packages/theano/tensor/basic.py", > line 4526, in reshape > newshape = as_tensor_variable(newshape) > File > "/home/dikai/bin/anaconda2/lib/python2.7/site-packages/theano/tensor/basic.py", > line 208, in as_tensor_variable > raise AsTensorError("Cannot convert %s to TensorType" % str_x, type(x)) > theano.tensor.var.AsTensorError: ('Cannot convert (None, None, > Elemwise{mul,no_inplace}.0, Elemwise{mul,no_inplace}.0) to TensorType', > <type 'tuple'>) > > I thought the problem was because I didn't specify batch_size and > num_input_channels of the bilinear_upsampling function, so I tested the > following code: > > import theano.tensor as T > from theano import function > from theano.tensor.nnet.abstract_conv import bilinear_upsampling > x = T.tensor4('x') > y = bilinear_upsampling(x, 2, batch_size=x.shape[0], > num_input_channels=x.shape[1]) > > I got a different error: > > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File "/home/dikai/bin/anaconda2/lib/python2.7/site-packages/ > theano/tensor/nnet/abstract_conv.py", line 542, in bilinear_upsampling > filter_flip=True) > File "/home/dikai/bin/anaconda2/lib/python2.7/site-packages/ > theano/tensor/nnet/abstract_conv.py", line 241, in conv2d_grad_wrt_inputs > integer_types, type(None))) > AssertionError > > I also checked the source code that raised this error: > > # checking the type of input_shape > for dim in [0, 1]: > assert isinstance(input_shape[dim], (theano.tensor.TensorConstant, > > integer_types, type(None))) > > I don't know if this is a bug or not. Or can anyone provide a working > example that upsamples a 4D tensor using this function (assuming actual > shape of x is known only at runtime)? > > -- > > --- > 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. > -- --- 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.
