Repainting the Past with Distributed Machine Learning and Docker

27
Student Oli Callaghan Student Repainting the Past with Distributed Machine Learning and Docker Finnian Anderson

Transcript of Repainting the Past with Distributed Machine Learning and Docker

Page 1: Repainting the Past with Distributed Machine Learning and Docker

StudentOli CallaghanStudent

Repainting the Past with Distributed Machine Learning and Docker

Finnian Anderson

Page 2: Repainting the Past with Distributed Machine Learning and Docker

• Quick introduction to machine learning

• What we wanted to achieve

• How we accomplished this

• Problems we faced

On the menu• Future developments

Page 3: Repainting the Past with Distributed Machine Learning and Docker

Machine Learning

Page 4: Repainting the Past with Distributed Machine Learning and Docker

Fully-connected Neural Networks

Page 5: Repainting the Past with Distributed Machine Learning and Docker

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

Page 6: Repainting the Past with Distributed Machine Learning and Docker

Convolutional Neural NetworksFilters of weights are slid across the input to produce output feature-maps.

Page 7: Repainting the Past with Distributed Machine Learning and Docker

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

Page 8: Repainting the Past with Distributed Machine Learning and Docker

Convolutional Neural Networks• Trained like every other NN • Perform much better in image analysis

Page 9: Repainting the Past with Distributed Machine Learning and Docker

Baby steps

Page 10: Repainting the Past with Distributed Machine Learning and Docker

Applications to Video?

?

Page 11: Repainting the Past with Distributed Machine Learning and Docker

Current approaches to video colourisation• €400k / blockbuster • Automate process with neural networks

Page 12: Repainting the Past with Distributed Machine Learning and Docker

How did we do itClick to add text

Page 13: Repainting the Past with Distributed Machine Learning and Docker

Structure of Solution

Page 14: Repainting the Past with Distributed Machine Learning and Docker

Custom Solution• Took a long time to

implement • Was slower than

other frameworks • Gained an

understanding of underlying process

Page 15: Repainting the Past with Distributed Machine Learning and Docker

Tensorflow• Easy to use • Optimised for

GPU • Distributed

learning

$ docker run tensorflow/tensorflow

Page 16: Repainting the Past with Distributed Machine Learning and Docker

Caffe• Developed at

Berkeley • Only CNNs • Superfast

Richard Zhang et al. https://arxiv.org/pdf/1603.08511.pdf

$ docker run bvlc/caffe

Page 17: Repainting the Past with Distributed Machine Learning and Docker

Problems we encounteredML takes a long time!

Page 18: Repainting the Past with Distributed Machine Learning and Docker

Hardware• Limited resources • PC useless whilst training • GPU?

Solution?

Page 19: Repainting the Past with Distributed Machine Learning and Docker

Nvidia DockerCPU is slow Allows you to use GPU

$ nvidia-docker run nvidia/caffe

$ docker run bvlc/caffe

Page 20: Repainting the Past with Distributed Machine Learning and Docker

An Open Source Serverless Framework openfaas.com

Page 21: Repainting the Past with Distributed Machine Learning and Docker
Page 22: Repainting the Past with Distributed Machine Learning and Docker

DemoSo how did it go?

Page 23: Repainting the Past with Distributed Machine Learning and Docker

Get tweeting!

Page 24: Repainting the Past with Distributed Machine Learning and Docker

@colorisebot

Page 25: Repainting the Past with Distributed Machine Learning and Docker

Video conversion

https://youtu.be/K4QVi-BSjGw

Page 26: Repainting the Past with Distributed Machine Learning and Docker

What next?

• Run conversions faster • Use recurrent networks • Run on GPUs

Page 27: Repainting the Past with Distributed Machine Learning and Docker

Thank you!Questions?

Oli @olicallaghan_ olicallaghan.com Finnian @developius finnian.io