Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Repainting the Past with Distributed Machine Learning and Docker

394 views

Published on

"A picture is worth a thousand words” – Frederick R Bernard. Video is worth thousands more. With millions of hours of black and white video footage circulating around the internet or locked indefinitely in storage archives, their true stories and colours have been lost forever. With the cost of breathing new colour into these fragments of history being $3000 per minute, the vast majority of this footage will never be truly appreciated. Wouldn’t it be revolutionary if we could combine the latest cutting edge research in machine learning with the power unleashed by distributed computing with Docker to solve this problem?

Using recurrent convolutional neural networks combined with advanced scheduling, distribution, and orchestration made possible only by Docker, we are able to realistically hallucinate colour back into any black and white video. And with machine learning, we can cut the costs dramatically by automating the process of painting each frame, resulting in a realistic high-quality video in record time. We will demo this and much more in our talk “Repainting the past with distributed machine learning and Docker

Published in: Technology
  • Be the first to comment

Repainting the Past with Distributed Machine Learning and Docker

  1. 1. Student Oli Callaghan Student Repainting the Past with Distributed Machine Learning and Docker Finnian Anderson
  2. 2. • Quick introduction to machine learning • What we wanted to achieve • How we accomplished this • Problems we faced On the menu • Future developments
  3. 3. Machine Learning
  4. 4. Fully-connected Neural Networks
  5. 5. Problems with fully-connected NNs • Memory and performance issues • Impractical for image analysis • 10 x 13 pixels • 260 inputs • 260 weights per node • 30 nodes per layer • 6 layers • ~6M weights total • 600 x 800 pixels • ~1M inputs • ~1M weights per node • 240k nodes per layer • 6 layers • ~1.4 trillion weights total
  6. 6. Convolutional Neural Networks Filters of weights are slid across the input to produce output feature-maps.
  7. 7. Convolutional Neural Networks • 10 x 13 pixels • 260 inputs • 8 layers • 64, 3 x 3 filters / layer • 4608 weights total • 600 x 800 pixels • ~1M inputs • 8 layers • 64, 3 x 3 filters / layer • 4608 weights total
  8. 8. Convolutional Neural Networks • Trained like every other NN • Perform much better in image analysis
  9. 9. Baby steps
  10. 10. Applications to Video? ?
  11. 11. Current approaches to video colourisation • €400k / blockbuster • Automate process with neural networks
  12. 12. How did we do it Click to add text
  13. 13. Structure of Solution
  14. 14. Custom Solution • Took a long time to implement • Was slower than other frameworks • Gained an understanding of underlying process
  15. 15. Tensorflow • Easy to use • Optimised for GPU • Distributed learning $ docker run tensorflow/tensorflow
  16. 16. Caffe • Developed at Berkeley • Only CNNs • Superfast Richard Zhang et al. https://arxiv.org/pdf/ 1603.08511.pdf $ docker run bvlc/caffe
  17. 17. Problems we encountered ML takes a long time!
  18. 18. Hardware • Limited resources • PC useless whilst training • GPU? Solution?
  19. 19. Nvidia Docker CPU is slow Allows you to use GPU $ nvidia-docker run nvidia/caffe $ docker run bvlc/caffe
  20. 20. An Open Source Serverless Framework openfaas.com
  21. 21. Demo So how did it go?
  22. 22. Get tweeting!
  23. 23. @colorisebot
  24. 24. Video conversion https://youtu.be/K4QVi-BSjGw
  25. 25. What next? • Run conversions faster • Use recurrent networks • Run on GPUs
  26. 26. Thank you! Questions? Oli @olicallaghan_ olicallaghan.com Finnian @developius finnian.io

×