{ "cells": [ { "cell_type": "code", "execution_count": 7, "id": "5892e647-fe40-46a9-8537-72380fe0b52d", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Region: us-west-2\n", "Role: arn:aws:iam::933988069619:role/service-role/AmazonSageMaker-ExecutionRole-20230602T153402\n", "Default Bucket: sagemaker-us-west-2-933988069619\n" ] } ], "source": [ "# Set Up Environment\n", "\n", "import boto3\n", "import sagemaker\n", "import sagemaker.session\n", "\n", "\n", "region = boto3.Session().region_name\n", "sagemaker_session = sagemaker.session.Session()\n", "role = sagemaker.get_execution_role()\n", "default_bucket = sagemaker_session.default_bucket()\n", "\n", "print(f\"Region: {region}\")\n", "print(f\"Role: {role}\")\n", "print(f\"Default Bucket: {default_bucket}\")" ] }, { "cell_type": "code", "execution_count": 8, "id": "da84518d-cabb-44a6-818d-488ed560b6ca", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train Data Uri: s3://app-ml-dataset-0410/flowers\n", "Test Data Uri: s3://app-ml-dataset-0410/flowers\n" ] } ], "source": [ "# 1. Prepare Dataset\n", "\n", "train_data_uri=\"s3://app-ml-dataset-0410/flowers\"\n", "test_data_uri=train_data_uri\n", "\n", "print(f\"Train Data Uri: {train_data_uri}\")\n", "print(f\"Test Data Uri: {test_data_uri}\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "d667b8fc-302c-4f74-a78c-31042377fa15", "metadata": { "tags": [] }, "outputs": [], "source": [ "# 2. Define Pipeline Paramters\n", "\n", "from sagemaker.workflow.parameters import (\n", " ParameterInteger,\n", " ParameterString,\n", " ParameterFloat,\n", ")\n", "\n", "processing_instance_count = ParameterInteger(\n", " name=\"ProcessingInstanceCount\",\n", " default_value=1\n", ")\n", "train_data = ParameterString(\n", " name=\"TrainData\",\n", " default_value=train_data_uri,\n", ")\n", "test_data = ParameterString(\n", " name=\"TestData\",\n", " default_value=test_data_uri,\n", ")\n", "epoch_data = ParameterInteger(\n", " name=\"Epoch\",\n", " default_value=10\n", ")\n", "batch_size_data = ParameterInteger(\n", " name=\"BatchSize\",\n", " default_value=16\n", ")\n", "learning_rate_data = ParameterFloat(\n", " name=\"LearningRate\",\n", " default_value=0.0001\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "id": "c5a06da9-239a-44fd-8824-570c1c754c29", "metadata": { "tags": [] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2023-06-04 07:55:29.476643: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.\n", "To enable the following instructions: AVX512F, in other operations, rebuild TensorFlow with the appropriate compiler flags.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "tf version: 2.12.0\n" ] } ], "source": [ "# 3. Define Training Step\n", "\n", "import tensorflow as tf\n", "from sagemaker.tensorflow import TensorFlow, TrainingCompilerConfig\n", "print(f\"tf version: {tf.__version__}\")\n", "\n", "# an updated max batch size that can fit into GPU memory with compiler\n", "epochs=epoch_data.to_string()\n", "batch_size=batch_size_data.to_string()\n", "learning_rate=learning_rate_data.to_string()\n", "\n", "# hyperparameters\n", "hyperparameters={\n", "# \"n_gpus\": 1,\n", " \"epochs\": epochs,\n", " \"batch-size\": batch_size,\n", " \"learning-rate\": learning_rate\n", "}\n", "\n", "# estimator\n", "tf_estimator=TensorFlow(\n", " source_dir='src',\n", " entry_point='train.py',\n", " dependencies=[],\n", " instance_count=1,\n", " instance_type='ml.p3.2xlarge',\n", " framework_version='2.11.0',\n", " role=role,\n", " hyperparameters=hyperparameters,\n", " sagemaker_session=sagemaker_session,\n", " compiler_config=TrainingCompilerConfig(),\n", " py_version=\"py39\",\n", " disable_profiler=True,\n", " metric_definitions=[\n", " {\"Name\": \"training_loss\", \"Regex\": \"loss: ([0-9.]*?) \"},\n", " {\"Name\": \"training_accuracy\", \"Regex\": \"accuracy: ([0-9.]*?) \"},\n", " {\"Name\": \"validation_loss\", \"Regex\": \"val_loss: ([0-9.]*?) \"},\n", " {\"Name\": \"validation_accuracy\", \"Regex\": \"val_accuracy: ([0-9.]*?)$\"}\n", " ],\n", " base_job_name=\"app-flower-classifier-model\"\n", ")" ] }, { "cell_type": "code", "execution_count": 11, "id": "bdd387c7-2716-4c28-8cba-93a0e46f9b2c", "metadata": { "tags": [] }, "outputs": [], "source": [ "from sagemaker.inputs import TrainingInput\n", "from sagemaker.workflow.steps import TrainingStep\n", "from sagemaker.workflow.properties import Properties\n", "\n", "step_train = TrainingStep(\n", " name=\"Train\",\n", " estimator=tf_estimator,\n", " inputs={\n", " \"train\": TrainingInput(\n", " # s3_data=train_data.default_value,\n", " s3_data=train_data.to_string(),\n", " content_type=\"image/*\"\n", " ),\n", " \"test\": TrainingInput(\n", " # s3_data=test_data.default_value,\n", " s3_data=test_data.to_string(),\n", " content_type=\"image/*\"\n", " )\n", " },\n", ")" ] }, { "cell_type": "code", "execution_count": 12, "id": "ced06809-d0ea-4df9-9047-381907b46a0e", "metadata": {}, "outputs": [], "source": [ "# 4. Create Model\n", "\n", "from sagemaker.model import Model\n", "from sagemaker.inputs import CreateModelInput\n", "from sagemaker.workflow.steps import CreateModelStep\n", "\n", "model = Model(\n", " image_uri=\"763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-inference:2.11.0-cpu\", \n", " model_data=step_train.properties.ModelArtifacts.S3ModelArtifacts,\n", " sagemaker_session=sagemaker_session,\n", " predictor_cls=sagemaker.predictor.RealTimePredictor,\n", " role=role\n", ")\n", "\n", "\n", "inputs = CreateModelInput(\n", " instance_type=\"ml.m5.large\",\n", ")\n", "\n", "step_create_model = CreateModelStep(\n", " name=\"CreateModel\",\n", " model=model,\n", " inputs=inputs,\n", ")" ] }, { "cell_type": "code", "execution_count": 13, "id": "357a8dd9-3511-47dc-8b35-708d387226c3", "metadata": { "tags": [] }, "outputs": [], "source": [ "# 5. Create a pipeline\n", "\n", "from sagemaker.workflow.pipeline import Pipeline\n", "\n", "\n", "pipeline_name = f\"AppMlPipeline-Model\"\n", "pipeline = Pipeline(\n", " name=pipeline_name,\n", " parameters=[\n", " train_data,\n", " test_data,\n", " epoch_data,\n", " batch_size_data,\n", " learning_rate_data\n", " ],\n", " steps=[step_train, step_create_model],\n", ")" ] }, { "cell_type": "code", "execution_count": 14, "id": "2b9f0398-6f3d-4be9-838c-359d99369390", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "{'PipelineArn': 'arn:aws:sagemaker:us-west-2:933988069619:pipeline/AppMlPipeline-Model',\n", " 'ResponseMetadata': {'RequestId': 'c58d4397-821d-4850-9b00-6f605bfd0b0d',\n", " 'HTTPStatusCode': 200,\n", " 'HTTPHeaders': {'x-amzn-requestid': 'c58d4397-821d-4850-9b00-6f605bfd0b0d',\n", " 'content-type': 'application/x-amz-json-1.1',\n", " 'content-length': '87',\n", " 'date': 'Sun, 04 Jun 2023 07:55:32 GMT'},\n", " 'RetryAttempts': 0}}" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 6. Run a pipeline\n", "pipeline.upsert(role_arn=role)" ] }, { "cell_type": "code", "execution_count": 15, "id": "b04db5ab", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "{'Version': '2020-12-01',\n", " 'Metadata': {},\n", " 'Parameters': [{'Name': 'TrainData',\n", " 'Type': 'String',\n", " 'DefaultValue': 's3://app-ml-dataset-0410/flowers'},\n", " {'Name': 'TestData',\n", " 'Type': 'String',\n", " 'DefaultValue': 's3://app-ml-dataset-0410/flowers'},\n", " {'Name': 'Epoch', 'Type': 'Integer', 'DefaultValue': 10},\n", " {'Name': 'BatchSize', 'Type': 'Integer', 'DefaultValue': 16},\n", " {'Name': 'LearningRate', 'Type': 'Float', 'DefaultValue': 0.0001}],\n", " 'PipelineExperimentConfig': {'ExperimentName': {'Get': 'Execution.PipelineName'},\n", " 'TrialName': {'Get': 'Execution.PipelineExecutionId'}},\n", " 'Steps': [{'Name': 'Train',\n", " 'Type': 'Training',\n", " 'Arguments': {'AlgorithmSpecification': {'TrainingInputMode': 'File',\n", " 'TrainingImage': '763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-training:2.11.0-gpu-py39',\n", " 'MetricDefinitions': [{'Name': 'training_loss',\n", " 'Regex': 'loss: ([0-9.]*?) '},\n", " {'Name': 'training_accuracy', 'Regex': 'accuracy: ([0-9.]*?) '},\n", " {'Name': 'validation_loss', 'Regex': 'val_loss: ([0-9.]*?) '},\n", " {'Name': 'validation_accuracy', 'Regex': 'val_accuracy: ([0-9.]*?)$'}],\n", " 'EnableSageMakerMetricsTimeSeries': True},\n", " 'OutputDataConfig': {'S3OutputPath': 's3://sagemaker-us-west-2-933988069619/'},\n", " 'StoppingCondition': {'MaxRuntimeInSeconds': 86400},\n", " 'ResourceConfig': {'VolumeSizeInGB': 30,\n", " 'InstanceCount': 1,\n", " 'InstanceType': 'ml.p3.2xlarge'},\n", " 'RoleArn': 'arn:aws:iam::933988069619:role/service-role/AmazonSageMaker-ExecutionRole-20230602T153402',\n", " 'InputDataConfig': [{'DataSource': {'S3DataSource': {'S3DataType': 'S3Prefix',\n", " 'S3Uri': {'Get': 'Parameters.TrainData'},\n", " 'S3DataDistributionType': 'FullyReplicated'}},\n", " 'ContentType': 'image/*',\n", " 'ChannelName': 'train'},\n", " {'DataSource': {'S3DataSource': {'S3DataType': 'S3Prefix',\n", " 'S3Uri': {'Get': 'Parameters.TestData'},\n", " 'S3DataDistributionType': 'FullyReplicated'}},\n", " 'ContentType': 'image/*',\n", " 'ChannelName': 'test'}],\n", " 'HyperParameters': {'epochs': {'Std:Join': {'On': '',\n", " 'Values': [{'Get': 'Parameters.Epoch'}]}},\n", " 'batch-size': {'Std:Join': {'On': '',\n", " 'Values': [{'Get': 'Parameters.BatchSize'}]}},\n", " 'learning-rate': {'Std:Join': {'On': '',\n", " 'Values': [{'Get': 'Parameters.LearningRate'}]}},\n", " 'sagemaker_submit_directory': '\"s3://sagemaker-us-west-2-933988069619/Train-61576aedf77e0891e5bae9f5e8e87f79/source/sourcedir.tar.gz\"',\n", " 'sagemaker_program': '\"train.py\"',\n", " 'sagemaker_container_log_level': '20',\n", " 'sagemaker_region': '\"us-west-2\"',\n", " 'model_dir': '\"s3://sagemaker-us-west-2-933988069619/Train-61576aedf77e0891e5bae9f5e8e87f79/model\"',\n", " 'sagemaker_training_compiler_enabled': 'true',\n", " 'sagemaker_training_compiler_debug_mode': 'false'},\n", " 'DebugHookConfig': {'S3OutputPath': 's3://sagemaker-us-west-2-933988069619/',\n", " 'CollectionConfigurations': []},\n", " 'ProfilerConfig': {'DisableProfiler': True}}},\n", " {'Name': 'CreateModel',\n", " 'Type': 'Model',\n", " 'Arguments': {'ExecutionRoleArn': 'arn:aws:iam::933988069619:role/service-role/AmazonSageMaker-ExecutionRole-20230602T153402',\n", " 'PrimaryContainer': {'Image': '763104351884.dkr.ecr.us-west-2.amazonaws.com/tensorflow-inference:2.11.0-cpu',\n", " 'Environment': {},\n", " 'ModelDataUrl': {'Get': 'Steps.Train.ModelArtifacts.S3ModelArtifacts'}}}}]}" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 6. Describe pipeline\n", "import json\n", "\n", "json.loads(pipeline.definition())" ] }, { "cell_type": "code", "execution_count": null, "id": "d5c9a400-8c1c-443c-ad9e-4fb441353b3f", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "availableInstances": [ { "_defaultOrder": 0, "_isFastLaunch": true, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 4, "name": "ml.t3.medium", "vcpuNum": 2 }, { "_defaultOrder": 1, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 8, "name": "ml.t3.large", "vcpuNum": 2 }, { "_defaultOrder": 2, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.t3.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 3, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.t3.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 4, "_isFastLaunch": true, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 8, "name": "ml.m5.large", "vcpuNum": 2 }, { "_defaultOrder": 5, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.m5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 6, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.m5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 7, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 64, "name": "ml.m5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 8, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 128, "name": "ml.m5.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 9, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 192, "name": "ml.m5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 10, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 256, "name": "ml.m5.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 11, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 384, "name": "ml.m5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 12, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 8, "name": "ml.m5d.large", "vcpuNum": 2 }, { "_defaultOrder": 13, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.m5d.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 14, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.m5d.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 15, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 64, "name": "ml.m5d.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 16, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 128, "name": "ml.m5d.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 17, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 192, "name": "ml.m5d.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 18, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 256, "name": "ml.m5d.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 19, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 384, "name": "ml.m5d.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 20, "_isFastLaunch": false, "category": "General purpose", "gpuNum": 0, "hideHardwareSpecs": true, "memoryGiB": 0, "name": "ml.geospatial.interactive", "supportedImageNames": [ "sagemaker-geospatial-v1-0" ], "vcpuNum": 0 }, { "_defaultOrder": 21, "_isFastLaunch": true, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 4, "name": "ml.c5.large", "vcpuNum": 2 }, { "_defaultOrder": 22, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 8, "name": "ml.c5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 23, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.c5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 24, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.c5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 25, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 72, "name": "ml.c5.9xlarge", "vcpuNum": 36 }, { "_defaultOrder": 26, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 96, "name": "ml.c5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 27, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 144, "name": "ml.c5.18xlarge", "vcpuNum": 72 }, { "_defaultOrder": 28, "_isFastLaunch": false, "category": "Compute optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 192, "name": "ml.c5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 29, "_isFastLaunch": true, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.g4dn.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 30, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.g4dn.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 31, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 64, "name": "ml.g4dn.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 32, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 128, "name": "ml.g4dn.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 33, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "hideHardwareSpecs": false, "memoryGiB": 192, "name": "ml.g4dn.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 34, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 256, "name": "ml.g4dn.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 35, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 61, "name": "ml.p3.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 36, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "hideHardwareSpecs": false, "memoryGiB": 244, "name": "ml.p3.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 37, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "hideHardwareSpecs": false, "memoryGiB": 488, "name": "ml.p3.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 38, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "hideHardwareSpecs": false, "memoryGiB": 768, "name": "ml.p3dn.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 39, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.r5.large", "vcpuNum": 2 }, { "_defaultOrder": 40, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.r5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 41, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 64, "name": "ml.r5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 42, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 128, "name": "ml.r5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 43, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 256, "name": "ml.r5.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 44, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 384, "name": "ml.r5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 45, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 512, "name": "ml.r5.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 46, "_isFastLaunch": false, "category": "Memory Optimized", "gpuNum": 0, "hideHardwareSpecs": false, "memoryGiB": 768, "name": "ml.r5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 47, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 16, "name": "ml.g5.xlarge", "vcpuNum": 4 }, { "_defaultOrder": 48, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 32, "name": "ml.g5.2xlarge", "vcpuNum": 8 }, { "_defaultOrder": 49, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 64, "name": "ml.g5.4xlarge", "vcpuNum": 16 }, { "_defaultOrder": 50, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 128, "name": "ml.g5.8xlarge", "vcpuNum": 32 }, { "_defaultOrder": 51, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 1, "hideHardwareSpecs": false, "memoryGiB": 256, "name": "ml.g5.16xlarge", "vcpuNum": 64 }, { "_defaultOrder": 52, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "hideHardwareSpecs": false, "memoryGiB": 192, "name": "ml.g5.12xlarge", "vcpuNum": 48 }, { "_defaultOrder": 53, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 4, "hideHardwareSpecs": false, "memoryGiB": 384, "name": "ml.g5.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 54, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "hideHardwareSpecs": false, "memoryGiB": 768, "name": "ml.g5.48xlarge", "vcpuNum": 192 }, { "_defaultOrder": 55, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "hideHardwareSpecs": false, "memoryGiB": 1152, "name": "ml.p4d.24xlarge", "vcpuNum": 96 }, { "_defaultOrder": 56, "_isFastLaunch": false, "category": "Accelerated computing", "gpuNum": 8, "hideHardwareSpecs": false, "memoryGiB": 1152, "name": "ml.p4de.24xlarge", "vcpuNum": 96 } ], "instance_type": "ml.t3.medium", "kernelspec": { "display_name": "Python 3 (TensorFlow 2.12.0 Python 3.10 CPU Optimized)", "language": "python", "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-west-2:236514542706:image/tensorflow-2.12.0-cpu-py310-ubuntu20.04-sagemaker-v1" }, "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.10.10" } }, "nbformat": 4, "nbformat_minor": 5 }