Repainting the Past with Distributed Machine Learning and Docker

Post on 21-Jan-2018

263 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

Transcript

StudentOli CallaghanStudent

Repainting the Past with Distributed Machine Learning and Docker

Finnian Anderson

• Quick introduction to machine learning

• What we wanted to achieve

• How we accomplished this

• Problems we faced

On the menu• Future developments

Machine Learning

Fully-connected Neural Networks

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

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

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

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

Baby steps

Applications to Video?

?

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

How did we do itClick to add text

Structure of Solution

Custom Solution• Took a long time to

implement • Was slower than

other frameworks • Gained an

understanding of underlying process

Tensorflow• Easy to use • Optimised for

GPU • Distributed

learning

$ docker run tensorflow/tensorflow

Caffe• Developed at

Berkeley • Only CNNs • Superfast

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

$ docker run bvlc/caffe

Problems we encounteredML takes a long time!

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

Solution?

Nvidia DockerCPU is slow Allows you to use GPU

$ nvidia-docker run nvidia/caffe

$ docker run bvlc/caffe

An Open Source Serverless Framework openfaas.com

DemoSo how did it go?

Get tweeting!

@colorisebot

Video conversion

https://youtu.be/K4QVi-BSjGw

What next?

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

Thank you!Questions?

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

top related