I’m sure you could setup your own AMI. I haven’t done this so I can’t speak to how hard it would be. You’re using Python and Keras as a layer on top of Theano and Tensorflow which is a layer on top of CUDA / GPU programming. I’m not sure if a few sudo apt-get commands and a large EBS volume get you all the way there but it seems like it would.
I think the AMI makes it easy to ensure everyone is using the same libraries on top of hardware that’s been tested and works with the iPython notebooks. Sure, you could do this with Chef, bash or whatever else you’d for configuring a box but I think the AMI approach was simpler and less error prone.
FWIW, part one of the course uses Keras 1.x and Python 2.7. Keras has since shipped version 2.0 and part two of the course uses Python 3.
Ah, I see. Does another script tie the large EBS volume to the AMI or is that handled when the AMI is created? I can’t remember how AWS does this. If its added after the fact via another script I’m all out of reasons why a custom AMI is needed