Jimmy's blog

A machine learning based clock

January 12th, 2020

I wanted to gain more understanding of machine learning. I learn best by doing and also find that I can fool myself (and others) into thinking I know something by reading a book and watching a couple videos. But until I implement something myself, I don’t really know it. As Richard Feynman said: “what I cannot create, I do not understand.” So I built a clock that uses a neural net to tell time by looking at the sky.

I made a web app here so you can try it yourself.

My full dataset can be found here. These are 30 second time-lapses from midnight to midnight at 30fps. So each movie has 900 frames taken over 24 hours. I have 28 days worth of data and counting. Below is the full confusion matrix on my training data. The classifier doesn’t work so well when it’s fully cloudy or foggy otherwise I was surprised to learn it can be +/- 1 hour on a clear day and totally able to distinguish between morning and evening. So it must look at features other than just brightness.

confusion-matrix

Everything here I learnt from Jeremy Howard’s excellent fast.ai class.

Leave a Reply