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
POC de uma AWS lambda que executa a consulta de preços de criptomoedas, e é implantada na AWS usando Github actions.

Cryptocurrency Prices Overview Instalação Repositório Configuração CI/CD Roadmap Testes Overview A ideia deste projeto é aplicar o conteúdo estudado s

Gustavo Santos 3 Aug 31, 2022
VC-Music , Playing music without bot.

VC-Userbot A Telegram Userbot to play or streaming Audio and Video songs / files in Telegram Voice Chats. It's made with PyTgCalls and Pyrogram Requir

RioProjectX 8 Aug 04, 2022
This is a telegram bot hosted by a Raspberry Pi equipped with a temperature and humidity sensor. The bot is capable of sending plots and readings.

raspy-temperature-bot This is a telegram bot hosted by a Raspberry Pi equipped with a temperature and humidity sensor. The bot is capable of sending p

31 May 22, 2022
A Bot To Find Telegram User ID Easily

Telegram ID Bot 🤖 A Bot To Find Telegram User ID Easily Made with Python3 (C) @BXBotz Copyright permission under MIT License License - https://githu

MuFaz-TG 6 Nov 21, 2022
A Discord Rich Presence App to set your own custom rich presence.

discord-rich-presence A Discord Rich Presence App to set your own custom rich presence. #BUILDS Ready to use package are available inside "finalpackag

1 Nov 22, 2021
Notion4ever - Python tool for export all your content of Notion page using official Notion API

NOTION4EVER Notion4ever is a small python tool that allows you to free your cont

50 Dec 30, 2022
This repository are used to give class about AWS

AWSTraining This repository are used to give class about AWS by Marco Antonio Pereira Linkedin: https://www.linkedin.com/in/marcoap To see the types o

Marco Antonio Pereira 6 Nov 23, 2022
Python bindings for ArrayFire: A general purpose GPU library.

ArrayFire Python Bindings ArrayFire is a high performance library for parallel computing with an easy-to-use API. It enables users to write scientific

ArrayFire 402 Dec 20, 2022
A bot written in python that send prefilled Google Forms. It supports multithreading for faster execution time.

GoogleFormsBot https://flassy.xyz https://github.com/Shawey/GoogleFormsBot Requirements: os (Default) ast (Default) threading (Default) configparser (

Shawey 1 Jul 10, 2022
A simple versatile telgeram bot written in Python using pyTelegramBotAPI library.

A simple versatile telgeram bot written in Python using pyTelegramBotAPI library.

Benyamin Zojaji 15 Jun 17, 2022
Automatic login to Microsoft Teams conferences

Automatic login to Microsoft Teams conferences

Xhos 1 Jan 24, 2022
A very simple Salesforce.com REST API client for Python

Simple Salesforce Simple Salesforce is a basic Salesforce.com REST API client built for Python 3.5, 3.6, 3.7 and 3.8. The goal is to provide a very lo

simple salesforce 1.4k Dec 29, 2022
This is a simple code for discord bot !

Discord bot dice roller this is a simple code for discord bot it can roll 1d4, 1d6, 1d8, 1d10, 1d12, 1d20, 1d100 for you in your discord server. Actua

Mostafa Koolabadi 0 Jan 02, 2022
Open Resource Calculator Module for Python

Calculator Module for Python By White Night Install #

White_Night_awa 4 Aug 22, 2022
Spodcast is a caching Spotify podcast to RSS proxy

Spodcast Spodcast is a caching Spotify podcast to RSS proxy. Using Spodcast you can follow Spotify-hosted netcasts/podcasts using any player which sup

Frank de Lange 260 Jan 01, 2023
修改自SharpNoPSExec的基于python的横移工具 A Lateral Movement Tool Learned From SharpNoPSExec -- Twitter: @juliourena

PyNoPSExec A Lateral Movement Tool Learned From SharpNoPSExec -- Twitter: @juliourena 根据@juliourena大神的SharpNOPsExec项目改写的横向移动工具 Platform(平台): Windows 1

<a href=[email protected]"> 23 Nov 09, 2022
Event-driven-model-serving - Unified API of Apache Kafka and Google PubSub

event-driven-model-serving Unified API of Apache Kafka and Google PubSub 1. Proj

Danny Toeun Kim 4 Sep 23, 2022
ThetaGang is an IBKR bot for collecting money

💬 Join the Matrix chat, we can get money together. Θ ThetaGang Θ Beat the capitalists at their own game with ThetaGang 📈 ThetaGang is an IBKR tradin

Brenden Matthews 1.5k Jan 08, 2023
PS4RemotePKGSender - Use with Remote PKG Installer

PS4_Remote_PKG_Sender Used with the remote PKG installer on PS4 Thanks to the au

Teri 4 Sep 23, 2022
A simple Spamming software made in python

Spam-qlk Warning!!! 'I' am not responsible for the 'damage or harm' caused by this 'Software'!!! Use at your own risk!!! Input the message. After you

Aditya kumar 1 Nov 30, 2021