{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "81bbc9bf-0d75-492d-bd5e-a6717cd4280c", "metadata": { "tags": [] }, "outputs": [], "source": [ "import time\n", "import boto3\n", "import sagemaker\n", "import json\n", "import sys\n", "from time import gmtime, strftime\n", "from sagemaker import get_execution_role\n", "from sagemaker.workflow.steps import TrainingStep\n", "from sagemaker.estimator import Estimator\n", "from sagemaker.workflow.steps import ProcessingStep\n", "from sagemaker.processing import Processor, ProcessingOutput\n", "from sagemaker.workflow.conditions import ConditionEquals\n", "from sagemaker.workflow.condition_step import ConditionStep\n", "from sagemaker.inputs import FileSystemInput\n", "from sagemaker.workflow.pipeline import Pipeline\n", "from sagemaker.workflow.pipeline_context import PipelineSession\n", "from sagemaker.workflow.parameters import (\n", " ParameterInteger,\n", " ParameterString,\n", " ParameterFloat,\n", " ParameterBoolean\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "af98be9e-3c4c-48fe-b980-5b5e9c89e505", "metadata": { "tags": [] }, "outputs": [], "source": [ "client = boto3.client(\"sts\")\n", "account=client.get_caller_identity()[\"Account\"]\n", "\n", "sess=sagemaker.Session()\n", "region = boto3.session.Session().region_name\n", "role = get_execution_role()\n", "default_bucket= sess.default_bucket()\n", "\n", "print(sagemaker.__version__)\n", "pipeline_session = PipelineSession()" ] }, { "cell_type": "code", "execution_count": null, "id": "730b529d-b16a-4449-856f-e2d974f74664", "metadata": { "tags": [] }, "outputs": [], "source": [ "#User Input - Static Environment Varaibles\n", "prefix='xxxxxx'\n", "\n", "file_system_id = \"xxxxxx\" \n", "fsx_mount_id = \"xxxxxx\" \n", "\n", "vpc_subnet_ids = ['xxxxxx'] \n", "security_group_ids = ['xxxxxx'] \n", "\n", "#Below variables do not need to be changed if using default settings\n", "file_system_access_mode = 'ro'\n", "file_system_type = 'FSxLustre'\n", "file_system_directory_path = f'/{fsx_mount_id}/{prefix}/alphafold-genetic-db'\n", "\n", "alphafold_image_uri = f'{account}.dkr.ecr.{region}.amazonaws.com/sagemaker-studio-alphafold:v2.3.0-estimator'\n", "openfold_image_uri=f'{account}.dkr.ecr.{region}.amazonaws.com/sagemaker-studio-openfold:v1.0.1'" ] }, { "cell_type": "code", "execution_count": null, "id": "14723a64-40af-4fbf-b4bd-05f37d1488b3", "metadata": { "tags": [] }, "outputs": [], "source": [ "#Dynamic variables which are inputs to each pipeline exection\n", "fasta_file = ParameterString(name=\"FastaFileName\")\n", "fasta_input = ParameterString(name=\"FastaInputS3URI\")\n", "\n", "pipeline_db_preset = ParameterString(name=\"db_preset\",\n", " default_value='full_dbs',\n", " enum_values=['full_dbs', 'reduced_dbs'])\n", "max_template_date = ParameterString(name=\"MaxTemplateDate\")\n", "model_preset = ParameterString(name=\"ModelPreset\")\n", "num_multimer_predictions_per_model = ParameterString(name=\"NumMultimerPredictionsPerModel\")\n", "\n", "msa_instance_type = ParameterString(name=\"MSAInstanceType\", default_value='ml.m5.4xlarge')\n", "instance_type = ParameterString(name=\"InferenceInstanceType\", default_value='ml.g5.4xlarge')" ] }, { "cell_type": "code", "execution_count": null, "id": "3b2f3a7b-b29d-40e5-bcf3-97419b3a3c6b", "metadata": { "tags": [] }, "outputs": [], "source": [ "genetic_db = FileSystemInput(\n", " file_system_id=file_system_id,\n", " file_system_type=file_system_type,\n", " directory_path=file_system_directory_path,\n", " file_system_access_mode=file_system_access_mode\n", ")\n", "\n", "pipeline_fasta_msa = sagemaker.inputs.TrainingInput(fasta_input, \n", " distribution=\"FullyReplicated\", \n", " s3_data_type=\"S3Prefix\",\n", " input_mode='File'\n", " )\n", "pipeline_data_channels_msa = {\"genetic\": genetic_db, 'fasta': pipeline_fasta_msa }\n", "\n", "parameters={\n", " 'DB_PRESET': pipeline_db_preset, \n", " 'FASTA_SUFFIX': fasta_file,\n", " 'MAX_TEMPLATE_DATE': max_template_date,\n", " 'MODEL_PRESET': model_preset,\n", " 'NUM_MULTIMER_PREDICTIONS_PER_MODEL': num_multimer_predictions_per_model,\n", " }\n", "\n", "output_path='s3://%s/%s/job-output/'%(default_bucket, prefix)\n", "\n", "pipeline_msa = Estimator( \n", " source_dir='./source_dir',\n", " entry_point='run_create_alignment.sh',\n", " role=role,\n", " image_uri=alphafold_image_uri,\n", " instance_count=1,\n", " instance_type=msa_instance_type,\n", " volume_size=3000,\n", " sagemaker_session=pipeline_session,\n", " subnets=vpc_subnet_ids,\n", " security_group_ids=security_group_ids,\n", " debugger_hook_config=False,\n", " base_job_name='msa-default-run',\n", " hyperparameters=parameters,\n", " enable_sagemaker_metrics=True,\n", " output_path=output_path)\n", "\n", "pipeline_msa_args = pipeline_msa.fit(inputs=pipeline_data_channels_msa)\n", " \n", "step_msa = TrainingStep(\n", " name=\"RunMSA\",\n", " step_args=pipeline_msa_args,\n", ")" ] }, { "cell_type": "code", "execution_count": null, "id": "4463c6c9-94f6-4af3-a8e2-5ce67f59f559", "metadata": { "tags": [] }, "outputs": [], "source": [ "genetic_db = FileSystemInput(\n", " file_system_id=file_system_id,\n", " file_system_type=file_system_type,\n", " directory_path=file_system_directory_path,\n", " file_system_access_mode=file_system_access_mode\n", ")\n", "\n", "pipeline_fasta_alphafold = sagemaker.inputs.TrainingInput(fasta_input,\n", " distribution=\"FullyReplicated\", \n", " s3_data_type=\"S3Prefix\",\n", " input_mode='File'\n", " )\n", "\n", "model_data=step_msa.properties.ModelArtifacts.S3ModelArtifacts\n", "\n", "msa = sagemaker.inputs.TrainingInput(model_data,\n", " distribution=\"FullyReplicated\", \n", " s3_data_type=\"S3Prefix\",\n", " input_mode='File'\n", " )\n", "\n", "pipeline_data_channels_alphafold = {\"genetic\": genetic_db, 'fasta': pipeline_fasta_alphafold, 'msa': msa}\n", "\n", "parameters={\n", " 'DB_PRESET': pipeline_db_preset, \n", " 'FASTA_SUFFIX': fasta_file,\n", " 'MAX_TEMPLATE_DATE': max_template_date,\n", " 'MODEL_PRESET': model_preset,\n", " 'NUM_MULTIMER_PREDICTIONS_PER_MODEL': num_multimer_predictions_per_model,\n", " }\n", "\n", "output_path='s3://%s/%s/job-output/'%(default_bucket, prefix)\n", "\n", "pipeline_alphafold_default = Estimator( \n", " source_dir='./source_dir',\n", " entry_point='run_alphafold.sh',\n", " role=role,\n", " image_uri=alphafold_image_uri,\n", " instance_count=1,\n", " instance_type=instance_type,\n", " sagemaker_session=pipeline_session,\n", " subnets=vpc_subnet_ids,\n", " security_group_ids=security_group_ids,\n", " debugger_hook_config=False,\n", " base_job_name='alphafold-default-run',\n", " hyperparameters=parameters,\n", " enable_sagemaker_metrics=True,\n", " output_path=output_path)\n", "\n", "pipeline_alphafold_default_args = pipeline_alphafold_default.fit(inputs=pipeline_data_channels_alphafold)\n", " \n", "step_alphafold = TrainingStep(\n", " name=\"RunAlphaFold\",\n", " step_args=pipeline_alphafold_default_args,\n", ")\n", "step_alphafold.add_depends_on([step_msa])" ] }, { "cell_type": "code", "execution_count": null, "id": "3266863f-7bec-4872-a596-62aa71c5014e", "metadata": { "tags": [] }, "outputs": [], "source": [ "genetic_db = FileSystemInput(\n", " file_system_id=file_system_id,\n", " file_system_type=file_system_type,\n", " directory_path=file_system_directory_path,\n", " file_system_access_mode=file_system_access_mode\n", ")\n", "\n", "pipeline_fasta_openfold = sagemaker.inputs.TrainingInput(fasta_input,\n", " distribution=\"FullyReplicated\", \n", " s3_data_type=\"S3Prefix\",\n", " input_mode='File'\n", " )\n", "\n", "s3_param_openfold = sess.upload_data(path='./source_dir/finetuning_ptm_2.pt',\n", " key_prefix=f'{prefix}/openfold_params')\n", "\n", "param_openfold = sagemaker.inputs.TrainingInput(s3_param_openfold,\n", " distribution=\"FullyReplicated\", \n", " s3_data_type=\"S3Prefix\",\n", " input_mode='File'\n", " )\n", "\n", "model_data = step_msa.properties.ModelArtifacts.S3ModelArtifacts\n", "\n", "pipeline_data_channels_openfold = {\"genetic\": genetic_db, 'fasta': pipeline_fasta_openfold, 'param': param_openfold, 'msa':model_data }\n", "\n", "parameters={\n", " 'DB_PRESET': pipeline_db_preset, \n", " }\n", "\n", "output_path='s3://%s/%s/job-output/'%(default_bucket, \"protein-folding/openfold\")\n", "\n", "pipeline_openfold = Estimator( \n", " source_dir='./source_dir',\n", " entry_point='run_openfold.sh',\n", " role=role,\n", " image_uri=openfold_image_uri,\n", " instance_count=1,\n", " instance_type=instance_type,\n", " sagemaker_session=pipeline_session,\n", " subnets=vpc_subnet_ids,\n", " security_group_ids=security_group_ids,\n", " debugger_hook_config=False,\n", " base_job_name='openfold-default-run',\n", " hyperparameters=parameters,\n", " enable_sagemaker_metrics=True,\n", " output_path=output_path,\n", " code_location=output_path)\n", "\n", "pipeline_openfold_args = pipeline_openfold.fit(inputs=pipeline_data_channels_openfold)\n", " \n", "step_openfold = TrainingStep(\n", " name=\"RunOpenFold\",\n", " step_args=pipeline_openfold_args,\n", ")\n", "step_openfold.add_depends_on([step_msa])" ] }, { "cell_type": "code", "execution_count": null, "id": "0db383cb-0511-4d58-b3a3-b781585832f9", "metadata": { "tags": [] }, "outputs": [], "source": [ "pipeline_name = f\"ProteinFoldWorkflow\"\n", "pipeline = Pipeline(\n", " name=pipeline_name,\n", " parameters=[\n", " fasta_file,\n", " fasta_input,\n", " max_template_date,\n", " model_preset,\n", " num_multimer_predictions_per_model,\n", " instance_type,\n", " msa_instance_type,\n", " pipeline_db_preset \n", " ],\n", " steps=[step_msa, step_alphafold, step_openfold],\n", ")\n", "\n", "pipeline.upsert(role_arn=role, \n", " description='Protein_Workflow_MSA_Alphafold_Openfold') " ] }, { "cell_type": "code", "execution_count": null, "id": "39ad3306-31d6-4d2a-88dd-5d5d435b3636", "metadata": {}, "outputs": [], "source": [ "#User inputs for pipeline run \n", "fasta_file = 'T1030.fasta' #Default pipeline execution name will drop .fasta\n", "!mkdir ./sequence_input/\n", "!curl 'https://www.predictioncenter.org/casp14/target.cgi?target=T1030&view=sequence' > ./sequence_input/T1030.fasta " ] }, { "cell_type": "code", "execution_count": null, "id": "cd8f2fa9-80dc-40fb-9928-691087261546", "metadata": { "tags": [] }, "outputs": [], "source": [ "pathName = f'./sequence_input/{fasta_file}'\n", "s3_fasta=sess.upload_data(path=pathName,\n", " key_prefix='alphafoldv2/sequence_input')\n", "\n", "PipelineParameters={\n", " 'FastaInputS3URI':s3_fasta,\n", " 'db_preset': 'full_dbs', \n", " 'FastaFileName': fasta_file,\n", " 'MaxTemplateDate': '2020-05-14',\n", " 'ModelPreset': 'monomer',\n", " 'NumMultimerPredictionsPerModel': '5',\n", " 'InferenceInstanceType':'ml.g5.4xlarge',\n", " 'MSAInstanceType':'ml.m5.4xlarge'\n", " }\n", "\n", "experiment_name = fasta_file[:fasta_file.find(\".\")] \n", "\n", "execution = pipeline.start(execution_display_name=experiment_name, \n", " execution_description=f'This pipeline was executed via SageMaker SDK and is running an inference for {experiment_name}',\n", " parameters=PipelineParameters\n", " )" ] } ], "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 } ], "instance_type": "ml.t3.medium", "kernelspec": { "display_name": "Python 3 (Data Science)", "language": "python", "name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-west-2:236514542706: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 }