A SageMaker Projects template to deploy a model from Model Registry, choosing your preferred method of deployment among async (Asynchronous Inference), batch (Batch Transform), realtime (Real-time Inference Endpoint). More to be added soon!

Overview

SageMaker Projects: Multiple Choice Deployment

A SageMaker Projects template to deploy a model from Model Registry, choosing your preferred method of deployment among async (Asynchronous Inference), batch (Batch Transform), realtime (Real-time Inference Endpoint). More to be added soon!

project-parameters.png

Adding the template to Studio (courtesy of sagemaker-custom-project-templates)

1. Create a Service Catalog Portfolio

  • Open the AWS Service Catalog console at https://console.aws.amazon.com/servicecatalog/
  • If you are using the AWS Service Catalog administrator console for the first time, choose Launch solutions with the Getting Started library to start the wizard for configuring a portfolio. Otherwise, choose Create portfolio.
  • Type the following values:
    • Portfolio name – SageMaker MLOps Templates
    • Description – Custom project templates for MLOps
    • Owner – IT ([email protected])
  • Choose Create.

2. Create a Service Catalog Product

  • Clone this repository
  • Execute sh init.sh <AWS-BUCKET>
  • Choose and open the portfolio created in the steps above.
  • Next choose a product and then choose Upload new product.
  • On the Enter product details page, type the following and then choose Next:
    • Product name – Customisable deploy project
    • Description – Bootstrapped templated for quick starting an MLOps workflow
    • Owner – IT
    • Distributor – (blank)
  • On the Version details page, choose Specify an Amazon S3 template URL, type the following, and then choose Next:
    • Select template – upload the template provided in this repo
    • Version title – v0.1
    • Description – Base Version
  • On the Enter support details page, type the following and then choose Next (this information will be organization specific):
  • On the Review page, choose Create product

3. Add a Launch Constraint

A launch constraint designates an IAM role that AWS Service Catalog assumes when an end user launches a product. This ensures that Service Catalog has the required permissions to provision the product (CloudFormation template).

Create IAM roles

  • Open the IAM Console at https://console.aws.amazon.com/iam/
  • Navigate to 'Policies' and choose 'Create Policy'
    • Create the policy required to launch this template (the examples in this repo may contain sample policies to use).
    • Choose Next, Review policy, enter a suitable name and choose Create policy
  • To create the role, choose Roles from the navigation pane
    • Choose AWS service as the Trusted entity and choose "Service Catalog"
  • Repeat the steps to create both the ServiceCatalogLaunch and ServiceCatalogUse roles.

Add Launch constraint

  • Open Service Catalog console at https://console.aws.amazon.com/servicecatalog/
    • Choose the portfolio you created in Step 1
    • In the details page, choose Constraints tab
    • Choose Create constraint, and choose the product from Step 2
    • Choose 'Launch' as the constraint type, and choose the ServiceCatalogLaunch role you just created.
    • Add an optional description and click Create.

4. Making the product available in SageMaker Studio

Add users/roles to the Portfolio.

You can grant access to the Portfolio directly through the console, or add the servicecatalog:ProvisionProduct to the Studio's IAM role.

To add access through the console,

  • On the portfolio details page, choose the Groups, roles, and users tab.
  • Choose Add groups, roles, users.
  • On the Roles tab, select the checkbox for SageMaker Studio execution role and choose Add access. Alternatively, you can use IAM groups or IAM Users through the Groups and Users tabs respectively.

Tags

To make your project template available in your Organization templates list in SageMaker Studio, create a tag with the following key and value to the AWS Service Catalog Product you created in step 2.

  • key - sagemaker:studio-visibility
  • value - true

After you complete these steps, SageMaker Studio users in your organization can create a project with the template you created by following the steps in Create an MLOps Project using Amazon SageMaker Studio and choosing Organization templates when you choose a template.

You can also add custom key-value tag pairs to restrict access to templates based on teams or users.

Note: If you don't see the template under Organizational Templates, ensure that the tag is added as-is to the Product, and not the Portfolio.

Creating the project

  • Open SageMaker Studio and sign in to your user profile.
  • Choose the SageMaker components and registries icon on the left, and choose Create project button.
  • Switch to the Organization templates tab. The default view displays SageMaker templates.
  • The template you created will be displayed in the screen. (If you do not see it yet, make sure the execution role is added to the product and the sagemaker:studio-visibility tag is added exactly as described above).
  • Choose the template and click Select project template.
  • Enter a name and optional description for the project. Then, provide the ModelPackageGroupName that you wish to use. Finally, choose in the dropdown menu whether you want to deploy a real-time endpoint, an asynchronous inference endpoint, or a batch transform pipeline.
  • Make sure to change the config-*.json files after locally cloning the created repository to your environment of choice, then push those changes to CodeCommit.
  • You can now check the progress of the updates in CodePipeline.
