So before I actually jump in and do anything, I figured I better make sure i can actually run this thing on an AWS GPU LOL.
This is a helpful guide to set up an EC2 instance https://machinelearningmastery.com/develop-evaluate-large-deep-learning-models-keras-amazon-web-services/.
In terms of the actual code,https://github.com/roatienza/Deep-Learning-Experiments/blob/master/Experiments/Tensorflow/GAN/dcgan_mnist.py is a great place to start. easy to run, and comes along with an article explaining! https://towardsdatascience.com/gan-by-example-using-keras-on-tensorflow-backend-1a6d515a60d0
what i plan to do is to copy the code into a python file, upload it onto github, git clone it into the instance via the terminal, and run it.
turns out, i can’t!!!
if you want to start a gpu instance (like a g2.2xlarge or p.xlarge), the default limit is 0 - you need to write in to request for an increase in the limit.
how to increase the limit? well you can try to create an instance and at the end it will tell you you FAILED and you can write in to request for an increase, or you can go to your EC2 dashboard, click on ‘Limits’ on the left panel, and view your limits. do note that this is region specific.
i think it takes a day (or two). in the meantime…
a helpful start to keras with tensorflow: https://gist.github.com/stared/7de2908b9bcba01c39ee3c591875a23c
when this works i’d like to actually LEARN what’s going on…
(in the meantime my 80,000 images load in the background, onto S3 - side note, I should have used scrapy to upload the images direct to S3* as well…!!! would have been faster than requests. i believe they use async libraries which allows you to make multiple requests at the same time… kills myself).
Refer to this: https://www.nickv.codes/blog/scrapy-uploading-image-files-to-amazon-s3/
SO what is going on with CNN???
this is an actual code implementation, with notes to guide you along.
i recommend glancing through this first, then reading online summaries (or listening to youtube videos) to understand conceptually what is going on (https://adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/ is amazing), before you jump back into the actual code below so you fully understand the steps: https://github.com/dmlc/mxnet-notebooks/blob/master/python/tutorials/mnist.ipynb
then, move on to GAN:
AND here we go for a pluck and play: