[Baypiggies] This months talk (Data Science Night): xtensor and jet

Jeff Fischer jeffrey.fischer at gmail.com
Fri Jul 14 13:05:48 EDT 2017


*Thursday July 27, 2017  7:00 pm to 9:00 pm*
*LinkedIn, Yosemite Room*
605 W. Maude Ave, Sunnyvale, CA <https://goo.gl/maps/gn8QqhXypby>

In order to catch a great speaker who is leaving the country, we are
swapping around our usual talk topics. This talk falls into "Data Science",
rather than the previously scheduled beginner talk. We are sure you will
enjoy it!

Please RSVP now so we can track chairs and food:
https://www.meetup.com/BAyPIGgies/events/239601370/

*xtensor and jet : bringing NumPy to C++ and JIT compiled C++ to Python*

*Speaker:* Wolf Vollprecht

*Abstract*
*xtensor* is a C++ linear algebra library offering a unifying interface to
data science for Python (NumPy), R and Julia. We are aiming for feature and
API parity with NumPy and are borrowing NumPy's expressiveness for the C++
world.
In this talk I will present the three features that make xtensor unique:

• ND-Arrays in C++ (most other C++ libraries only offer 2- to 3D)
• NumPy style broadcasting
• Lazy evaluation of expressions

xtensor is of great interest for those who want to write high speed
libraries for Python, Julia and R, as we offer very simple ways to plug C++
code into Python/Julia or R. For Python, this is implemented in the
xtensor-python module which allows to modify NumPy arrays in place, as will
be demonstrated during the talk. xtensor-python also offers the easiest way
to create NumPy style ufuncs. All of this enables the
write-once-use-everywhere paradigm for Data Science libraries.


*jet* is a new take on a JIT. Borrowing ideas from TensorFlow and Theano,
it consists of a small Python library which effectively records a graph of
NumPy operations and rewrites them in C++ source code. The C++ is then
compiled using an optimizing compiler, and a Python module is created and
imported. Using this method, we have been able to speed up numeric problems
in tight loops up to 20 times. Currently, jet is using Armadillo as a C++
linalg backend, but obviously this is supposed to change in the near future
to xtensor. jet is used for numeric optimizations on physical systems and
robotic controllers.


*Speaker Bio*
Wolf is currently finishing his Master in Robotics, Systems and Controls at
ETH Zurich. Right now he is visiting the Autonomous Systems Lab at Stanford
where he writes his
master thesis on the subject of autonomous cars, and tries to make
autonomous cars smarter by using machine learning to infer the intent of
human drivers in certain scenarios. He is passionate about robots, open
source libraries and free distribution of education and knowledge
worldwide.

*Meeting Schedule*

   - 7:00 pm Networking and food
   - 7:15 pm Announcements and presentation
   - 8:45 pm Random access
   - 9:00 pm Event ends
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20170714/5568546e/attachment.html>


More information about the Baypiggies mailing list