Share your work here ✅

Hey, thank you for the feedback :slight_smile: I’ll change that, I knew it but maybe I did not incorporate it while coding it. I was actually having trouble with generating spectograms on Kaggle. If I generated more than 500 output files I couldn’t commit my kernel. Switching to colab now. Yes I’ve referred to the thread as well. Thanks again.

I made a classifier that recognizes images among 3 sports: rugby, wrestling and American Football.

To make the challenge interesting, I purposefully took images in the tackling motion in each of the three sports. Learned couple of things: a) CNNs are awesome. Got 90% prediction success rate within first try. b) errors were due to bad data, meaning when searching for rugby, some images of American football were also picked up by Google Images. So the algorithm correctly identified as football but since it was labeled rugby to begin with, it was counted as incorrect :rofl:

wrote a medium blog post about it… looking to explore another use case using different sets of images.

1 Like

I got 74th place, top 2%, using tabular on the LANL quake Kaggle challenge:


I created a trash/recycling classifier and got the validation accuracy up to 94% … it’s not that good on random uploaded data but it’s pretty good. Next steps are to get more labelled data and experiment with augmentation of existing pics with background noise.


For week 4 I wanted to have a go at some NLP. I have a fairly long whatsapp chat history with my wife so I decided to try and build a language model with it…

My notebook is here. It can be used to process and build a model from any whatsapp chat history. I took a very simple approach, just strung all the messages together for each day (~1000 total) and didn’t label by person. Despite the small amount of data (it runs very quickly), the text generated by the model was pretty good!


I recently got a bronze medal in Google’s Landmark Recognition Kaggle Competition. Read all about it here!


thank you for sharing the details. Congrats on your bronze medal. For multi GPU , where you using the distributed model (to_distributed). ?. Can you please share some details on the same. thanks

Thanks, I will post the code tomorrow (doing a little training before I upload it).

Literally as easy as:

learn.model = torch.nn.DataParallel(learn.model)

what an article!! very nicely written!! Cant wait to see the codes now!! and congrats for your medal!! :slight_smile:

Hey guys, I recently started writing for a new publication. My first article for them is about CNNs and Heatmaps. Fastai has really been a launchpad for my deep learning journey. Waiting for part 2


Starting to play after lesson 1 & 2 with an image classifier for ants.
Starting small as time is limited… by focusing on Lasius Niger, Messor Barbarus and Pheidole Pallidula.
I achieved 85% detection with a resnet50 without much finetuning for now.
Not extraordinary but very interesting :slight_smile:

1 Like

I just finished the second post in my mini-series about automatic captcha solving. In the first part, I used a multi-label classification approach to show that CNN’s can be used to solve captchas.

In this new part, I’m using single-character classification to turn captcha solving into a standard classification task. The heatmap function in plot_top_losses produced some very nice visuals. In fact it was so useful, I consider moving the heatmap generation into it’s own function. That way we could use it to explain the models decision for arbitrary inputs.

1 Like

I’m getting the same error but even num_workers ad padding_mode is not fixing it.

Sorry, this is all I thought of when I read your first sentence… =P


1 Like

Find it more interesting than bears or mosquitoes :slight_smile:
I love ants!

[Lesson 1, 2] Classifying Screenshots of 485 SNES games with 95.8% accuracy

I was able to use the techniques taught in 2019 lessons 1 and 2 to build a SNES game screenshot classifier.

It distinguishes between all 485 SNES games with remarkable accuracy!

The screenshots it has difficulty on are screens with only text displayed (for example, game endings, etc).

To build the dataset, I downloaded LongPlays of the game from youtube, then used ffmpeg to extract ~150 screenshots from each video.

GitHub repository
Online Demo/Webapp of the model
Short Blogpost

I have not shared the dataset, because I’m not sure how to do so in a cost-effective manner (it’s 3.2 gigs of screenshots).

Edit: Changed 600 games to 485 games. I downloaded 600 videos, but only had 485 games to distinguish between after merging multiple videos for single games, and merging japanese/us/european titles to one per.


Wow, I love this!
600 classes is really a lot. And that method for generating the dataset is genius!

1 Like

Hello everyone,

I have made a responsive webapp to help me provide inputs to the different models that I train with fastai and mostly to have fun with my friends while using it :grinning: .

For the moment you can interract with 4 trained models : image recognition (do not forget to read the discalmer ! ), sound detection, NLP and image reconstruction.

The hard part for the NLP model was to get enough data. Since facebook api needs autorisation to get all the post of a specific page (even a public one), I had to scroll A LOT on John Danaher’s facebook page, copy all the html, find a regexp to extract only the text and then clean it. But i’m pretty satisfied with the results since I only got 82975 words in total.

Image reconstruction is still in progress. Even though Henri.C and myself have made a lot of experimentations, the results are not always great. But the task seems to be a harder than we thought since nvidia is working on this :slight_smile:.

Still, I’m pretty amazed with all the complex models that we can create with a formation of only 7 lessons !

Here you can find the git repos :
client side :
server side :

And I deployed it on : which is really convenient !


I would love to see the top losses on this :laughing:

Hi! I have used the template of week 1 and 2 to create a classifier for some famous buildings in the world and also used render to make a web app here:

Here is the gist of the notebook: Gist

I got it down to an error rate of about 5 percent. As I already figured before, it has a hard time to distinguish skyscrapers (one world trade center, empire state building and the shard (LDN)). Another problem is that sometimes when I classified the picture as empire state building, the world trade center is in the background of the image.

As I used Google Colab I couldn’t use the widgets so I cleaned the dataset by hand. If I want to increase the number of classes in the future, I will have to find a more automated solution for this.

Going further with this I want to make this image classifier a bit more “personal”. As I am living in Zurich I would like to create a small (web) app where you can take pictures of the touristic attractions in Zurich and it tells you what it is. Would be cool to link the Wikipedia article to it.

So far, I really enjoy this course (after only one week) a lot. Better than all the other MOOC’s I have done before. I already made one individual project, how cool is that!

Thanks to everyone at!