{ "cells": [ { "cell_type": "markdown", "id": "5c4d2be8-f56a-4749-8ee0-89f654854836", "metadata": {}, "source": [ "# Clean-up your SageMaker environment" ] }, { "cell_type": "markdown", "id": "1a5ba586-87db-4922-bb4d-98a90ed436dc", "metadata": {}, "source": [ "❗ This notebook removes all resources created by all notebooks you run in your environment. The following code cells will:\n", "- permanently delete project or projects you provisioned in your Studio environment\n", "- permanently delete feature group or groups\n", "- permanently delete project-provisioned S3 buckets\n", "- permanently delete objects in S3 buckets under project-related prefixes\n", "- permanently delete inference endpoints\n", "\n", "
❗ Code sections with listing of projects, feature groups, and endpoints show resources created outside this workshop. Double check the names of the resources to be deleted so you don't delete your own resources.\n", "
" ] }, { "cell_type": "markdown", "id": "474b9289-f4b3-4595-9218-12c516dc538d", "metadata": {}, "source": [ "
💡 This notebook will permanently delete resources in your AWS account. Please double check the names of resources to be deleted! \n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "8b2290c6-3b24-4e18-9fae-76d3addf4458", "metadata": { "tags": [] }, "outputs": [], "source": [ "import sagemaker\n", "import boto3\n", "import time\n", "import json\n", "import os" ] }, { "cell_type": "code", "execution_count": null, "id": "c1d0ca3d-7751-4e2e-a639-787bf47a4d15", "metadata": { "tags": [] }, "outputs": [], "source": [ "%store -r \n", "\n", "%store\n", "\n", "try:\n", " initialized\n", "except NameError:\n", " print(\"+++++++++++++++++++++++++++++++++++++++++++++++++\")\n", " print(\"[ERROR] YOU HAVE TO RUN 00-start-here notebook \")\n", " print(\"+++++++++++++++++++++++++++++++++++++++++++++++++\")" ] }, { "cell_type": "code", "execution_count": null, "id": "269c5544-c6d0-410e-a679-502930c12e02", "metadata": { "tags": [] }, "outputs": [], "source": [ "sm = boto3.client(\"sagemaker\")\n", "s3 = boto3.resource('s3')" ] }, { "cell_type": "markdown", "id": "8799fb8b-001b-4e7c-897b-0607a538fbf7", "metadata": {}, "source": [ "## Delete projects" ] }, { "cell_type": "code", "execution_count": null, "id": "af518cf8-7090-46cf-a147-7ddb4f5acc74", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Get all projects created by the current domain\n", "projects = [\n", " {\"ProjectName\":p[\"ProjectName\"], \"ProjectId\":p[\"ProjectId\"]} for p in sm.list_projects(MaxResults=100, SortBy=\"CreationTime\")[\"ProjectSummaryList\"] \n", " if sm.describe_project(ProjectName=p[\"ProjectName\"])[\"CreatedBy\"][\"DomainId\"] == domain_id and p[\"ProjectStatus\"] == \"CreateCompleted\"\n", "]\n", "\n", "print(f\"These projects have been created by domain {domain_id}: {json.dumps(projects, indent=2)}\")" ] }, { "cell_type": "code", "execution_count": null, "id": "89aaca09-cf00-45f1-a5d8-3f246d475af0", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Select projects to be deleted\n", "projects_to_delete = []\n", "\n", "for p in projects:\n", " print(f\"Are you sure you want to delete this project: {p['ProjectName']}? (y/n)\")\n", " choice = input()\n", " if choice == 'y':\n", " projects_to_delete.append(p)\n", " \n", "print(f\"***************************************\")\n", "print(f\"The following projects will be deleted:\\n{json.dumps(projects_to_delete, indent=2)}\")\n", "print(f\"***************************************\")" ] }, { "cell_type": "code", "execution_count": null, "id": "9d0219ff-79a2-4b39-b9e6-7b31e5af8e39", "metadata": { "tags": [] }, "outputs": [], "source": [ "for p in projects_to_delete:\n", " try:\n", " print(f\"Deleting project {p['ProjectName']}:{sm.delete_project(ProjectName=p['ProjectName'])}\")\n", " except Exception:\n", " pass" ] }, { "cell_type": "markdown", "id": "312e5cde-d235-46b9-b021-9d70923d787f", "metadata": {}, "source": [ "## Delete monitoring schedules\n", "You must delete monitoring schedules to be able to successfully remove endpoints deployed by the MLOps projects." ] }, { "cell_type": "code", "execution_count": null, "id": "83777d43-2a2d-4fcb-b57d-8341e09cc7e5", "metadata": { "tags": [] }, "outputs": [], "source": [ "def delete_mon_schedules(endpoint_name, sm_client):\n", " print(f\"Delete monitoring schedules for the endpoint: {endpoint_name}\")\n", " for s in sm_client.list_monitoring_schedules(EndpointName=endpoint_name)[\"MonitoringScheduleSummaries\"]:\n", " print(f\"Delete monitoring schedule: {s['MonitoringScheduleName']}\")\n", " r = sm_client.delete_monitoring_schedule(MonitoringScheduleName=s['MonitoringScheduleName'])\n", " print(r)" ] }, { "cell_type": "code", "execution_count": null, "id": "6191aa68-fd7f-4b21-b500-f9ce31e59634", "metadata": { "tags": [] }, "outputs": [], "source": [ "for p in projects_to_delete:\n", " delete_mon_schedules(f\"{p['ProjectName']}-staging\", sm)\n", " delete_mon_schedules(f\"{p['ProjectName']}-prod\", sm)" ] }, { "cell_type": "markdown", "id": "fa4df89c-5a32-48f5-9fe3-8222f6726c5f", "metadata": {}, "source": [ "## Delete CloudFormation stacks\n", "This section deletes the AWS CloudFormation stacks that projects created" ] }, { "cell_type": "code", "execution_count": null, "id": "8bd2e655-ace1-4324-8fc9-3602fb6f66b4", "metadata": { "tags": [] }, "outputs": [], "source": [ "cfn = boto3.client(\"cloudformation\")\n", "\n", "for p in projects_to_delete:\n", " for s in [\n", " f\"sagemaker-{p['ProjectName']}-{p['ProjectId']}-deploy-staging\",\n", " f\"sagemaker-{p['ProjectName']}-{p['ProjectId']}-deploy-prod\"\n", " ]:\n", " try:\n", " print(f\"Delete CloudFormation stack: {s}\")\n", " r = cfn.delete_stack(StackName=s)\n", " print(r)\n", " time.sleep(180)\n", " except Exception as e:\n", " print(f\"Exception in deleting {s}:{e}\")\n", " pass" ] }, { "cell_type": "markdown", "id": "8a789493-9f4f-4166-af29-e7c9c7bc0dfa", "metadata": {}, "source": [ "## Delete feature groups" ] }, { "cell_type": "code", "execution_count": null, "id": "0b5a4915-a93e-4aff-a49e-e7d03c4e4066", "metadata": { "tags": [] }, "outputs": [], "source": [ "feature_groups = sm.list_feature_groups(\n", " FeatureGroupStatusEquals=\"Created\", \n", " SortOrder=\"Descending\", \n", " SortBy=\"CreationTime\"\n", ")[\"FeatureGroupSummaries\"]" ] }, { "cell_type": "code", "execution_count": null, "id": "e5828c1d-3e23-4901-a2db-e06c339a063c", "metadata": { "tags": [] }, "outputs": [], "source": [ "feature_groups" ] }, { "cell_type": "code", "execution_count": null, "id": "7687f016-af8b-405f-ae56-fe5ed7e9d9c0", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Select feature groups to be deleted\n", "feature_groups_to_delete = []\n", "\n", "for fg in feature_groups:\n", " print(f\"Are you sure you want to delete this feature group: {fg['FeatureGroupName']}? (y/n)\")\n", " choice = input()\n", " if choice == 'y':\n", " feature_groups_to_delete.append(fg[\"FeatureGroupName\"])\n", " \n", "print(f\"********************************************\")\n", "print(f\"The following feature groups will be deleted:\\n{json.dumps(feature_groups_to_delete, indent=2)}\")\n", "print(f\"********************************************\")" ] }, { "cell_type": "code", "execution_count": null, "id": "8ecee078-f3be-43eb-abcc-84bf19ec613d", "metadata": { "tags": [] }, "outputs": [], "source": [ "def delete_offline_store(feature_group_name: str):\n", " try:\n", " offline_store_config = sm.describe_feature_group(FeatureGroupName=feature_group_name)['OfflineStoreConfig']\n", "\n", " except Exception:\n", " print(f'Feature group: {feature_group_name} does NOT have an offline store!')\n", " return\n", " \n", " offline_store_s3_uri = offline_store_config['S3StorageConfig']['ResolvedOutputS3Uri']\n", " print(f\"all feature store objects under {offline_store_s3_uri} will be deleted!\")\n", " print(\"Are you sure you want to these objects ? (y/n)\")\n", " \n", " choice = input()\n", " if choice == 'y':\n", " !aws s3 rm {offline_store_s3_uri} --recursive" ] }, { "cell_type": "markdown", "id": "8c671f1b-0505-4869-bf8c-a67b1bc43b76", "metadata": {}, "source": [ "
💡 The following code cell will delete the selected feature groups!\n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "63232110-e584-441a-a222-14a8a33607f9", "metadata": { "tags": [] }, "outputs": [], "source": [ "for fg in feature_groups_to_delete:\n", " print(f\"Deleting the feature group: {fg}\")\n", " delete_offline_store(fg)\n", " sm.delete_feature_group(FeatureGroupName=fg)" ] }, { "cell_type": "markdown", "id": "1ec40f0d-4117-46f4-9580-325e560c3bfc", "metadata": {}, "source": [ "## Delete project-provisioned S3 buckets" ] }, { "cell_type": "markdown", "id": "2ab7f9da-0a6e-47dd-8fdd-eabce5eab3c0", "metadata": {}, "source": [ "
💡 The following code cell will delete all S3 buckets created by a project! If you are in an instructor-led workshop and using a provisioned AWS account, you might be not able to delete any S3 buckets. You can stop here.\n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "e3c4cecd-5577-41c2-8852-70a47b537456", "metadata": { "tags": [] }, "outputs": [], "source": [ "print(f\"*****************************************************\")\n", "print(f\"The following S3 buckets will be removed permanently!\")\n", "print(f\"*****************************************************\")\n", "for p in projects_to_delete:\n", " print(f\"sagemaker-project-{p['ProjectId']}\")" ] }, { "cell_type": "code", "execution_count": null, "id": "1a3b12f9-7ebe-49e5-b2c3-00e5492d471c", "metadata": { "tags": [] }, "outputs": [], "source": [ "for p in projects_to_delete:\n", " !aws s3 rb s3://sagemaker-project-{p['ProjectId']} --force " ] }, { "cell_type": "markdown", "id": "c13a5843-9403-4e97-9eed-8c1a65d13cd0", "metadata": {}, "source": [ "## Remove inference endpoints" ] }, { "cell_type": "code", "execution_count": null, "id": "da7dbc12-5430-4bc1-a752-365d738f0323", "metadata": { "tags": [] }, "outputs": [], "source": [ "endpoints = sm.list_endpoints()[\"Endpoints\"]" ] }, { "cell_type": "code", "execution_count": null, "id": "7b911da4-0790-4339-bdc2-71d376f0a476", "metadata": { "tags": [] }, "outputs": [], "source": [ "endpoints_to_delete = []\n", "\n", "for ep in endpoints:\n", " print(f\"Are you sure you want to delete this endpoint: {ep['EndpointName']}? (y/n)\")\n", " choice = input()\n", " if choice == 'y':\n", " endpoints_to_delete.append(ep['EndpointName'])\n", " \n", "print(f\"*********** THESE ENDPOINTS WILL BE DELETED ***********\")\n", "print('\\n'.join(endpoints_to_delete))\n", "print(f\"*******************************************************\")" ] }, { "cell_type": "code", "execution_count": null, "id": "8f1204c3-ef21-469a-8dfa-e75443114ab4", "metadata": { "tags": [] }, "outputs": [], "source": [ "for ep in endpoints_to_delete:\n", " try:\n", " delete_mon_schedules(ep, sm)\n", " time.sleep(10)\n", " print(f\"Deleting the endpoint: {ep}:{sm.delete_endpoint(EndpointName=ep)}\")\n", " except Exception as e:\n", " print(f\"Exception in deleting {ep}:{e}\")\n", " pass" ] }, { "cell_type": "markdown", "id": "25a3796c-5f4b-4ded-afff-56f93ceea76c", "metadata": {}, "source": [ "## Remove project-related objects from the SageMaker S3 data bucket" ] }, { "cell_type": "markdown", "id": "2d0855e6-d12c-4306-9487-9123ba2faaae", "metadata": {}, "source": [ "
💡 The following code cells will delete all objects under specified S3 prefixes!\n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "4607415d-50f9-4254-9e5e-2eab01153478", "metadata": { "tags": [] }, "outputs": [], "source": [ "prefixes_to_delete = [\n", " bucket_prefix,\n", " #s3_fs_query_output_prefix\n", "]" ] }, { "cell_type": "code", "execution_count": null, "id": "d8469318-1a62-42a9-b8cb-577aeabfb8d9", "metadata": { "tags": [] }, "outputs": [], "source": [ "print(f\"************************************************************************\")\n", "print(f\"All objects under the following S3 prefixes will be removed permanently!\")\n", "print(f\"************************************************************************\")\n", "for p in prefixes_to_delete:\n", " print(f\"{bucket_name}/{p}\")" ] }, { "cell_type": "markdown", "id": "d7b3d7c5-cf63-4182-a2d6-5c1a592b1c0a", "metadata": {}, "source": [ "
Double check the S3 prefix! All data under this prefix will be permanently deleted!\n", "
" ] }, { "cell_type": "code", "execution_count": null, "id": "832f07d7-83e8-478d-ae0e-895933efae50", "metadata": { "tags": [] }, "outputs": [], "source": [ "# Un-comment the rm command\n", "for p in prefixes_to_delete:\n", " # !aws s3 rm s3://{bucket_name}/{p} --recursive\n", " pass" ] }, { "cell_type": "markdown", "id": "a5e0fa4b-d598-4319-b621-58f0dc98ddb1", "metadata": {}, "source": [ "# Shutdown kernel" ] }, { "cell_type": "code", "execution_count": null, "id": "c2c5e3ab-8c56-40ff-be8e-66c8dd3378cd", "metadata": {}, "outputs": [], "source": [ "%%html\n", "\n", "

Shutting down your kernel for this notebook to release resources.

\n", "\n", " \n", "" ] } ], "metadata": { "availableInstances": [ { "_defaultOrder": 0, "_isFastLaunch": true, "category": "General purpose", "gpuNum": 0, "memoryGiB": 4, "name": "ml.t3.medium", "vcpuNum": 2 }, { "_defaultOrder": 1, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 8, "name": "ml.t3.large", "vcpuNum": 2 }, { "_defaultOrder": 2, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 16, "name": "ml.t3.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 3, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 32, "name": "ml.t3.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 4, "_isFastLaunch": true, "category": "General purpose", "gpuNum": 0, "memoryGiB": 8, "name": "ml.m5.large", "vcpuNum": 2 }, { "_defaultOrder": 5, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 16, "name": "ml.m5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 6, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 32, "name": "ml.m5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 7, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 64, "name": "ml.m5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 8, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 128, "name": "ml.m5.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 9, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 192, "name": "ml.m5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 10, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 256, "name": "ml.m5.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 11, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 384, "name": "ml.m5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 12, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 8, "name": "ml.m5d.large", "vcpuNum": 2 }, { "_defaultOrder": 13, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 16, "name": "ml.m5d.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 14, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 32, "name": "ml.m5d.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 15, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 64, "name": "ml.m5d.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 16, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 128, "name": "ml.m5d.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 17, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 192, "name": "ml.m5d.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 18, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 256, "name": "ml.m5d.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 19, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "memoryGiB": 384, "name": "ml.m5d.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 20, "_isFastLaunch": true, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 4, "name": "ml.c5.large", "vcpuNum": 2 }, { "_defaultOrder": 21, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 8, "name": "ml.c5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 22, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 16, "name": "ml.c5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 23, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 32, "name": "ml.c5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 24, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 72, "name": "ml.c5.9xlarge", "vcpuNum": 36 }, { "_defaultOrder": 25, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 96, "name": "ml.c5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 26, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 144, "name": "ml.c5.18xlarge", "vcpuNum": 72 }, { "_defaultOrder": 27, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "memoryGiB": 192, "name": "ml.c5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 28, "_isFastLaunch": true, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 16, "name": "ml.g4dn.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 29, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 32, "name": "ml.g4dn.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 30, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 64, "name": "ml.g4dn.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 31, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 128, "name": "ml.g4dn.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 32, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "memoryGiB": 192, "name": "ml.g4dn.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 33, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 256, "name": "ml.g4dn.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 34, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 61, "name": "ml.p3.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 35, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "memoryGiB": 244, "name": "ml.p3.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 36, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "memoryGiB": 488, "name": "ml.p3.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 37, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "memoryGiB": 768, "name": "ml.p3dn.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 38, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 16, "name": "ml.r5.large", "vcpuNum": 2 }, { "_defaultOrder": 39, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 32, "name": "ml.r5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 40, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 64, "name": "ml.r5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 41, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 128, "name": "ml.r5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 42, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 256, "name": "ml.r5.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 43, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 384, "name": "ml.r5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 44, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 512, "name": "ml.r5.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 45, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "memoryGiB": 768, "name": "ml.r5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 46, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 16, "name": "ml.g5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 47, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 32, "name": "ml.g5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 48, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 64, "name": "ml.g5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 49, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 128, "name": "ml.g5.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 50, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "memoryGiB": 256, "name": "ml.g5.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 51, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "memoryGiB": 192, "name": "ml.g5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 52, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "memoryGiB": 384, "name": "ml.g5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 53, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "memoryGiB": 768, "name": "ml.g5.48xlarge", "vcpuNum": 192 } ], "instance_type": "ml.t3.medium", "kernelspec": { "display_name": "Python 3 (Data Science)", "language": "python", "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-east-1:081325390199:image/datascience-1.0" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" } }, "nbformat": 4, "nbformat_minor": 5 }