repainting the past with distributed machine learning and docker
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
What next?
• Run conversions faster • Use recurrent networks • Run on GPUs
Thank you!Questions?
Oli @olicallaghan_ olicallaghan.com Finnian @developius finnian.io
Chris Ward - Understanding databases for distributed docker applications - NoSQL matters Dublin 2015
How to build a Distributed Serverless Polyglot Microservices IoT Platform using Docker and OpenWhisk