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

Upload: docker-inc

Post on 21-Jan-2018

263 views

Category:

Technology


0 download

TRANSCRIPT

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