Creating Custom Operations in Tensorflow

I hosted this workshop at the University of Waterloo, as part of the course “Autonomous Driving Perception”.

The workshop was split into 5 parts. Each of those stages can be found on a different branch of the github page. The slides for this workshop can be dowloaded here.

Unfortunately, the session was not recorded. The slides were designed to be an aid, not to stand alone.

Skeleton

The skeleton branch is a bare bones template for creating Tensorflow custom operations. It only contains enough code so that it will compile. It does not register the operation within the TF framework.

Shape Inference

The shape_inf branch registers the operation with the TF framework and performs error checks on the shape of the input Tensors as well as setting the output shape.

CPU

The CPU branch contains code to run the add operation on the CPU.

GPU

The GPU branch is where things get interesting. It contains a GPU implementation of the add operation.

Robotics Community Engagement

While in the Autonomous Robotics Club the club executives, myself and Sam, presented at a Jr. high school in Calgary, St. Martha Catholic School. The target audience was grades 7-9. The purpose of the talk was to increase interest in robotics. The slides for this talk can be found here.