Theano definitely accepts 'nb_class' as a symbolic scalar in to_one_hot().
>>> a = tensor.ivector()
>>> i = tensor.iscalar()
>>> b = to_one_hot(a, i)
>>> b.eval{a: [3], i: 5})
array([[ 0., 0., 0., 1., 0.]])
>>> b.eval({a: [3], i: 4})
array([[ 0., 0., 0., 1.]])
On Tue, Dec 06, 2016, Lijun Wu wrote:
> Hi All,
>
> I want to implement the need of one_hot with variable length, so I want to
> feed in the nb_class with a tensorVariable, but how to do this? Is there
> any other way?
>
> What my need is following:
> I have matrix A, example:
> [[0.1, 0.2, 0.3]
> [0.2, 0.1, 0.1]
> [0.1, 0.2, 0.2]]
>
> and one mask matrix M:
> [[1, 1, 1]
> [1, 0, 1]
> [0, 0, 0]]
>
> and I want to get the last one in each column of M, and get the
> corresponding value in A. e.g, here is
> [[0, 0.2, 0]
> [0.2, 0, 0.1]
> [0, 0, 0]]
>
> My solution is first get y=M.sum(axis=0), then feed y to create one_hot
> matrix using extra_ops.to_one_hot(), but since my M.shape[0] will be
> different, so I want to feed in np_class as M.shape[0], but I don't know
> how to do this, one_hot() can not feed in 'nb_class' as tensorvariable.
>
> Can anyone help me work on this? Thanks pretty much.
>
> --
>
> ---
> 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.