Development Environment based on AWS EC2

Development Environment based on AWS EC2ΒΆ

We our team started out, we had very diverse individual computing stacks. We had a few Windows User, one Linux user and one on Mac OSX. While running virtualized worklaods one woud suspect this would not make much of a difference but in reality it dit.

After getting access to credits, we decided to deploy a EC2 instance to be used by Pascal to develop there. We picked a Linux Image provied by Amazon a so called Amazon AMI Linux image. This utilizes the EC2 resources the best and comes preinstalled with the aws-cli and a bunch of other useful software.

We installed a GUI for Pascal and he was able to use the Virtual Desktop Environment via SSH / VNC.

The Instructions to install a GUI on AWS Linux can be found here

This ingenious solution proved great over the entire project length and after adding more CPU Cores and Nvidia GPU to the instance we were able to train our model much faster.

When training TensorFlow Models on the GPU loads of driver installations are required and some configuration steps need to be taken to make it work inside a Docker Container aswell.

Some relevant guides for this are:

This can be quite a time extensive task, while this seems like a pretty standard approach in the machine learning world, managing dependencies between drivers / hardware can proof to be very frustrating

Overall we rate this decision as one of the big success factors of our project, and for large scale enterprises having access to public or private cloud instances seems like a must nowadays.

Our provsioned specification (very oversized):

Specs

Instance Type

G3.4Xlarge

CPU

16vCores

GPU

Nvidia M40 8GB

RAM

122GB

SSD

150GB

Price/hr(Linux)

1.14$ for US East