Code Monkey home page Code Monkey logo

torchserve-eks's Introduction

Running TorchServe on Amazon Elastic Kubernetes Service

This repo contains the code for the blog post: Running TorchServe on Amazon Elastic Kubernetes Service published to the AWS Open Source blog.

alt text

TorchServe makes it easy to deploy and manage PyTorch models at scale in production environments. TorchServe is built and maintained by AWS in collaboration with Facebook and is available as part of the PyTorch open-source project.

TorchServe supports any machine learning environment including, Amazon Elastic Kubernets Service (EKS).

The benefits of TorchServe

TorchServe makes it easy to deploy PyTorch models at scale in production environments. It delivers lightweight serving with low latency, so you can deploy your models for high performance inference. It provides default handlers for the most common applications such as object detection and text classification, so you don’t have to write custom code to deploy your models. With powerful TorchServe features including multi-model serving, model versioning for A/B testing, metrics for monitoring, and RESTful endpoints for application integration, you can take your models from research to production quickly. TorchServe supports any machine learning environment, including Amazon SageMaker, Kubernetes, Amazon EKS, and Amazon EC2.

The benefits of Amazon EKS

Amazon EKS takes advantage of the fact that it is running in the AWS cloud making great use of many AWS services and features, while ensuring that everything you already know about Kubernetes remains applicable and helpful. EKS is deeply integrated with services such as Amazon CloudWatch, Auto Scaling Groups, AWS Identity and Access Management (IAM), and Amazon Virtual Private Cloud (VPC), providing you a seamless experience to monitor, scale, and load-balance your applications.

The directory structure of this repository

├── LICENSE                                 
├── README.md
├── cloud_watch_util.sh                     # Script to set up CloudWatch logs
├── delete_cluster.sh                       # Script to tear down the EKS cluster
├── img
│   ├── EKSCTL.png
│   └── TorchServeOnAWS.png
├── installation.md                         # How to install command line tools
├── instructions.md                         # Step-by-step setup instructions
├── pt_serve_util.sh                        # Script to auto-gen manifest files
└── template                                # A directory with all template files
    ├── cloud_watch_policy.json             # IAM CloudWatch policy template            
    ├── cluster.yaml                        # EKS cluster manifest template
    ├── eks_ami_policy.json                 # IAM user policy template 
    └── pt_inference.yaml                   # TorchServe manifest template

torchserve-eks's People

Contributors

amazon-auto avatar josiahdavis avatar momonga-ml avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

torchserve-eks's Issues

EKS ami policy fails legacy parsing with MalformedPolicyDocument error

Hi there,

I've followed the instructions in installation.md up to the Create IAM Policy step. Unfortunately I get the following error:

~/torchserve-eks$ aws iam create-policy --policy-name eks_ami_policy \
    --policy-document file://eks_ami_policy.json
> 
An error occurred (MalformedPolicyDocument) when calling the CreatePolicy operation: The policy failed legacy parsing

The error seems to suggest the eks_ami_policy.json (templated here: https://github.com/aws-samples/torchserve-eks/blob/master/template/eks_ami_policy.json) generated by pt_serve_util.sh is faulty.

Looking at the eks_ami_policy.json generated by pt_serve_util.sh, it appears to match the template exactly. So I'm not sure how it is that has failed legacy parsing.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.