Skip to content

Instantly share code, notes, and snippets.

@leehanchung
leehanchung / create_sagemaker_model.sh
Created December 21, 2019 00:02
Bash script for creating Sagemaker Model from AWS ECR Docker Image repository
#!/usr/bin/env bash
MODEL_NAME=<<name your model>>
ROLE_NAME=AmazonSageMaker-ExecutionRole-XXXXXXXXXXXXXXXX
# the name of the image created with
ECS_IMAGE_NAME=<<your image name>>
# the role arn of the role
EXECUTION_ROLE_ARN=$(aws iam get-role --role-name ${ROLE_NAME} | jq -r .Role.Arn)
@leehanchung
leehanchung / dockerfile
Created December 20, 2019 23:57
Dockerfile for using Tensorflow Serving Docker images on AWS Sagemaker
# Using the official tensorflow serving image from docker hub as base image
FROM tensorflow/serving
# Installing NGINX, used to rever proxy the predictions from SageMaker to TF Serving
RUN apt-get update && apt-get install -y --no-install-recommends nginx git
# Copy our model folder to the container
COPY <<local model directory>> /<<model directory inside Docker image>>
# Copy NGINX configuration to the container
@leehanchung
leehanchung / nginx.conf
Created December 20, 2019 23:56
NGINX configuration file for Tensorflow Serving Docker image on AWS Sagemaker
events {
# determines how many requests can simultaneously be served
worker_connections 2048;
}
http {
server {
# Increase JSON POST payload to bypass 413 Client Error: Request Entity Too Large for URL
client_max_body_size 100M;
@leehanchung
leehanchung / push_docker_ecr.sh
Last active January 26, 2020 02:24
Shell script for pushing Docker images to ECR
#!/usr/bin/env bash
IMAGE_NAME={name your local Docker image here}
REGION=$(aws configure get region)
ACCOUNT=$(aws sts get-caller-identity --query Account --output text)
# If the ECS repository doesn't exist, creates it.
aws ecr create-repository --repository-name ${IMAGE_NAME} > /dev/null 2>&1