It seems it does!

Cheers,

On Thursday, 11 May 2017 00:31:48 UTC+1, Pascal Lamblin wrote:
>
> On Fri, May 05, 2017, Gilles Degottex wrote: 
> > Sorry, slight confusion, by "chose the order arbitrarily" I didn't mean 
> on 
> > the fly. I meant be able to selection what ever order, but once for all 
> > once running. 
> > I'm not actually changing anything once compiled. 
>
> Then it should work fine. 
>
> > 
> > 
> > 
> > On Friday, 5 May 2017 02:56:03 UTC+1, Adam Becker wrote: 
> > > 
> > > I don't think this works. The inner function of scan will be converted 
> to 
> > > a graph, then getting compiled inside ScanOp. If you change nonlocal 
> > > variable "order" on the fly, the change won't be reflected on the 
> compiled 
> > > function. 
> > > 
> > > If the inner loop itself can be written as scan, you can just make a 
> > > nested scan instead. Compile the innermost graph with scan first (by 
> hand), 
> > > then pass it as fn to the outer scan. 
> > > 
> > > On Wednesday, May 3, 2017 at 8:04:46 PM UTC+8, Gilles Degottex wrote: 
> > >> 
> > >> Hi, 
> > >> 
> > >> I'm new on this list, so I hope I'm not duplicating a subject that 
> has 
> > >> already been covered and answered. 
> > >> 
> > >> I'm trying to implement High-Order RNN (
> https://arxiv.org/abs/1605.00064) 
> > >> and I would like to let me chose the order arbitrarily, which changes 
> the 
> > >> number parameters to pass to the inner scan function. 
> > >> For this purpose, I'm doing something like: 
> > >> 
> > >>     def step(in_t, *args): 
> > >> 
> > >>         W_xi_ = args[-2] 
> > >>         b_i_ = args[-1] 
> > >>         args = args[:-2] 
> > >> 
> > >>         h_t = T.dot(in_t, W_xi_) 
> > >> 
> > >>         for p in xrange(order): 
> > >>             h_t += T.dot(args[p], args[order+p]) 
> > >> 
> > >>         h_t = nonlinearity(h_t + b_i_) 
> > >> 
> > >>         return h_t 
> > >> 
> > >>     h, _ = theano.scan(step, sequences=[invalues], 
> > >>             outputs_info=[dict(initial=hid_init, 
> taps=range(-order,0))], 
> > >>             non_sequences=W_hip+[W_xi, b_i], strict=True) 
> > >> 
> > >> W_hip being a list of shared matrices, one for each tap. 
> > >> 
> > >> Basically, it compiles, I can train such a model, so it looks like it 
> > >> works. 
> > >> 
> > >> However, I've strictly no clue if the code is doing what I'm 
> expecting it 
> > >> to do. 
> > >> Is is okay to use a for loop in th inner scan function? 
> > >> Does scan behave nicely with a variable number of argument? 
> > >> 
> > >> Any tips to help verifying/checking that a code is doing what it is 
> > >> supposed to do is also very welcome. 
> > >> 
> > >> Cheers, 
> > >> 
> > >> 
> > >> 
> > 
> > -- 
> > 
> > --- 
> > 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] <javascript:>. 
> > 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