£320.09 – £1,140

Higher Performance Python (3 morning virtual event - UK times)

Event Information

Share this event

Date and Time

Location

Location

Online Event

Refund Policy

Refund Policy

Refunds up to 7 days before event

Eventbrite's fee is nonrefundable.

Event description
This is a 3 * 0.5 day virtual course held online in a small group of circa 10 people mixing pure Python, NumPy, Pandas and more

About this Event

This is a 3 * 0.5 day virtual course held online in a small group of circa 10 people mixing numeric scenario solving, new high performance tools and processes to explore ways to help you and your team be more performant, and to write more performant solutions with Python. This is particularly focused on scientific Python. Read this write-up for details on Ian's first run (during April) of this course. Current student feedback for the last iteration of the courses rates the outcome very highly (woot!).

This is the nxt release of Ian's Higher Performance Python class, it has been significantly updated alongside Ian's work creating the 2nd edition of his High Performance Python book with Micha Gorelick for O'Reilly (May 2020). This book is not a prerequisite for this class but will make for excellent reading for you.

"I would highly recommend Ian's Higher Performance Python course to anyone who is looking for a solid understanding of optimizing native Python with tools like numpy, numba, dask, and many others. His training course is packed with practical examples of how to correctly profile and optimize code, hands-on tasks and in-depth discussions." - Elena Sharova (ITV)

"Thanks Ian! A very practical course on how to improve python programs from the investigation to focus on what is relevant, to the solutions with some ready-to-use tools and techniques. Also a big thumbs up for the quick switch to online course, it was very smooth." - Stephane, OasisLMF (Catastrophe modelers)

This Higher Performance Python course is aimed at any Pythonic scientific or data science developer who:

  • Feels that their numeric code should run faster
  • Wants to explore ways of solving problems faster in Pandas and Dask (along with getting an opinion on Modin, Vaex and cuDF)
  • Knows that effective profiling to identify slow-spots is key to effectively developing higher performance solutions - if only they knew of an efficient process for profiling (answer: line_profiler and PySpy!)
  • Wants to see how Numba can quickly speed up their Numpy code with hardly any code changes
  • Wishes that they could use unit testing in their process but has run into problems - we'll look at at a clear workflow that supports Test Driven Development along with profiling and code optimisation

During the course we'll:

  • Work through Best Practice to make you and your team "highly performant scientific developers"
  • Review my best tip for being "performant and trusted over the long-term" (it involves unit tests!)
  • Learn to profile to understand where code is slow so you can focus your efforts efficiently
  • Review approaches to speeding up numerical code using better algorithms, numpy and Numba - we'll make a 200x speed-up on numeric code on laptops
  • Learn to parallelise problems using Joblib and to cache effectively - we'll make a 4x speed-up on a laptop
  • Figure out how to make Pandas code faster on a single machine by using better approaches, compiled functions and all of your CPUs - we'll have Pandas run apply 170x faster than with a poor implementation (going as far as using a compiled function on multiple cores from within Pandas)
  • We'll use Dask to process "bigger than RAM" datasets so you can tackle larger jobs than will normally fit into memory
  • Review Pandas alternatives to understand their strengths and weaknesses
  • Work through various exercises designed to get you thinking about all aspects of higher performance development
  • Learn how to use unit tests to support higher performance refactoring - get speed without sacrificing correctness
  • Review the take-home homework that you can use back in the office to further refine your understanding

After the course you'll:

  • Get an invite to a complimentary 1 hour group retrospective call where we'll discuss progress and problems, we'll focus on untangling any blockers so that you're working effectively back in the office
  • Have take-home code to demonstrate faster approaches to common problems with your team
  • Have optional home-work to deepen your understanding
  • Have gained answers to the questions you arrived with, so your personal blockers will be resolved
  • Have access to our Slack channel to continue the conversation with class mates and to download any shared material - you'll also see the discussions from past versions including the post-course tips that were shared by previous students and you can continue to talk with all students through the Slack
  • Receive a Certificate of Professional Development

You have some prior experience with Python and data science tools like Jupyter Notebooks and Pandas. You might be a scientist, data scientist or system engineer. You've experienced slower Python solutions - particularly with numeric calculations - and you want faster options for you and your team.

This course is not aimed at first-time Python users who want to learn about the language. This is aimed at practitioners who can code their own solutions on single machines using tools like Pandas and Numpy. We won't be looking at traditional Big Data tools (no Spark, no Hadoop) but we'll discuss clustered Dask a little.

(from a sister course) "Ian's Software Engineering for Data Scientists course provides an excellent overview of best practices with focus on testing, debugging and general code maintenance. Ian has a wealth of experience and also makes sure to keep on top of the latest tools and libraries in the Data Science world. I would especially recommend the course to Data Science practitioners coming from an academic rather than software engineering background." - LibertyGlobal, Mirka

You'll need your laptop with Anaconda installed with Python 3.7+. I'll check-in with you before the course to make sure you have everything you need installed. You can also install before the class by arriving earlier.

Note that Ian's "High Performance Python (2nd edition)" book with O'Reilly is optional for this course, the material here is related to the book. Reading the book before or after the course is encouraged but not required. 

If you have questions please contact Ian@MorConsulting.com. Ian's blog has a long list of past public talks and videos. Ian also has a training email announce list if you'd like advance notice of future events. Read many glowing testimonials about Ian Ozsvald's work with past clients on LinkedIn. Ian also writes a "Thoughts and Jobs" email aimed at Data Scientists and Data Engineers every 2 weeks containing tips, recommendations and new relevant jobs.

Location:

This is an online only event, you'll need decent bandwidth for live video conferencing (Zoom) along with a working conda environment on your machine to follow along with the exercises.

Refund and change policy:

Eventbrite offers you a 100% refunded cancellation up to 7 days before the event (I'd happily talk to you about why you need to cancel to see if we can figure something out). I can move a ticket to another colleague, just get in touch. In the extremely unlikely event that we have to cancel the course then you will be offered either a 100% refund or the option of moving attendance to another workshop. Mor Consulting Ltd and Ian Ozsvald are not liable for any other costs incurred including travel and accommodation.

Coronavirus note - If the course leader (Ian) has to cancel due to illness then you'll be offered a refund or a subsequent date. If you get ill I'm happy to discuss delaying your attendance to a later event. Coronavirus will be very disruptive, let's try to make disruption less painful. I will be running more of these events so please don't stress about whether you'll be available.

Share with friends

Date and Time

Location

Online Event

Refund Policy

Refunds up to 7 days before event

Eventbrite's fee is nonrefundable.

Save This Event

Event Saved