# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You # may not use this file except in compliance with the License. A copy of # the License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is # distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF # ANY KIND, either express or implied. See the License for the specific # language governing permissions and limitations under the License. from __future__ import absolute_import SPECIAL_MODEL_SPECS_DICT = { "js-model-package-arn": { "model_id": "meta-textgeneration-llama-2-7b-f", "url": "https://ai.meta.com/resources/models-and-libraries/llama-downloads/", "version": "1.0.0", "min_sdk_version": "2.173.0", "training_supported": False, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.12.0", "py_version": "py38", }, "hosting_artifact_key": "meta-infer/infer-meta-textgeneration-llama-2-7b-f.tar.gz", "hosting_script_key": "source-directory-tarballs/meta/inference/textgeneration/v1.0.0/sourcedir.tar.gz", "hosting_eula_key": "fmhMetadata/eula/llamaEula.txt", "hosting_model_package_arns": { "us-west-2": "arn:aws:sagemaker:us-west-2:594846645681:model-package/" "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", "us-east-1": "arn:aws:sagemaker:us-east-1:865070037744:model-package/" "llama2-7b-f-e46eb8a833643ed58aaccd81498972c3", }, "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "inference_environment_variables": [], "metrics": [], "default_inference_instance_type": "ml.g5.2xlarge", "supported_inference_instance_types": [ "ml.g5.2xlarge", "ml.g5.4xlarge", "ml.g5.8xlarge", "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", "ml.p4d.24xlarge", ], "model_kwargs": {}, "deploy_kwargs": { "model_data_download_timeout": 3600, "container_startup_health_check_timeout": 3600, }, "predictor_specs": { "supported_content_types": ["application/json"], "supported_accept_types": ["application/json"], "default_content_type": "application/json", "default_accept_type": "application/json", }, "inference_volume_size": 256, "inference_enable_network_isolation": True, "validation_supported": False, "fine_tuning_supported": False, "resource_name_base": "meta-textgeneration-llama-2-7b-f", }, "js-trainable-model-prepacked": { "model_id": "huggingface-text2text-flan-t5-base", "url": "https://huggingface.co/google/flan-t5-base", "version": "1.2.0", "min_sdk_version": "2.130.0", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-base.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.4/sourcedir.tar.gz", "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-" "huggingface-text2text-flan-t5-base.tar.gz", "hosting_prepacked_artifact_version": "1.0.0", "inference_vulnerable": False, "inference_dependencies": [ "accelerate==0.16.0", "bitsandbytes==0.37.0", "filelock==3.9.0", "huggingface_hub==0.12.0", "regex==2022.7.9", "tokenizers==0.13.2", "transformers==4.26.0", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [ "Brotli==1.0.9", "absl-py==1.4.0", "accelerate==0.16.0", "datasets==2.9.0", "deepspeed==0.8.0", "evaluate==0.4.0", "hjson==3.1.0", "huggingface_hub==0.13.3", "inflate64==0.3.1", "multivolumefile==0.2.3", "ninja==1.11.1", "nltk==3.8.1", "psutil==5.9.4", "py-cpuinfo==9.0.0", "py7zr==0.20.4", "pybcj==1.0.1", "pycryptodomex==3.17", "pydantic==1.10.2", "pyppmd==1.0.0", "pyzstd==0.15.4", "rouge-score==0.1.2", "sagemaker_jumpstart_script_utilities==1.1.4", "sagemaker_jumpstart_tabular_script_utilities==1.0.0", "tensorboardX==2.6", "texttable==1.6.7", "transformers==4.26.0", ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "epochs", "type": "int", "default": 1, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "seed", "type": "int", "default": 42, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "batch_size", "type": "int", "default": 64, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "learning_rate", "type": "float", "default": 0.0001, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "validation_split_ratio", "type": "float", "default": 0.05, "min": 0, "max": 1, "scope": "algorithm", }, {"name": "train_data_split_seed", "type": "int", "default": 0, "scope": "algorithm"}, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/" "v1.1.0/sourcedir.tar.gz", "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/" "text2text/prepack/v1.0.1/sourcedir.tar.gz", "training_prepacked_script_version": "1.0.1", "training_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", "required_for_model_class": False, }, { "name": "ENDPOINT_SERVER_TIMEOUT", "type": "int", "default": 3600, "scope": "container", "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", "default": 1, "scope": "container", "required_for_model_class": True, }, ], "metrics": [ {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} ], "default_inference_instance_type": "ml.g5.xlarge", "supported_inference_instance_types": [ "ml.g5.xlarge", "ml.p2.xlarge", "ml.g4dn.xlarge", "ml.p3.2xlarge", ], "default_training_instance_type": "ml.p3.16xlarge", "supported_training_instance_types": [ "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.p3dn.24xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", ], "model_kwargs": {}, "deploy_kwargs": {}, "estimator_kwargs": {"encrypt_inter_container_traffic": False}, "fit_kwargs": {}, "predictor_specs": { "supported_content_types": ["application/x-text"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-text", "default_accept_type": "application/json", }, }, "js-model-class-model-prepacked": { "model_id": "huggingface-txt2img-conflictx-complex-lineart", "url": "https://huggingface.co/Conflictx/Complex-Lineart", "version": "1.1.0", "min_sdk_version": "2.81.0", "training_supported": False, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-txt2img-conflictx-complex-lineart.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/txt2img/v1.1.0/sourcedir.tar.gz", "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-huggingface-txt2img-" "conflictx-complex-lineart.tar.gz", "hosting_prepacked_artifact_version": "1.0.0", "inference_vulnerable": False, "inference_dependencies": [ "accelerate==0.16.0", "diffusers==0.12.1", "huggingface_hub==0.12.0", "transformers==4.26.0", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", "required_for_model_class": False, }, { "name": "ENDPOINT_SERVER_TIMEOUT", "type": "int", "default": 3600, "scope": "container", "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", "default": 1, "scope": "container", "required_for_model_class": True, }, ], "metrics": [], "default_inference_instance_type": "ml.p3.2xlarge", "supported_inference_instance_types": ["ml.p2.xlarge", "ml.p3.2xlarge", "ml.g4dn.xlarge"], "model_kwargs": {}, "deploy_kwargs": {}, "predictor_specs": { "supported_content_types": ["application/json"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/json", "default_accept_type": "application/json", }, }, "deprecated_model": { "model_id": "huggingface-text2text-flan-t5-base", "url": "https://huggingface.co/google/flan-t5-base", "version": "1.2.0", "min_sdk_version": "2.130.0", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-base.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.4/sourcedir.tar.gz", "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-" "huggingface-text2text-flan-t5-base.tar.gz", "hosting_prepacked_artifact_version": "1.0.0", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": True, "hyperparameters": [], "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/" "v1.1.0/sourcedir.tar.gz", "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/" "text2text/prepack/v1.0.1/sourcedir.tar.gz", "training_prepacked_script_version": "1.0.1", "training_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", "required_for_model_class": False, }, { "name": "ENDPOINT_SERVER_TIMEOUT", "type": "int", "default": 3600, "scope": "container", "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", "default": 1, "scope": "container", "required_for_model_class": True, }, ], "metrics": [ {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} ], "default_inference_instance_type": "ml.g5.xlarge", "supported_inference_instance_types": [ "ml.g5.xlarge", "ml.p2.xlarge", "ml.g4dn.xlarge", "ml.p3.2xlarge", ], "default_training_instance_type": "ml.p3.16xlarge", "supported_training_instance_types": [ "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.p3dn.24xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", ], "model_kwargs": {}, "deploy_kwargs": {}, "estimator_kwargs": {"encrypt_inter_container_traffic": False}, "fit_kwargs": {}, "predictor_specs": { "supported_content_types": ["application/x-text"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-text", "default_accept_type": "application/json", }, }, "vulnerable_model": { "model_id": "huggingface-text2text-flan-t5-base", "url": "https://huggingface.co/google/flan-t5-base", "version": "1.2.0", "min_sdk_version": "2.130.0", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-base.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.4/sourcedir.tar.gz", "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-" "huggingface-text2text-flan-t5-base.tar.gz", "hosting_prepacked_artifact_version": "1.0.0", "inference_vulnerable": True, "inference_dependencies": ["blah"], "inference_vulnerabilities": ["blah"], "training_vulnerable": True, "training_dependencies": ["blah"], "training_vulnerabilities": ["blah"], "deprecated": False, "hyperparameters": [], "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/text2text/" "v1.1.0/sourcedir.tar.gz", "training_prepacked_script_key": "source-directory-tarballs/huggingface/transfer_learning/" "text2text/prepack/v1.0.1/sourcedir.tar.gz", "training_prepacked_script_version": "1.0.1", "training_ecr_specs": { "framework": "huggingface", "framework_version": "1.10.2", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "training_artifact_key": "huggingface-training/train-huggingface-text2text-flan-t5-base.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", "required_for_model_class": False, }, { "name": "ENDPOINT_SERVER_TIMEOUT", "type": "int", "default": 3600, "scope": "container", "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", "default": 1, "scope": "container", "required_for_model_class": True, }, ], "metrics": [ {"Name": "huggingface-text2text:eval-loss", "Regex": "'eval_loss': ([0-9\\.]+)"} ], "default_inference_instance_type": "ml.g5.xlarge", "supported_inference_instance_types": [ "ml.g5.xlarge", "ml.p2.xlarge", "ml.g4dn.xlarge", "ml.p3.2xlarge", ], "default_training_instance_type": "ml.p3.16xlarge", "supported_training_instance_types": [ "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.p3dn.24xlarge", "ml.g5.24xlarge", "ml.g5.48xlarge", ], "model_kwargs": {}, "deploy_kwargs": {}, "estimator_kwargs": {"encrypt_inter_container_traffic": False}, "fit_kwargs": {}, "predictor_specs": { "supported_content_types": ["application/x-text"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-text", "default_accept_type": "application/json", }, }, "js-trainable-model": { "model_id": "autogluon-classification-ensemble", "url": "https://auto.gluon.ai/stable/index.html", "version": "1.1.1", "min_sdk_version": "2.103.0", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "autogluon", "framework_version": "0.4.3", "py_version": "py38", }, "hosting_artifact_key": "autogluon-infer/v1.1.0/infer-autogluon-classification-ensemble.tar.gz", "hosting_script_key": "source-directory-tarballs/autogluon/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": ["sagemaker_jumpstart_script_utilities==1.0.1"], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ {"name": "eval_metric", "type": "text", "default": "auto", "scope": "algorithm"}, { "name": "presets", "type": "text", "default": "medium_quality", "options": [ "best_quality", "high_quality", "good_quality", "medium_quality", "optimize_for_deployment", "interpretable", ], "scope": "algorithm", }, { "name": "auto_stack", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { "name": "num_bag_folds", "type": "text", "default": "0", "options": ["0", "2", "3", "4", "5", "6", "7", "8", "9", "10"], "scope": "algorithm", }, {"name": "num_bag_sets", "type": "int", "default": 1, "min": 1, "scope": "algorithm"}, { "name": "num_stack_levels", "type": "int", "default": 0, "min": 0, "max": 3, "scope": "algorithm", }, { "name": "refit_full", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { "name": "set_best_to_refit_full", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { "name": "save_space", "type": "text", "default": "False", "options": ["True", "False"], "scope": "algorithm", }, { "name": "verbosity", "type": "int", "default": 2, "min": 0, "max": 4, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/autogluon/transfer_learning/classification/" "v1.0.2/sourcedir.tar.gz", "training_ecr_specs": { "framework": "autogluon", "framework_version": "0.4.3", "py_version": "py38", }, "training_artifact_key": "autogluon-training/train-autogluon-classification-ensemble.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", "required_for_model_class": False, }, { "name": "ENDPOINT_SERVER_TIMEOUT", "type": "int", "default": 3600, "scope": "container", "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", "default": 1, "scope": "container", "required_for_model_class": True, }, ], "metrics": [], "default_inference_instance_type": "ml.p2.xlarge", "supported_inference_instance_types": [ "ml.p2.xlarge", "ml.p3.2xlarge", "ml.g4dn.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.12xlarge", "ml.m5.24xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.18xlarge", ], "default_training_instance_type": "ml.p3.2xlarge", "supported_training_instance_types": [ "ml.m5.xlarge", "ml.m5.2xlarge", "ml.m5.4xlarge", "ml.m5.12xlarge", "ml.m5.24xlarge", "ml.c5.2xlarge", "ml.c5.4xlarge", "ml.c5.9xlarge", "ml.c5.18xlarge", "ml.p2.xlarge", "ml.p3.2xlarge", "ml.g4dn.xlarge", ], "model_kwargs": {}, "deploy_kwargs": {}, "estimator_kwargs": {"encrypt_inter_container_traffic": True}, "fit_kwargs": {}, "predictor_specs": { "supported_content_types": ["text/csv"], "supported_accept_types": ["application/json"], "default_content_type": "text/csv", "default_accept_type": "application/json", }, "resource_name_base": "blahblahblah", }, "predictor-specs-model": { "model_id": "huggingface-text2text-flan-t5-xxl-fp16", "url": "https://huggingface.co/google/flan-t5-xxl", "version": "1.0.1", "min_sdk_version": "2.130.0", "training_supported": False, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.12.0", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.3/sourcedir.tar.gz", "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.1/infer-prepack-huggingface-" "text2text-flan-t5-xxl-fp16.tar.gz", "hosting_prepacked_artifact_version": "1.0.1", "inference_vulnerable": False, "inference_dependencies": [ "accelerate==0.16.0", "bitsandbytes==0.37.0", "filelock==3.9.0", "huggingface_hub==0.12.0", "regex==2022.7.9", "tokenizers==0.13.2", "transformers==4.26.0", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], "metrics": [], "default_inference_instance_type": "ml.g5.12xlarge", "supported_inference_instance_types": [ "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.12xlarge", ], "predictor_specs": { "supported_content_types": ["application/x-text"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-text", "default_accept_type": "application/json", }, }, "no-supported-instance-types-model": { "model_id": "pytorch-ic-mobilenet-v2", "url": "https://pytorch.org/hub/pytorch_vision_mobilenet_v2/", "version": "1.0.0", "min_sdk_version": "2.49.0", "training_supported": True, "incremental_training_supported": True, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.5.0", "py_version": "py3", }, "training_ecr_specs": { "framework": "pytorch", "framework_version": "1.5.0", "py_version": "py3", }, "hosting_artifact_key": "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz", "training_artifact_key": "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz", "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", "hyperparameters": [ { "name": "epochs", "type": "int", "default": 3, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "adam-learning-rate", "type": "float", "default": 0.05, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "batch-size", "type": "int", "default": 4, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], "default_inference_instance_type": "", "supported_inference_instance_types": None, "default_training_instance_type": None, "supported_training_instance_types": [], "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "metrics": [], }, "huggingface-text2text-flan-t5-xxl-fp16": { "model_id": "huggingface-text2text-flan-t5-xxl-fp16", "url": "https://huggingface.co/google/flan-t5-xxl", "version": "1.0.0", "min_sdk_version": "2.130.0", "training_supported": False, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.12.0", "py_version": "py38", "huggingface_transformers_version": "4.17.0", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-text2text-flan-t5-xxl-fp16.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/text2text/v1.0.2/sourcedir.tar.gz", "hosting_prepacked_artifact_key": "huggingface-infer/prepack/v1.0.0/infer-prepack-huggingface-" "text2text-flan-t5-xxl-fp16.tar.gz", "hosting_prepacked_artifact_version": "1.0.0", "inference_vulnerable": False, "inference_dependencies": [ "accelerate==0.16.0", "bitsandbytes==0.37.0", "filelock==3.9.0", "huggingface-hub==0.12.0", "regex==2022.7.9", "tokenizers==0.13.2", "transformers==4.26.0", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], "inference_vulnerable": False, "training_vulnerable": False, "deprecated": False, "default_training_instance_type": None, "supported_training_instance_types": [], "metrics": [], "default_inference_instance_type": "ml.g5.12xlarge", "supported_inference_instance_types": [ "ml.g5.12xlarge", "ml.g5.24xlarge", "ml.p3.8xlarge", "ml.p3.16xlarge", "ml.g4dn.12xlarge", ], }, "mock-model-training-prepacked-script-key": { "model_id": "sklearn-classification-linear", "url": "https://scikit-learn.org/stable/", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "sklearn", "framework_version": "0.23-1", "py_version": "py3", }, "hosting_artifact_key": "sklearn-infer/infer-sklearn-classification-linear.tar.gz", "hosting_script_key": "source-directory-tarballs/sklearn/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "tol", "type": "float", "default": 0.0001, "min": 1e-20, "max": 50, "scope": "algorithm", }, { "name": "penalty", "type": "text", "default": "l2", "options": ["l1", "l2", "elasticnet", "none"], "scope": "algorithm", }, { "name": "alpha", "type": "float", "default": 0.0001, "min": 1e-20, "max": 999, "scope": "algorithm", }, { "name": "l1_ratio", "type": "float", "default": 0.15, "min": 0, "max": 1, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/sklearn/transfer_learning/classification/" "v1.0.0/sourcedir.tar.gz", "training_prepacked_script_key": "some/key/to/training_prepacked_script_key.tar.gz", "training_ecr_specs": { "framework_version": "0.23-1", "framework": "sklearn", "py_version": "py3", }, "training_artifact_key": "sklearn-training/train-sklearn-classification-linear.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, } PROTOTYPICAL_MODEL_SPECS_DICT = { "pytorch-eqa-bert-base-cased": { "model_id": "pytorch-eqa-bert-base-cased", "url": "https://pytorch.org/hub/huggingface_pytorch-transformers/", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.5.0", "py_version": "py3", }, "hosting_artifact_key": "pytorch-infer/infer-pytorch-eqa-bert-base-cased.tar.gz", "hosting_script_key": "source-directory-tarballs/pytorch/inference/eqa/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [ "transformers==3.5.1", "dataclasses==0.8", "filelock==3.0.12", "packaging==20.8", "pyparsing==2.4.7", "regex==2020.11.13", "sacremoses==0.0.43", "sentencepiece==0.1.91", "tokenizers==0.9.3", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [ "transformers==3.5.1", "dataclasses==0.8", "filelock==3.0.12", "packaging==20.8", "pyparsing==2.4.7", "regex==2020.11.13", "sacremoses==0.0.43", "sentencepiece==0.1.91", "tokenizers==0.9.3", ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "epochs", "type": "int", "default": 3, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "adam-learning-rate", "type": "float", "default": 2e-05, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "batch-size", "type": "int", "default": 4, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/eqa/v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "1.5.0", "framework": "pytorch", "py_version": "py3", }, "training_artifact_key": "pytorch-training/train-pytorch-eqa-bert-base-cased.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1": { "model_id": "tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1", "url": "https://tfhub.dev/google/bit/m-r101x1/ilsvrc2012_classification/1", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "tensorflow", "framework_version": "2.3", "py_version": "py37", }, "hosting_artifact_key": "tensorflow-infer/infer-tensorflow-ic-bit-m-r101x1-ilsvrc2012-classification-1.tar.gz", "hosting_script_key": "source-directory-tarballs/tensorflow/inference/ic/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "epochs", "type": "int", "default": 3, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "adam-learning-rate", "type": "float", "default": 0.05, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "batch-size", "type": "int", "default": 4, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/tensorflow/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "2.3", "framework": "tensorflow", "py_version": "py37", }, "training_artifact_key": "tensorflow-training/train-tensorflow-ic-bit-" "m-r101x1-ilsvrc2012-classification-1.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "mxnet-semseg-fcn-resnet50-ade": { "model_id": "mxnet-semseg-fcn-resnet50-ade", "url": "https://cv.gluon.ai/model_zoo/segmentation.html", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "mxnet", "framework_version": "1.7.0", "py_version": "py3", }, "hosting_artifact_key": "mxnet-infer/infer-mxnet-semseg-fcn-resnet50-ade.tar.gz", "hosting_script_key": "source-directory-tarballs/mxnet/inference/semseg/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": ["numpy==1.19.5", "opencv_python==4.0.1.23"], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "epochs", "type": "int", "default": 5, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "adam-learning-rate", "type": "float", "default": 0.001, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "batch-size", "type": "int", "default": 2, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/mxnet/transfer_learning/semseg/v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "1.7.0", "framework": "mxnet", "py_version": "py3", }, "training_artifact_key": "mxnet-training/train-mxnet-semseg-fcn-resnet50-ade.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "huggingface-spc-bert-base-cased": { "model_id": "huggingface-spc-bert-base-cased", "url": "https://huggingface.co/bert-base-cased", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "huggingface", "framework_version": "1.7.1", "py_version": "py36", "huggingface_transformers_version": "4.6.1", }, "hosting_artifact_key": "huggingface-infer/infer-huggingface-spc-bert-base-cased.tar.gz", "hosting_script_key": "source-directory-tarballs/huggingface/inference/spc/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "epochs", "type": "int", "default": 3, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "adam-learning-rate", "type": "float", "default": 2e-05, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "batch-size", "type": "int", "default": 8, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/huggingface/transfer_learning/spc/v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "1.6.0", "framework": "huggingface", "huggingface_transformers_version": "4.4.2", "py_version": "py36", }, "training_artifact_key": "huggingface-training/train-huggingface-spc-bert-base-cased.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "lightgbm-classification-model": { "model_id": "lightgbm-classification-model", "url": "https://lightgbm.readthedocs.io/en/latest/", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.9.0", "py_version": "py38", }, "hosting_artifact_key": "lightgbm-infer/infer-lightgbm-classification-model.tar.gz", "hosting_script_key": "source-directory-tarballs/lightgbm/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [ "plotly==5.1.0", "joblib==1.0.1", "scikit_learn==1.0.1", "tenacity==8.0.1", "lightgbm==3.2.1", "threadpoolctl==2.2.0", "graphviz==0.17", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [ "tenacity==8.0.1", "plotly==5.1.0", "graphviz==0.17", "glibc==0.6.1", "lightgbm==3.2.1", ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "num_boost_round", "type": "int", "default": 5000, "min": 1, "max": 100000, "scope": "algorithm", }, {"name": "early_stopping_rounds", "type": "int", "default": 30, "scope": "algorithm"}, { "name": "learning_rate", "type": "float", "default": 0.009, "min": 1e-20, "scope": "algorithm", }, { "name": "num_leaves", "type": "int", "default": 67, "min": 2, "max": 131072, "scope": "algorithm", }, { "name": "feature_fraction", "type": "float", "default": 0.74, "min": 1e-20, "max": 1, "scope": "algorithm", }, { "name": "bagging_fraction", "type": "float", "default": 0.53, "min": 1e-20, "max": 1, "scope": "algorithm", }, { "name": "bagging_freq", "type": "int", "default": 5, "min": 0, "max": 100000, "scope": "algorithm", }, {"name": "max_depth", "type": "int", "default": 11, "scope": "algorithm"}, { "name": "min_data_in_leaf", "type": "int", "default": 26, "min": 0, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/lightgbm/transfer_learning/classification/" "v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "1.9.0", "framework": "pytorch", "py_version": "py38", }, "training_artifact_key": "lightgbm-training/train-lightgbm-classification-model.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "catboost-classification-model": { "model_id": "catboost-classification-model", "url": "https://catboost.ai/", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.9.0", "py_version": "py38", }, "hosting_artifact_key": "catboost-infer/infer-catboost-classification-model.tar.gz", "hosting_script_key": "source-directory-tarballs/catboost/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [ "tenacity==8.0.1", "plotly==5.1.0", "graphviz==0.17", "pyparsing==2.4.7", "cycler==0.10.0", "kiwisolver==1.3.2", "matplotlib==3.4.3", "catboost==1.0.1", "scikit_learn==1.0.1", "threadpoolctl==2.2.0", ], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [ "tenacity==8.0.1", "plotly==5.1.0", "graphviz==0.17", "catboost==1.0.1", ], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "iterations", "type": "int", "default": 500, "min": 1, "max": 100000, "scope": "algorithm", }, { "name": "early_stopping_rounds", "type": "int", "default": 5, "min": 1, "max": 5000, "scope": "algorithm", }, { "name": "learning_rate", "type": "float", "default": 0.03, "min": 1e-20, "max": 1, "scope": "algorithm", }, { "name": "depth", "type": "int", "default": 6, "min": 1, "max": 16, "scope": "algorithm", }, { "name": "l2_leaf_reg", "type": "int", "default": 3, "min": 1, "max": 10000, "scope": "algorithm", }, { "name": "random_strength", "type": "float", "default": 1.0, "min": 1e-20, "max": 10, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/catboost/transfer_learning/" "classification/v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "1.9.0", "framework": "pytorch", "py_version": "py38", }, "training_artifact_key": "catboost-training/train-catboost-classification-model.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "xgboost-classification-model": { "model_id": "xgboost-classification-model", "url": "https://xgboost.readthedocs.io/en/latest/", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "xgboost", "framework_version": "1.3-1", "py_version": "py3", }, "hosting_artifact_key": "xgboost-infer/infer-xgboost-classification-model.tar.gz", "hosting_script_key": "source-directory-tarballs/xgboost/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "num_boost_round", "type": "int", "default": 5000, "min": 1, "max": 700000, "scope": "algorithm", }, { "name": "early_stopping_rounds", "type": "int", "default": 30, "min": 1, "max": 5000, "scope": "algorithm", }, { "name": "learning_rate", "type": "float", "default": 0.3, "min": 1e-20, "max": 1, "scope": "algorithm", }, {"name": "gamma", "type": "float", "default": 0, "min": 0, "scope": "algorithm"}, { "name": "min_child_weight", "type": "float", "default": 1, "min": 0, "scope": "algorithm", }, {"name": "max_depth", "type": "int", "default": 6, "min": 1, "scope": "algorithm"}, { "name": "subsample", "type": "float", "default": 1, "min": 1e-20, "max": 1, "scope": "algorithm", }, { "name": "colsample_bytree", "type": "float", "default": 1, "min": 1e-20, "max": 1, "scope": "algorithm", }, { "name": "reg_lambda", "type": "float", "default": 1, "min": 0, "max": 200, "scope": "algorithm", }, { "name": "reg_alpha", "type": "float", "default": 0, "min": 0, "max": 200, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/xgboost/transfer_learning/classification/" "v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "1.3-1", "framework": "xgboost", "py_version": "py3", }, "training_artifact_key": "xgboost-training/train-xgboost-classification-model.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, "sklearn-classification-linear": { "model_id": "sklearn-classification-linear", "url": "https://scikit-learn.org/stable/", "version": "1.0.0", "min_sdk_version": "2.68.1", "training_supported": True, "incremental_training_supported": False, "hosting_ecr_specs": { "framework": "sklearn", "framework_version": "0.23-1", "py_version": "py3", }, "hosting_artifact_key": "sklearn-infer/infer-sklearn-classification-linear.tar.gz", "hosting_script_key": "source-directory-tarballs/sklearn/inference/classification/v1.0.0/sourcedir.tar.gz", "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "hyperparameters": [ { "name": "tol", "type": "float", "default": 0.0001, "min": 1e-20, "max": 50, "scope": "algorithm", }, { "name": "penalty", "type": "text", "default": "l2", "options": ["l1", "l2", "elasticnet", "none"], "scope": "algorithm", }, { "name": "alpha", "type": "float", "default": 0.0001, "min": 1e-20, "max": 999, "scope": "algorithm", }, { "name": "l1_ratio", "type": "float", "default": 0.15, "min": 0, "max": 1, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "training_script_key": "source-directory-tarballs/sklearn/transfer_learning/classification/" "v1.0.0/sourcedir.tar.gz", "training_ecr_specs": { "framework_version": "0.23-1", "framework": "sklearn", "py_version": "py3", }, "training_artifact_key": "sklearn-training/train-sklearn-classification-linear.tar.gz", "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", }, {"name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container"}, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "text", "default": "1", "scope": "container", }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", }, ], }, } BASE_SPEC = { "model_id": "pytorch-ic-mobilenet-v2", "url": "https://pytorch.org/hub/pytorch_vision_mobilenet_v2/", "version": "1.0.0", "min_sdk_version": "2.49.0", "training_supported": True, "incremental_training_supported": True, "hosting_ecr_specs": { "framework": "pytorch", "framework_version": "1.5.0", "py_version": "py3", }, "training_ecr_specs": { "framework": "pytorch", "framework_version": "1.5.0", "py_version": "py3", }, "hosting_artifact_key": "pytorch-infer/infer-pytorch-ic-mobilenet-v2.tar.gz", "training_artifact_key": "pytorch-training/train-pytorch-ic-mobilenet-v2.tar.gz", "hosting_script_key": "source-directory-tarballs/pytorch/inference/ic/v1.0.0/sourcedir.tar.gz", "training_script_key": "source-directory-tarballs/pytorch/transfer_learning/ic/v1.0.0/sourcedir.tar.gz", "training_prepacked_script_key": None, "hosting_prepacked_artifact_key": None, "deprecate_warn_message": None, "deprecated_message": None, "hosting_model_package_arns": None, "hosting_eula_key": None, "hyperparameters": [ { "name": "epochs", "type": "int", "default": 3, "min": 1, "max": 1000, "scope": "algorithm", }, { "name": "adam-learning-rate", "type": "float", "default": 0.05, "min": 1e-08, "max": 1, "scope": "algorithm", }, { "name": "batch-size", "type": "int", "default": 4, "min": 1, "max": 1024, "scope": "algorithm", }, { "name": "sagemaker_submit_directory", "type": "text", "default": "/opt/ml/input/data/code/sourcedir.tar.gz", "scope": "container", }, { "name": "sagemaker_program", "type": "text", "default": "transfer_learning.py", "scope": "container", }, { "name": "sagemaker_container_log_level", "type": "text", "default": "20", "scope": "container", }, ], "inference_environment_variables": [ { "name": "SAGEMAKER_PROGRAM", "type": "text", "default": "inference.py", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_SUBMIT_DIRECTORY", "type": "text", "default": "/opt/ml/model/code", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_CONTAINER_LOG_LEVEL", "type": "text", "default": "20", "scope": "container", "required_for_model_class": False, }, { "name": "SAGEMAKER_MODEL_SERVER_TIMEOUT", "type": "text", "default": "3600", "scope": "container", "required_for_model_class": False, }, { "name": "ENDPOINT_SERVER_TIMEOUT", "type": "int", "default": 3600, "scope": "container", "required_for_model_class": True, }, { "name": "MODEL_CACHE_ROOT", "type": "text", "default": "/opt/ml/model", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_ENV", "type": "text", "default": "1", "scope": "container", "required_for_model_class": True, }, { "name": "SAGEMAKER_MODEL_SERVER_WORKERS", "type": "int", "default": 1, "scope": "container", "required_for_model_class": True, }, ], "inference_vulnerable": False, "inference_dependencies": [], "inference_vulnerabilities": [], "training_vulnerable": False, "training_dependencies": [], "training_vulnerabilities": [], "deprecated": False, "default_inference_instance_type": "ml.p2.xlarge", "supported_inference_instance_types": [ "ml.p2.xlarge", "ml.p3.2xlarge", "ml.g4dn.xlarge", "ml.m5.large", "ml.m5.xlarge", "ml.c5.xlarge", "ml.c5.2xlarge", ], "default_training_instance_type": "ml.p3.2xlarge", "supported_training_instance_types": [ "ml.p3.2xlarge", "ml.p2.xlarge", "ml.g4dn.2xlarge", "ml.m5.xlarge", "ml.c5.2xlarge", ], "metrics": [{"Regex": "val_accuracy: ([0-9\\.]+)", "Name": "pytorch-ic:val-accuracy"}], "model_kwargs": {"some-model-kwarg-key": "some-model-kwarg-value"}, "deploy_kwargs": {"some-model-deploy-kwarg-key": "some-model-deploy-kwarg-value"}, "estimator_kwargs": { "encrypt_inter_container_traffic": True, }, "fit_kwargs": {"some-estimator-fit-key": "some-estimator-fit-value"}, "predictor_specs": { "supported_content_types": ["application/x-image"], "supported_accept_types": ["application/json;verbose", "application/json"], "default_content_type": "application/x-image", "default_accept_type": "application/json", }, "inference_volume_size": 123, "training_volume_size": 456, "inference_enable_network_isolation": True, "training_enable_network_isolation": False, "resource_name_base": "dfsdfsds", } BASE_HEADER = { "model_id": "tensorflow-ic-imagenet-inception-v3-classification-4", "version": "1.0.0", "min_version": "2.49.0", "spec_key": "community_models_specs/tensorflow-ic-imagenet" "-inception-v3-classification-4/specs_v1.0.0.json", } BASE_MANIFEST = [ { "model_id": "tensorflow-ic-imagenet-inception-v3-classification-4", "version": "1.0.0", "min_version": "2.49.0", "spec_key": "community_models_specs/tensorflow-ic-imagenet" "-inception-v3-classification-4/specs_v1.0.0.json", }, { "model_id": "tensorflow-ic-imagenet-inception-v3-classification-4", "version": "2.0.0", "min_version": "2.49.0", "spec_key": "community_models_specs/tensorflow-ic-imagenet" "-inception-v3-classification-4/specs_v2.0.0.json", }, { "model_id": "pytorch-ic-imagenet-inception-v3-classification-4", "version": "1.0.0", "min_version": "2.49.0", "spec_key": "community_models_specs/pytorch-ic-" "imagenet-inception-v3-classification-4/specs_v1.0.0.json", }, { "model_id": "pytorch-ic-imagenet-inception-v3-classification-4", "version": "2.0.0", "min_version": "2.49.0", "spec_key": "community_models_specs/pytorch-ic-imagenet-" "inception-v3-classification-4/specs_v2.0.0.json", }, { "model_id": "tensorflow-ic-imagenet-inception-v3-classification-4", "version": "3.0.0", "min_version": "4.49.0", "spec_key": "community_models_specs/tensorflow-ic-" "imagenet-inception-v3-classification-4/specs_v3.0.0.json", }, ]