Google has been making efforts to refine machine learning models and techniques for more than a decade now. Recently the tech giant launched the beta version of deep learning containers, a cloud service to develop, deploy and manage the complexities and compatibilities of the machine learning projects.
Deep Learning Containers are pre-packaged, performance-optimised, ready to be deployed. They have compatibility-tested docker images pre-installed with deep learning frameworks and libraries to provide a consistent environment across Google Cloud services that help the developers implement ML workflow. It can run both in the cloud and on-premise.
Frameworks And Libraries Support
Each container image provides a Python 3 environment. The DL containers have pre-configured Jupyter Notebook and provide support for the most popular ML frameworks such as Tensorflow, TensorFlow 2.0, PyTorch, and Scikit-learn. The initial release of the container includes Python packages such as NumPy, Sklearn, SciPy, Pandas, NLTK, Pillow and various others. Also, the NVIDIA packages include the latest NVIDIA driver for GPU enabled instances such as CUDA, CuDNN and CCL.
The deep learning containers are flexible and can be deployed on various platforms such as Google Kubernetes Engine (GKE), AI Platform, Cloud Run, Compute Engine, Kubernetes, and Docker Swarm.
- Consistent Environment: The container allows the docker images for smooth portability and consistency by providing a consistent environment across Google Cloud services to shift from on-premises to cloud scale.
- Fast Prototyping: In this container, the prototyping is fast as all the required frameworks, libraries and drivers are pre-installed and tested for compatibility.
- Performance Optimised: With the help of the latest framework versions and NVIDIA CUDA-X AI libraries, the training and deployment of the machine learning models are optimised at a great extent.
Similar Cloud Service For ML
Earlier this year, AWS Deep Learning Containers have also been launched to help the developers deploy custom machine learning environments which are available as docker images through Amazon Elastics Container Registry (Amazon ECR) and AWS marketplace. Each Docker image is built for training or inference on a specific Deep Learning framework version, Python version, with CPU or GPU support. The container currently supports TensorFlow and Apache MXNet with PyTorch and other deep learning frameworks will be introduced soon. A developer can deploy this container on Amazon Elastic Container Service for Kubernetes (Amazon EKS), self-managed Kubernetes, Amazon Elastic Container Service (Amazon ECS) and Amazon EC2.
Containers are great ways to build and deploy applications and it is already known that ML is a complex technique and consumes a lot of time of the developer while working on an ML project. The deep learning containers will help a developer to overcome the time-consuming and other unwanted issues in a machine learning project by providing a consistent environment for testing and deploying your application across GCP products and services.
Deep learning containers can be pulled and run locally with Docker, Docker Compose or Kubernetes. A developer can easily use the AI platform deep learning containers and pull images from the Google Container Registry without paying a single penny. However, he/she may need to pay the cost while using the deep learning containers with other Google Cloud Platform products.