After looking around I think I'm looking for the codegen routine.

On Thu, Aug 8, 2013 at 2:28 PM, Ondřej Čertík <ondrej.cer...@gmail.com>wrote:

> On Thu, Aug 8, 2013 at 11:24 AM, Aaron Meurer <asmeu...@gmail.com> wrote:
> > On Thu, Aug 8, 2013 at 11:19 AM, Matthew Rocklin <mrock...@gmail.com>
> wrote:
> >> Ok, Just went through this thread again.
> >>
> >> It should be simple to translate SymPy.Piecewise to a recursive
> >> Theano.switch (after translating SymPy.LT to theano.lt, etc.)  I'll
> get on
> >> this soon.  Does this sound reasonable to you Fred?
> >>
> >> Jason's PR allowing pass through of keyword arguments looks close to
> me.  I
> >> suspect that the `on_unused_input=ignore` issue will soon be possible.
> >> Question, should this be default?  Are there other defaults that should
> be
> >> used?  I'm curious why you both are making functions with unused inputs.
> >>
> >> Jason, was Fred's note on directly passing constants useful?  If not why
> >> not?  It sounds like you should subs your constant symbols for numeric
> >> values prior to creating the theano graph.
> >>
> >>> With regards to using an externally defined theano graph or op (theano
> >>> wrapped sympy implementation), how would one  pass them to
> theano_function?
> >> You wouldn't.  You would use the other common interface function,
> >> theano_code to create theano variables instead.  You would then use raw
> >> theano operations (like theano.function) to compile your graph from
> theano
> >> variables.  Theano_function is a convenient all-in-one interface
> function
> >> for the common case.  If you want to do anything custom I recommend
> using
> >> SymPy and Theano natively, translating from one to the other using
> >> theano_code instead.  It does nothing except translate.
> >>
> >>> Does sympy.printing.theanocode.theano_function automatically optimize
> the
> >>> compiled graph?
> >> Yes.  theano_function translates sympy expressions into theano
> expressions
> >> using theano_code.  It then calls theano.function on these expressions.
> >> theano.function optimizes by default.
> >>
> >>> SymPy C Codegen and Theano
> >>
> >> @Fred, how hard would it be to leverage SymPy's C codegen in Theano?
>  This
> >> might be a lot cleaner than wrapping raw SymPy operations and might
> >> substantially extend Theano's support of scalar expressions.  Do you
> have a
> >> performant Bessel function op?  I'll bet SymPy could be made to do this
> >> quite well.
> >>
> >> @Aaron / @Ondrej, if you're reading this thread could you point us to
> the
> >> best place to start looking at C codegen in SymPy?  Alternatively can
> you
> >> point to an active community member who would be able to do so?
> >
> > Maybe Ondrej knows, but I don't. I would just look at the code. I
> > believe the meat of it is in the printers, while the rest is just nice
> > wrappers.
>
> C code gen is here:
>
> https://github.com/sympy/sympy/blob/master/sympy/utilities/codegen.py
>
> Is this what you were looking for?
>
> Ondrej
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+unsubscr...@googlegroups.com.
> To post to this group, send email to sympy@googlegroups.com.
> Visit this group at http://groups.google.com/group/sympy.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to