AMIs are Amazon Machine Images, virtual appliance deployed on EC2. The AWS Deep Learning AMIs provide machine learning practitioners and researchers with the infrastructure and tools to accelerate deep learning in the cloud, at scale. Users can launch Amazon EC2 instances pre-installed with deep learning frameworks and interfaces such as TensorFlow, PyTorch, Apache MXNet, Chainer, Gluon, Horovod, and Keras to train sophisticated, custom AI models, experiment with new algorithms, or to learn new…
Amazon AMIs has been very useful for the quick setup and implementation of deep learning for data analysis which is something I have used the service for in my own research. We commonly use the service to enable students to run intensive deep learning algorithms for their assessments. This service works well in this scenario as it allows students to quickly set up a suitable environment and get started with little hassle. If you are looking to run simple, surface level deep learning algorithms (kind of contradictory statement I know) then AMI is more complicated than most will need. When it comes to teaching the basics of Machine Learning, this kind of system is unnecessary and there are other alternatives which can be used. That being said this service is a must if you are looking to run complex deep learning via the cloud.
Keras is quite perfect, if the aim is to build the standard Deep Learning model, and materialize it to serve the real business use case, while it is not suitable if the purpose is for research and a lot of non-standard try out and customization are required, in that case either directly goes to low level TensorFlow API or Pytorch
One of the reason to use Keras is that it is easy to use. Implementing neural network is very easy in this, with just one line of code we can add one layer in the neural network with all it's configurations.
It provides lot of inbuilt thing like cov2d, conv2D, maxPooling layers. So it makes fast development as you don't need to write everything on your own. It comes with lot of data processing libraries in it like one hot encoder which also makes your development easy and fast.
It also provides functionality to develop models on mobile device.
Both of these services provide similar functionality and from my experience both are top class services which cover most of your needs. I think ultimately it comes down to what you need each service for. For example Amazon DL AMIs allows for clustering by default meaning I am able to run several clustering algorithms without a problem whereas IBM Watson Studio doesn't provide this functionality. They both provide a wide range of default packages such as Amazon providing caffe-2 and IBM providing sci-kitlearn. My main point is that both are very good services which have very similar functionality, you just need to think about the costs, suitability of features and integration with other services you are using.
Keras is good to develop deep learning models. As compared to TensorFlow, it's easy to write code in Keras. You have more power with TensorFlow but also have a high error rate because you have to configure everything by your own. And as compared to MATLAB, I will always prefer Keras as it is easy and powerful as well.