Read this page, there is many tips to help debug that type of error:

http://deeplearning.net/software/theano/tutorial/debug_faq.html?highlight=mismatch

Fred

On Wed, Jul 20, 2016 at 1:34 AM, Hongxin Shao <[email protected]> wrote:

> Hi, I met the same problem.
> Have you figured out how to solve it?
>
>
> 在 2015年12月23日星期三 UTC+8上午3:39:52,Hamid Reza Hassanzadeh写道:
>
>> Hello,
>> Thanks,
>> No I'm doing regression.
>>
>> On Monday, December 21, 2015 at 3:12:05 PM UTC-5, nouiz wrote:
>>>
>>> Hi,
>>>
>>> you can use the HINT from the error message to find the exact line
>>> number where the problem come from.
>>>
>>> mse is useful when doing regression. so your target should be a vector,
>>> with only one value per example. Then the 2 vector will broadcast correctly
>>> together.
>>>
>>> Are you doing classification? If so, I should change your cost. If the
>>> class are ordered, then you can use them as a regression and use the mse
>>> cost, but you seem to use them as different not ordered class.
>>>
>>> Fred
>>>
>>> On Sun, Dec 20, 2015 at 8:41 PM, Hamid Reza Hassanzadeh <
>>> [email protected]> wrote:
>>>
>>>> Hi everyone,
>>>> I'm trying to find the weights of a neural network with mean square
>>>> error cost using gradient descent. Here is the theano function I  create:
>>>> train_fn = theano.function(
>>>>             inputs=[train_index],
>>>>             outputs=self.finetune_cost,
>>>>             updates=updates,
>>>>             givens={
>>>>                 self.x: dataset_x[train_index],
>>>>                 self.y: dataset_y[train_index]
>>>>             }
>>>>         )
>>>>
>>>> with self.x = T.matrix('x')  and  self.y = T.dvector('y') and the
>>>> finetune_cost is defined as:
>>>> self.finetune_cost = self.regLayer.mean_sq_error(self.y)
>>>>
>>>> def mean_sq_error(self,y):
>>>>         return T.mean((self.y_pred-y)**2)
>>>>
>>>> Now the problem is that  when I compile I get the following error:
>>>> ValueError: Input dimension mis-match. (input[0].shape[1] = 1,
>>>> input[2].shape[1] = 46)
>>>> Apply node that caused the error: Elemwise{Composite{((i0 + i1) -
>>>> i2)}}[(0, 0)](Dot22.0, InplaceDimShuffle{x,0}.0, InplaceDimShuffle{x,0}.0)
>>>> Toposort index: 30
>>>> Inputs types: [TensorType(float64, matrix), TensorType(float64, row),
>>>> TensorType(float64, row)]
>>>> Inputs shapes: [(46L, 1L), (1L, 1L), (1L, 46L)]
>>>> Inputs strides: [(8L, 8L), (8L, 8L), (368L, 8L)]
>>>> Inputs values: ['not shown', array([[ 0.]]), 'not shown']
>>>> Outputs clients: [[Elemwise{sqr,no_inplace}(Elemwise{Composite{((i0 +
>>>> i1) - i2)}}[(0, 0)].0), Elemwise{Composite{((i0 * i1) / i2)}}[(0,
>>>> 1)](TensorConstant{(1L, 1L) of 2.0}, Elemwise{Composite{((i0 + i1) -
>>>> i2)}}[(0, 0)].0, Elemwise{mul,no_inplace}.0)]]
>>>>
>>>> HINT: Re-running with most Theano optimization disabled could give you
>>>> a back-trace of when this node was created. This can be done with by
>>>> setting the Theano flag 'optimizer=fast_compile'. If that does not work,
>>>> Theano optimizations can be disabled with 'optimizer=None'.
>>>> HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint
>>>> and storage map footprint of this apply node.
>>>>
>>>>
>>>> I guess the problem is that self.y_pred is a column matrix whereas the
>>>> y is a dvector which is treated as a row matrix. What should I do?
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> ---
>>>> 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.
>

-- 

--- 
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