Share your work here ✅

I agree; trying it in practice if it doesn’t get it right it often gets very close in a subjective sense.

I’ll look at rolling up models into series for e.g. Mercedes and see how the accuracy works. I didn’t know about the Image Relabeller, that’s fantastic!

I did a image classifier to identify the classical dances of India. Got accuracy around 88%. I posted it as a blog here

1 Like

Okay nice. Did try multiple crops as I mentioned in my post:

1 Like

Hello everyone!
I previously worked on the alligator vs crocodile app. Here on top of which @Lankinen wrote an amazing post and article Even though it was working fine but I was not satisfied with the testing results. So I decided to make version2 of the app (again focusing on Deep learning part. I am not a UI person). So I collected around 4k images (2k crocodile and 2k alligators) and trained my model with close to 97% accuracy. After that I deployed it on Heroku. You can find the app in action here. Interesting that this problem of classifying them is harder than I expected.

What is interesting is, I put my both models weights. V1 for previous weights and epoch 36 and epoch 72 for V2 model. I ran my model on all test images and saved the results in database provided by the Heroku itself. I saved images and now at the end of each day, I am resetting counts and fine-tuning model. (Someone asked the exact same question in today’s class). I am planning to do that weekly instead of daily. I have a medium post write-up Still a draft

You can check the current by appending /check_counts in front of URL. Check counts of the model.

This is a really learning experience for me. I deployed a Heroku app with heroku database in a docker container and trained 2 different models. Learned a lot.



Super intelligence will come, when AI will be able to predict if the parathas are alu,mooli or something else without tearing it apart


Released some starter code for the Human Protein Atlas competition on Kaggle!


Lesson-2 doesn’t work on Google Colab, it throws a Memory Error. try it on,it is free for users until 31-12-2018 more info

1 Like

No I just relied on the data augmentation in fastai. It’s really great how you’ve shared all your work; it’s so accessible. With the multiple crops did you make sure that all crops of the same car ended up in the same split (all in train or all in validation)?

Presenting the Image Classification App college kids need. It classifies the sore on your mouth as either a Cold or Canker sore. :smiley:
I used google images and gid2s to scrape them for my data and got an 80% accuracy although the dataset is small and not sure how robust the model really is right now (70 images for validation).


Deployed it on Zeit. Can check it out here:

I wrote a small medium post about his here:


I didn’t do something like that. Just feed them as multiple images for the same category.
I use a subset of these images as the validation set.
But I should have use the original rectangle image. (Anyway, fastai applies a center crop for that)

Hello everyone,

I made a simple binary classifier to identify building architecture styles - Gothic or Renaissance.

Images were downloaded from Google. I ran the model on resnet34 and got an accuracy of 90.5%. The source is available here . Feedback and suggestions are welcome.


When loading the image data, try changing Num_workers to zero, it slows it down, bhtnits possible to train something

If you change num_workers=0, still learn.lr_find() is Interrupted.

Hey everyone,

After being inspired by @suvash and @nikhil.ikhar, I decided to look into Arabic handwritten characters. I found a dataset published last year for Arabic handwritten characters where they achieved a SoTA of 94.9%.

After a couple of hours of work with the fastiai library and making some tweaks and fine-tuning, I was able to hit an accuracy score of 96.9% :muscle: :boom:

I’ve collated my work in a notebook and pushed it to my Github if you would like to take a look -


I work on time series data for system and business monitoring. The most common way to work with time series data is directly on the time series data points and use things like moving averages, regression, and neural networks.

I have always wondered how well it would work to simply convert the time series data to images and use convolutional neural networks for image classification. The intuition is that “we know an anomaly when we see one” - so why not just do that?

TL;DR is that using on time series images I generated, I have been able to consistently get to around 96-97% accuracy on this task.

This is kind of amazing because the time series data I trained on are from different time series domains (like service API latency versus purchase volumes) and generally the thought has been that we need to fine tune for each domain.

Here are some examples.

Anomaly: this time series has a spike toward the vewry end. I generated the images with some buffer at the right. I may experiment with making this lag window narrower in the future.

Normal Time Series: This example is normal at the right edge, which is where we want to detect anomalies. The spike toward the left might have been an anomaly at that point in time, but we are not interested in that now.

I have roughly 100 anomaly images and 400 normal images.

Notebook is shared here.

Training results:


Hi everyone!

I managed to make an immune cell classifier and I’m serving it at floydhub thanks to @whatrocks. I got my data from Paul Mooney who made it available in kaggle. The model has accuracy of about .95 but I still think I can make it better. Check it out here (Immune cell classifier)[] In case I’ve put it offline here’s the screen shot

Sooo excited that the library has enabled me to achieve this so quick. It’s been a dream of mine to make this for months. Here’s the repository with code and the model


Awesome @uwaisiqbal - I’ve been looking for data sets related to Arabic over the last few days. Mainly for purposes of Arabic text extraction from images. This data set looks like a good starting point, thanks!

I put together a flower classifier trained on the Oxford-Flower-102 dataset. 102 classes of flowers and I used the same train/valid/test split as in the data split provided. With that split, only 11 images per class were used for training (a total of 1122), and the same number for validation.

The test set contains 6149 images.

After fine-tuning a Resnet50 model, without data augmentation, I got a 92.26% accuracy on the test set. I think it’s a great model considering how little data was used for training and the number of classes.

In case someone else wants to use the data, here is the code to split the data after downloading it into train/valid/test and put it in an ImageNet folder-structure (execute in a Jupyter notebook for the magic commands to work):

import as sio
import numpy as np
import pandas as pd

data_split = sio.loadmat('raw_data/setid.mat')
image_labels = sio.loadmat('raw_data/imagelabels.mat')['labels'][0]

trn_id = data_split['trnid'][0]
val_id = data_split['valid'][0]
tst_id = data_split['tstid'][0]

data={'filename': np.arange(1, len(image_labels)+1), 'label': image_labels}
split = []
for file_index in data['filename']:
    if file_index in trn_id:
    elif file_index in val_id:
    elif file_index in tst_id:
data['filename'] = ['image_'+str(n).zfill(5)+'.jpg' for n in data['filename']]
data['split'] = split

# This dataframe has three columns: filename, label, and split (train/test/valid)
image_labels = pd.DataFrame(data)

# Execute once to create dir structure + copy the data from the jpg folder to the new labeled, split folders

# ! mkdir raw_data/train
# ! mkdir raw_data/test
# ! mkdir raw_data/valid

# for split in ['train', 'valid', 'test']:
#     for label in range(102):
#         label = str(label+1)
#         ! mkdir 'raw_data/'$split'/'$label

# # Copy images to their labeled folders

# for index, row in image_labels.iterrows():
#     #print(row['filename'])
#     fname = row['filename']
#     split = row['split']
#     label = row['label']
#     ! cp 'raw_data/jpg/'$fname 'raw_data/'$split'/'$label'/'


I am working on something similar in my office! Nice to see your results. Would try to apply that in my work. Thanks!

Which datasets have you managed to find?

I have access to a dataset for OCR with Arabic scientific manuscripts from this project -

I’d be interested in working together on Arabic OCR if you’d be up for that