Hello everyone!

I’ve been selected as a Google Summer of Code developer under TensorFlow. Yaay! 

It’s been a long time since the results came out, and I’ve finally got around to writing about it… so my next few posts will be about my GSoC experience with TensorFlow.

Let’s start at the very beginning…a very good place to start…

January 2019

It was that time of year when everyone was gearing up for GSoC. The organisations for 2019 were to be announced on February 27.  There were many who had already started to contribute to open-source organisations that came to GSoC in the past years, to get a head start. This was the most frustrating experience of my life, because I was having a hard time choosing an organization. I had been exploring computer graphics for the past few months and really wanted to do something in that area…But which org to choose…I was also in doubt if the organizations that came last year would come this year or not…

February 2019

Finally on February 27, the list of orgs was out…I had almost given up, but that day I received a message from a senior at college, that TensorFlow had come to GSoC this year and there was a project that would interest me, something related to Data Visualisation. I was a bit confused if I would be able to contribute or not, considering that TensorFlow was an organisation working in Machine Learning. There was no harm in taking a look at the projects, so I did…

The idea my senior was talking about caught my eye. The idea was:

A library for data visualization in Swift

Once data has been cleaned and processed into a standard format, the next step in any data science project is to visualize it. This project aims to provide a Swift library similar to matplotlib. Desired features:

1. Two-dimensional plots: horizontal and vertical bar chart, histogram, scatterplot, line chart
2. Support for images, contours, and fields
3. Support for detailed subplots, axes, and features
Desired languages: C, C++, Swift

I immediately decided to apply for this project. I had made a plotting framework for Android before and this seemed to be something similar but way more involved. I’d have to work with Swift, a language I hadn’t worked with before. It included graphics work that I wanted to do and I would be working under the guidance of people from the TensorFlow team! This seemed like a great opportunity to learn something new.

It turned to to be exactly that. I enquired about the project and guidelines on the Swift for TensorFlow mailing list. I got excellent guidance from the project mentors Brad Larson, Marc Rasi and other community members. I did some digging on my end, got a prototype working and shared it with the S4TF community.

March 2019

Then came the time to work on my proposal. The projects aim was to make a Swift library that works cross-platform. Currently available Swift plotting frameworks worked only on Mac and iOS. So the library had to have multiple rendering backends so that the end user may choose one that worked best on their platform. It was important that I implement at least two rendering backends, so that the library would be architectured in a way that made it simple enough to add more backends later on. After several reviews and revisions from the mentors I finalised my proposal and made the submission on March 25.

Then next month went into preparing and appearing for my end semester examinations, but GSoC results were always on my mind.

May 2019

My exams were over and the results were to be declared in 6 days. 

On 7 May I received a mail:

image

Thus began my GSoC journey with TensorFlow.

Next time I’ll discuss how I got started with my project and share some brief implementation details. Stay tuned!