Wow, that is incredibly cool. Eager to check it out.

On Wed, Jun 5, 2019, 12:41 PM Chris Nuernberger <ch...@techascent.com>
wrote:

> Good morning Clojurians,
>
> About 2 months ago during a talk about the tech.ml systems the point was
> made that if we could load the python C libraries then that would provide
> us with a lot more libraries to draw from.  In addition, I seem to remember
> one of the ML talks a concern about lack of libraries being the problem.
>
> So, in the spirit of building bridges and providing clojure with the best
> possible libraries for any particular problem on the planet, I took the
> last month and built out raw cpython (libpython3.X) bindings based on JNA.
>
> So, today after cleaning things up just a little bit I decided it was time
> to announce libpython-clj.  My hope is that there are enough clojuian
> pythonistas that we can take this library and make it an absolute joy to
> work with; the best python hosting environment that exists.
>
> https://github.com/cnuernber/libpython-clj
>
> Some features include:
>
> * Python dicts are represented in java as java.util.Map's.
> * stdout,stderr are overridden to write to *out* and *err*, respectively.
> * transparent access to the python interpreter from any thread.
> * zero-copy pathways for numpy->tech.datatype tensors and back.  So you
> can intermix heavy processing between clojure and python without pay a
> large conversion cost.
> * Decent performance.  This is built on the raw cpython shared library so
> our cost of executing or interoperating with python should not be any
> higher than anyone else's.
> * two way bridging.  Expose your JVM objects to python and vice versa.
>
> I have a simple keras demo where I use Keras from clojure to train a
> neural network included in the examples.  So that proves out keras and
> tensorflow access from clojure.
>
> I think this soundly addresses our ability to load cutting edge math and
> machine learning libraries.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/clojure/CADbpEJvOWoxZu0Y_LHi%2B36bEbcOfxCV5n0jd7mhvq8TO9MaD_w%40mail.gmail.com
> <https://groups.google.com/d/msgid/clojure/CADbpEJvOWoxZu0Y_LHi%2B36bEbcOfxCV5n0jd7mhvq8TO9MaD_w%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/clojure/CANoO%3DwR%3Dwau9Ci%2BbCxaO_vRJXbbPoE%2B8bg_tYsUTEU9Wz3LrSA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to