Owner
Davide Gallitelli
I like to solve problems, and architect solutions to do that. I tend to work in small-medium groups, often taking the leader role assigning tasks to everybody.
Davide Gallitelli
Mass Instagram Checker

Mass Instagram Checker

X - MrG3P5 5 Nov 09, 2022
AutomaTik is an automation system for MikroTik devices with simplicity and security in mind.

AutomaTik Installation AutomaTik is an automation system for MikroTik devices with simplicity and security in mind. Winbox is the main tool for MikroT

Osman Kazdal 4 Dec 05, 2022
A Telelgram Bot to Extract Text from an Image

Text-Scanner-OCR A Telelgram Bot to Extract Text from an Image Configs Vars API_KEY: Your API_KEY from OCR Space GROUP: Your Group Username without '@

ALBY 8 Feb 20, 2022
A fork of lavalink.py built for nextcord

nextcord-ext-lava is a wrapper for Lavalink which abstracts away most of the code necessary to use Lavalink, allowing for easier integration into your projects, while still promising full API coverag

nextcord-ext 4 Feb 27, 2022
A bot for Large Fry Larrys

GroupMe Bot Driver This driver is written entirely in Python, and with easy configuration in mind. Using this driver, you'll be able to monitor multip

1 Oct 25, 2021
Fun telegram bot =)

Recolor Bot About Fun telegram bot, that can change your hair color. Preparations Update package lists sudo apt-get update; Make sure Git and docker-c

Just Koala 4 Jul 09, 2022
Código python para automatizar a junção de arquivos CSV's e salva-los em uma pasta final de destino.

merge_csv Código python para automatizar a junção de arquivos CSV's e salva-los em uma pasta final de destino. Esse projeto é usado pra unir alguns ar

Welder Fariles 1 Jan 12, 2022
Trust-minimized Bitcoin wallet

coldcore Trust-minimized, airgapped Bitcoin management This is experimental software. Wait for a formal release before use with real funds. A trust-mi

James O'Beirne 121 Jan 01, 2023
Python interface to the LinkedIn API

Python LinkedIn Python interface to the LinkedIn API This library provides a pure Python interface to the LinkedIn Profile, Group, Company, Jobs, Sear

ozgur 844 Dec 27, 2022
Rhythm bot clone for discord written in Python and uses YouTube to get media files.

Tunebot About Rhythm bot clone for discord written in Python and uses YouTube to get media files. Usage You need a .env file within the same directory

1 Oct 21, 2021
Optimus Prime - A modular Telegram group management and drive clone bot running on Python with sqlalchemy database

Optimus Prime Bot . 🤖 A modular Telegram group management and drive clone bot r

9 Jun 01, 2022
WikipediaBot from mohirdev.uz

wiki-bot WikipediaBot from mohirdev.uz Requirements wikipedia aiogram Installing wiki/aiogram pip install wikipedia pip install aiogram

Muhammad Ali 5 Sep 28, 2022
Subtitle Translater

Subtitle Translater

OshadhaVimukthi 2 Nov 29, 2021
Spotify Top Lists - get the current top lists of a user from the Spotify API and display them in a Flask app

Spotify Top Lists This is a simple script that will get the current top lists of a user from the Spotify API and display them in a Flask app. Requirem

Yasin 0 Oct 16, 2022
Minecraft name sniper written in python.

⚠️ IMPORTANT ⚠️ DO NOT USE MCSNIPERPY -- READ BELOW This sniper does not support Microsoft accounts or prename / gc sniping and is MUCH harder to use

MCsniperPY 201 Dec 30, 2022
Telegram bot to clip youtube videos

youtube-clipper-bot Telegram bot to clip youtube videos How to deploy? Create a file called config.env BOT_TOKEN: Provide your bot token generated by

Shivam Jha 11 Dec 10, 2022
Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support

Free and Open Source Group Voice chat music player for telegram ❤️ with button support youtube playback support

Sehath Perera 1 Jan 08, 2022
Periodically check the manuscript state in the scholar one system and send email when finding a new state.

ScholarOne-manuscript-checker Periodically check the manuscript state in the scholar one system and send email when finding a new state. Parameters ne

2 Aug 18, 2022
Pls give vaccine.

Pls Give Vaccine A script to spam yourself with vaccine notifications. Explore the docs » View Demo · Report Bug · Request Feature Table of Contents A

Rohan Mukherjee 3 Oct 27, 2021
A telegram smoot and high quality music player bot.

▪︎ Music Player ▪︎ A smooth telegram music bot with high quality songs ■ [Features] • Fast Starts streaming your inputs while downloading and converti

Simple Boy 3 Feb 05, 2022