@aws/ml-container-creator 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +202 -0
- package/LICENSE-THIRD-PARTY +68620 -0
- package/NOTICE +2 -0
- package/README.md +106 -0
- package/bin/cli.js +365 -0
- package/config/defaults.json +32 -0
- package/config/presets/transformers-djl.json +26 -0
- package/config/presets/transformers-gpu.json +24 -0
- package/config/presets/transformers-lmi.json +27 -0
- package/package.json +129 -0
- package/servers/README.md +419 -0
- package/servers/base-image-picker/catalogs/model-servers.json +1191 -0
- package/servers/base-image-picker/catalogs/python-slim.json +38 -0
- package/servers/base-image-picker/catalogs/triton-backends.json +51 -0
- package/servers/base-image-picker/catalogs/triton.json +38 -0
- package/servers/base-image-picker/index.js +495 -0
- package/servers/base-image-picker/manifest.json +17 -0
- package/servers/base-image-picker/package.json +15 -0
- package/servers/hyperpod-cluster-picker/LICENSE +202 -0
- package/servers/hyperpod-cluster-picker/index.js +424 -0
- package/servers/hyperpod-cluster-picker/manifest.json +14 -0
- package/servers/hyperpod-cluster-picker/package.json +17 -0
- package/servers/instance-recommender/LICENSE +202 -0
- package/servers/instance-recommender/catalogs/instances.json +852 -0
- package/servers/instance-recommender/index.js +284 -0
- package/servers/instance-recommender/manifest.json +16 -0
- package/servers/instance-recommender/package.json +15 -0
- package/servers/lib/LICENSE +202 -0
- package/servers/lib/bedrock-client.js +160 -0
- package/servers/lib/custom-validators.js +46 -0
- package/servers/lib/dynamic-resolver.js +36 -0
- package/servers/lib/package.json +11 -0
- package/servers/lib/schemas/image-catalog.schema.json +185 -0
- package/servers/lib/schemas/instances.schema.json +124 -0
- package/servers/lib/schemas/manifest.schema.json +64 -0
- package/servers/lib/schemas/model-catalog.schema.json +91 -0
- package/servers/lib/schemas/regions.schema.json +26 -0
- package/servers/lib/schemas/triton-backends.schema.json +51 -0
- package/servers/model-picker/catalogs/jumpstart-public.json +66 -0
- package/servers/model-picker/catalogs/popular-diffusors.json +88 -0
- package/servers/model-picker/catalogs/popular-transformers.json +226 -0
- package/servers/model-picker/index.js +1693 -0
- package/servers/model-picker/manifest.json +18 -0
- package/servers/model-picker/package.json +20 -0
- package/servers/region-picker/LICENSE +202 -0
- package/servers/region-picker/catalogs/regions.json +263 -0
- package/servers/region-picker/index.js +230 -0
- package/servers/region-picker/manifest.json +16 -0
- package/servers/region-picker/package.json +15 -0
- package/src/app.js +1007 -0
- package/src/copy-tpl.js +77 -0
- package/src/lib/accelerator-validator.js +39 -0
- package/src/lib/asset-manager.js +385 -0
- package/src/lib/aws-profile-parser.js +181 -0
- package/src/lib/bootstrap-command-handler.js +1647 -0
- package/src/lib/bootstrap-config.js +238 -0
- package/src/lib/ci-register-helpers.js +124 -0
- package/src/lib/ci-report-helpers.js +158 -0
- package/src/lib/ci-stage-helpers.js +268 -0
- package/src/lib/cli-handler.js +529 -0
- package/src/lib/comment-generator.js +544 -0
- package/src/lib/community-reports-validator.js +91 -0
- package/src/lib/config-manager.js +2106 -0
- package/src/lib/configuration-exporter.js +204 -0
- package/src/lib/configuration-manager.js +695 -0
- package/src/lib/configuration-matcher.js +221 -0
- package/src/lib/cpu-validator.js +36 -0
- package/src/lib/cuda-validator.js +57 -0
- package/src/lib/deployment-config-resolver.js +103 -0
- package/src/lib/deployment-entry-schema.js +125 -0
- package/src/lib/deployment-registry.js +598 -0
- package/src/lib/docker-introspection-validator.js +51 -0
- package/src/lib/engine-prefix-resolver.js +60 -0
- package/src/lib/huggingface-client.js +172 -0
- package/src/lib/key-value-parser.js +37 -0
- package/src/lib/known-flags-validator.js +200 -0
- package/src/lib/manifest-cli.js +280 -0
- package/src/lib/mcp-client.js +303 -0
- package/src/lib/mcp-command-handler.js +532 -0
- package/src/lib/neuron-validator.js +80 -0
- package/src/lib/parameter-schema-validator.js +284 -0
- package/src/lib/prompt-runner.js +1349 -0
- package/src/lib/prompts.js +1138 -0
- package/src/lib/registry-command-handler.js +519 -0
- package/src/lib/registry-loader.js +198 -0
- package/src/lib/rocm-validator.js +80 -0
- package/src/lib/schema-validator.js +157 -0
- package/src/lib/sensitive-redactor.js +59 -0
- package/src/lib/template-engine.js +156 -0
- package/src/lib/template-manager.js +341 -0
- package/src/lib/validation-engine.js +314 -0
- package/src/prompt-adapter.js +63 -0
- package/templates/Dockerfile +300 -0
- package/templates/IAM_PERMISSIONS.md +84 -0
- package/templates/MIGRATION.md +488 -0
- package/templates/PROJECT_README.md +439 -0
- package/templates/TEMPLATE_SYSTEM.md +243 -0
- package/templates/buildspec.yml +64 -0
- package/templates/code/chat_template.jinja +1 -0
- package/templates/code/flask/gunicorn_config.py +35 -0
- package/templates/code/flask/wsgi.py +10 -0
- package/templates/code/model_handler.py +387 -0
- package/templates/code/serve +300 -0
- package/templates/code/serve.py +175 -0
- package/templates/code/serving.properties +105 -0
- package/templates/code/start_server.py +39 -0
- package/templates/code/start_server.sh +39 -0
- package/templates/diffusors/Dockerfile +72 -0
- package/templates/diffusors/patch_image_api.py +35 -0
- package/templates/diffusors/serve +115 -0
- package/templates/diffusors/start_server.sh +114 -0
- package/templates/do/.gitkeep +1 -0
- package/templates/do/README.md +541 -0
- package/templates/do/build +83 -0
- package/templates/do/ci +681 -0
- package/templates/do/clean +811 -0
- package/templates/do/config +260 -0
- package/templates/do/deploy +1560 -0
- package/templates/do/export +306 -0
- package/templates/do/logs +319 -0
- package/templates/do/manifest +12 -0
- package/templates/do/push +119 -0
- package/templates/do/register +580 -0
- package/templates/do/run +113 -0
- package/templates/do/submit +417 -0
- package/templates/do/test +1147 -0
- package/templates/hyperpod/configmap.yaml +24 -0
- package/templates/hyperpod/deployment.yaml +71 -0
- package/templates/hyperpod/pvc.yaml +42 -0
- package/templates/hyperpod/service.yaml +17 -0
- package/templates/nginx-diffusors.conf +74 -0
- package/templates/nginx-predictors.conf +47 -0
- package/templates/nginx-tensorrt.conf +74 -0
- package/templates/requirements.txt +61 -0
- package/templates/sample_model/test_inference.py +123 -0
- package/templates/sample_model/train_abalone.py +252 -0
- package/templates/test/test_endpoint.sh +79 -0
- package/templates/test/test_local_image.sh +80 -0
- package/templates/test/test_model_handler.py +180 -0
- package/templates/triton/Dockerfile +128 -0
- package/templates/triton/config.pbtxt +163 -0
- package/templates/triton/model.py +130 -0
- package/templates/triton/requirements.txt +11 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# do-framework configuration
|
|
3
|
+
# This file is sourced by all do scripts
|
|
4
|
+
|
|
5
|
+
# Project identification
|
|
6
|
+
export PROJECT_NAME="<%= projectName %>"
|
|
7
|
+
export DEPLOYMENT_CONFIG="<%= deploymentConfig %>"
|
|
8
|
+
|
|
9
|
+
# Derived from deployment config
|
|
10
|
+
export FRAMEWORK="<%= framework %>"
|
|
11
|
+
export MODEL_SERVER="<%= modelServer %>"
|
|
12
|
+
|
|
13
|
+
# AWS configuration
|
|
14
|
+
export AWS_REGION="<%= awsRegion %>"
|
|
15
|
+
export ECR_REPOSITORY_NAME="ml-container-creator"
|
|
16
|
+
|
|
17
|
+
# Build configuration — WHERE the Docker image gets built
|
|
18
|
+
export BUILD_TARGET="<%= buildTarget %>"
|
|
19
|
+
<% if (buildTarget === 'codebuild') { %>
|
|
20
|
+
export CODEBUILD_COMPUTE_TYPE="<%= codebuildComputeType %>"
|
|
21
|
+
export CODEBUILD_PROJECT_NAME="${PROJECT_NAME}-build-$(date +%Y%m%d)"
|
|
22
|
+
<% } %>
|
|
23
|
+
|
|
24
|
+
# Deployment configuration — WHERE the model runs
|
|
25
|
+
export DEPLOYMENT_TARGET="<%= deploymentTarget %>"
|
|
26
|
+
|
|
27
|
+
<% if (deploymentTarget === 'managed-inference') { %>
|
|
28
|
+
# SageMaker Managed Inference configuration
|
|
29
|
+
export INSTANCE_TYPE="<%= instanceType %>"
|
|
30
|
+
<% if (inferenceAmiVersion) { %>
|
|
31
|
+
export INFERENCE_AMI_VERSION="<%= inferenceAmiVersion %>"
|
|
32
|
+
<% } %>
|
|
33
|
+
<% } %>
|
|
34
|
+
|
|
35
|
+
<% if (deploymentTarget === 'async-inference') { %>
|
|
36
|
+
# SageMaker Managed Inference - Async configuration
|
|
37
|
+
export INSTANCE_TYPE="<%= instanceType %>"
|
|
38
|
+
<% if (inferenceAmiVersion) { %>
|
|
39
|
+
export INFERENCE_AMI_VERSION="<%= inferenceAmiVersion %>"
|
|
40
|
+
<% } %>
|
|
41
|
+
|
|
42
|
+
# Async-specific configuration
|
|
43
|
+
# Resolve AWS account ID at runtime for default resource names
|
|
44
|
+
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text 2>/dev/null || echo "UNKNOWN")
|
|
45
|
+
|
|
46
|
+
<% if (asyncS3OutputPath) { %>
|
|
47
|
+
export ASYNC_S3_OUTPUT_PATH="<%= asyncS3OutputPath %>"
|
|
48
|
+
<% } else { %>
|
|
49
|
+
export ASYNC_S3_OUTPUT_PATH="s3://ml-container-creator-async-${AWS_REGION}-${ACCOUNT_ID}/${PROJECT_NAME}/output/"
|
|
50
|
+
<% } %>
|
|
51
|
+
|
|
52
|
+
<% if (asyncSnsSuccessTopic) { %>
|
|
53
|
+
export ASYNC_SNS_SUCCESS_TOPIC="<%= asyncSnsSuccessTopic %>"
|
|
54
|
+
<% } else { %>
|
|
55
|
+
export ASYNC_SNS_SUCCESS_TOPIC="arn:aws:sns:${AWS_REGION}:${ACCOUNT_ID}:ml-container-creator-${PROJECT_NAME}-async-success"
|
|
56
|
+
<% } %>
|
|
57
|
+
|
|
58
|
+
<% if (asyncSnsErrorTopic) { %>
|
|
59
|
+
export ASYNC_SNS_ERROR_TOPIC="<%= asyncSnsErrorTopic %>"
|
|
60
|
+
<% } else { %>
|
|
61
|
+
export ASYNC_SNS_ERROR_TOPIC="arn:aws:sns:${AWS_REGION}:${ACCOUNT_ID}:ml-container-creator-${PROJECT_NAME}-async-error"
|
|
62
|
+
<% } %>
|
|
63
|
+
|
|
64
|
+
<% if (asyncMaxConcurrentInvocations) { %>
|
|
65
|
+
export ASYNC_MAX_CONCURRENT_INVOCATIONS="<%= asyncMaxConcurrentInvocations %>"
|
|
66
|
+
<% } %>
|
|
67
|
+
<% } %>
|
|
68
|
+
|
|
69
|
+
<% if (deploymentTarget === 'hyperpod-eks') { %>
|
|
70
|
+
# HyperPod EKS configuration
|
|
71
|
+
export HYPERPOD_CLUSTER_NAME="<%= hyperPodCluster %>"
|
|
72
|
+
export HYPERPOD_NAMESPACE="<%= hyperPodNamespace %>"
|
|
73
|
+
export HYPERPOD_REPLICAS="<%= hyperPodReplicas %>"
|
|
74
|
+
<% if (fsxVolumeHandle) { %>
|
|
75
|
+
export FSX_VOLUME_HANDLE="<%= fsxVolumeHandle %>"
|
|
76
|
+
<% } %>
|
|
77
|
+
<% } %>
|
|
78
|
+
|
|
79
|
+
<% if (deploymentTarget === 'batch-transform') { %>
|
|
80
|
+
# SageMaker Managed Inference - Batch configuration
|
|
81
|
+
export INSTANCE_TYPE="<%= instanceType %>"
|
|
82
|
+
|
|
83
|
+
# Resolve AWS account ID at runtime for default resource names
|
|
84
|
+
ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text 2>/dev/null || echo "UNKNOWN")
|
|
85
|
+
|
|
86
|
+
<% if (batchInputPath) { %>
|
|
87
|
+
export BATCH_INPUT_PATH="<%= batchInputPath %>"
|
|
88
|
+
<% } else { %>
|
|
89
|
+
export BATCH_INPUT_PATH="s3://ml-container-creator-batch-${AWS_REGION}-${ACCOUNT_ID}/${PROJECT_NAME}/input/"
|
|
90
|
+
<% } %>
|
|
91
|
+
<% if (batchOutputPath) { %>
|
|
92
|
+
export BATCH_OUTPUT_PATH="<%= batchOutputPath %>"
|
|
93
|
+
<% } else { %>
|
|
94
|
+
export BATCH_OUTPUT_PATH="s3://ml-container-creator-batch-${AWS_REGION}-${ACCOUNT_ID}/${PROJECT_NAME}/output/"
|
|
95
|
+
<% } %>
|
|
96
|
+
export BATCH_INSTANCE_COUNT="<%= batchInstanceCount %>"
|
|
97
|
+
export BATCH_SPLIT_TYPE="<%= batchSplitType %>"
|
|
98
|
+
export BATCH_STRATEGY="<%= batchStrategy %>"
|
|
99
|
+
export BATCH_JOIN_SOURCE="<%= batchJoinSource || 'None' %>"
|
|
100
|
+
<% if (batchMaxConcurrentTransforms) { %>
|
|
101
|
+
export BATCH_MAX_CONCURRENT_TRANSFORMS="<%= batchMaxConcurrentTransforms %>"
|
|
102
|
+
<% } %>
|
|
103
|
+
<% if (batchMaxPayloadInMB) { %>
|
|
104
|
+
export BATCH_MAX_PAYLOAD_IN_MB="<%= batchMaxPayloadInMB %>"
|
|
105
|
+
<% } %>
|
|
106
|
+
<% } %>
|
|
107
|
+
|
|
108
|
+
<% if (typeof endpointInitialInstanceCount !== 'undefined' && endpointInitialInstanceCount != null) { %>
|
|
109
|
+
export ENDPOINT_INITIAL_INSTANCE_COUNT="<%= endpointInitialInstanceCount %>"
|
|
110
|
+
<% } %>
|
|
111
|
+
<% if (typeof endpointDataCapturePercent !== 'undefined' && endpointDataCapturePercent != null) { %>
|
|
112
|
+
export ENDPOINT_DATA_CAPTURE_PERCENT="<%= endpointDataCapturePercent %>"
|
|
113
|
+
<% } %>
|
|
114
|
+
<% if (typeof endpointVariantName !== 'undefined' && endpointVariantName != null) { %>
|
|
115
|
+
export ENDPOINT_VARIANT_NAME="<%= endpointVariantName %>"
|
|
116
|
+
<% } %>
|
|
117
|
+
<% if (typeof endpointVolumeSize !== 'undefined' && endpointVolumeSize != null) { %>
|
|
118
|
+
export ENDPOINT_VOLUME_SIZE="<%= endpointVolumeSize %>"
|
|
119
|
+
<% } %>
|
|
120
|
+
|
|
121
|
+
<% if (typeof icCpuCount !== 'undefined' && icCpuCount != null) { %>
|
|
122
|
+
export IC_CPU_COUNT="<%= icCpuCount %>"
|
|
123
|
+
<% } %>
|
|
124
|
+
<% if (typeof icMemorySize !== 'undefined' && icMemorySize != null) { %>
|
|
125
|
+
export IC_MEMORY_SIZE="<%= icMemorySize %>"
|
|
126
|
+
<% } %>
|
|
127
|
+
<% if (typeof icGpuCount !== 'undefined' && icGpuCount != null) { %>
|
|
128
|
+
export IC_GPU_COUNT="<%= icGpuCount %>"
|
|
129
|
+
<% } %>
|
|
130
|
+
<% if (typeof icCopyCount !== 'undefined' && icCopyCount != null) { %>
|
|
131
|
+
export IC_COPY_COUNT="<%= icCopyCount %>"
|
|
132
|
+
<% } %>
|
|
133
|
+
<% if (typeof icModelWeight !== 'undefined' && icModelWeight != null) { %>
|
|
134
|
+
export IC_MODEL_WEIGHT="<%= icModelWeight %>"
|
|
135
|
+
<% } %>
|
|
136
|
+
|
|
137
|
+
<% if (typeof modelEnvVars !== 'undefined' && modelEnvVars && Object.keys(modelEnvVars).length > 0) { %>
|
|
138
|
+
# Model environment variables
|
|
139
|
+
<% Object.entries(modelEnvVars).forEach(([key, value]) => { %>
|
|
140
|
+
export <%= key %>=${<%= key %>:-<%= value %>}
|
|
141
|
+
<% }); %>
|
|
142
|
+
<% } %>
|
|
143
|
+
|
|
144
|
+
<% if (typeof serverEnvVars !== 'undefined' && serverEnvVars && Object.keys(serverEnvVars).length > 0) { %>
|
|
145
|
+
# Server environment variables
|
|
146
|
+
<% Object.entries(serverEnvVars).forEach(([key, value]) => { %>
|
|
147
|
+
export <%= key %>=${<%= key %>:-<%= value %>}
|
|
148
|
+
<% }); %>
|
|
149
|
+
<% } %>
|
|
150
|
+
|
|
151
|
+
# Framework-specific configuration
|
|
152
|
+
<% if (framework === 'transformers') { %>
|
|
153
|
+
export MODEL_NAME="<%= modelName %>"
|
|
154
|
+
<% if (hfToken) { %>
|
|
155
|
+
export HF_TOKEN="<%= hfToken %>"
|
|
156
|
+
<% } %>
|
|
157
|
+
<% if (ngcApiKey) { %>
|
|
158
|
+
export NGC_API_KEY="<%= ngcApiKey %>"
|
|
159
|
+
<% } %>
|
|
160
|
+
<% } %>
|
|
161
|
+
|
|
162
|
+
<% if (framework === 'diffusors') { %>
|
|
163
|
+
export MODEL_NAME="<%= modelName %>"
|
|
164
|
+
<% if (hfToken) { %>
|
|
165
|
+
export HF_TOKEN="<%= hfToken %>"
|
|
166
|
+
<% } %>
|
|
167
|
+
<% } %>
|
|
168
|
+
|
|
169
|
+
<% if (modelFormat) { %>
|
|
170
|
+
export MODEL_FORMAT="<%= modelFormat %>"
|
|
171
|
+
<% } %>
|
|
172
|
+
|
|
173
|
+
<% if (roleArn) { %>
|
|
174
|
+
export ROLE_ARN="<%= roleArn %>"
|
|
175
|
+
<% } %>
|
|
176
|
+
|
|
177
|
+
<% if (orderedEnvVars && orderedEnvVars.length > 0) { %>
|
|
178
|
+
# Runtime environment variables (from catalog)
|
|
179
|
+
<% orderedEnvVars.forEach(({ key, value }) => { %>
|
|
180
|
+
export <%= key %>=${<%= key %>:-<%= value %>}
|
|
181
|
+
<% }); %>
|
|
182
|
+
<% } %>
|
|
183
|
+
|
|
184
|
+
<% if (baseImage) { %>
|
|
185
|
+
export BASE_IMAGE=${BASE_IMAGE:-<%= baseImage %>}
|
|
186
|
+
<% } %>
|
|
187
|
+
|
|
188
|
+
# Allow environment variable overrides
|
|
189
|
+
export AWS_REGION=${AWS_REGION:-<%= awsRegion %>}
|
|
190
|
+
<% if (deploymentTarget === 'managed-inference' || deploymentTarget === 'async-inference' || deploymentTarget === 'batch-transform') { %>
|
|
191
|
+
export INSTANCE_TYPE=${INSTANCE_TYPE:-<%= instanceType %>}
|
|
192
|
+
<% } %>
|
|
193
|
+
export ECR_REPOSITORY_NAME=${ECR_REPOSITORY_NAME:-ml-container-creator}
|
|
194
|
+
|
|
195
|
+
# Print configuration summary
|
|
196
|
+
echo "⚙️ Configuration loaded"
|
|
197
|
+
echo " Project: ${PROJECT_NAME}"
|
|
198
|
+
echo " Config: ${DEPLOYMENT_CONFIG}"
|
|
199
|
+
echo " Region: ${AWS_REGION}"
|
|
200
|
+
echo " Build target: ${BUILD_TARGET}"
|
|
201
|
+
echo " Deployment target: ${DEPLOYMENT_TARGET}"
|
|
202
|
+
<% if (orderedEnvVars && orderedEnvVars.length > 0) { %>
|
|
203
|
+
echo " Runtime env vars: <%= orderedEnvVars.length %>"
|
|
204
|
+
<% } %>
|
|
205
|
+
<% if ((typeof endpointInitialInstanceCount !== 'undefined' && endpointInitialInstanceCount != null) || (typeof endpointDataCapturePercent !== 'undefined' && endpointDataCapturePercent != null) || (typeof endpointVariantName !== 'undefined' && endpointVariantName != null) || (typeof endpointVolumeSize !== 'undefined' && endpointVolumeSize != null)) { %>
|
|
206
|
+
echo " Endpoint config:"
|
|
207
|
+
<% if (typeof endpointInitialInstanceCount !== 'undefined' && endpointInitialInstanceCount != null) { %>
|
|
208
|
+
echo " Initial instance count: ${ENDPOINT_INITIAL_INSTANCE_COUNT}"
|
|
209
|
+
<% } %>
|
|
210
|
+
<% if (typeof endpointDataCapturePercent !== 'undefined' && endpointDataCapturePercent != null) { %>
|
|
211
|
+
echo " Data capture percent: ${ENDPOINT_DATA_CAPTURE_PERCENT}"
|
|
212
|
+
<% } %>
|
|
213
|
+
<% if (typeof endpointVariantName !== 'undefined' && endpointVariantName != null) { %>
|
|
214
|
+
echo " Variant name: ${ENDPOINT_VARIANT_NAME}"
|
|
215
|
+
<% } %>
|
|
216
|
+
<% if (typeof endpointVolumeSize !== 'undefined' && endpointVolumeSize != null) { %>
|
|
217
|
+
echo " Volume size: ${ENDPOINT_VOLUME_SIZE} GB"
|
|
218
|
+
<% } %>
|
|
219
|
+
<% } %>
|
|
220
|
+
<% if ((typeof icCpuCount !== 'undefined' && icCpuCount != null) || (typeof icMemorySize !== 'undefined' && icMemorySize != null) || (typeof icGpuCount !== 'undefined' && icGpuCount != null) || (typeof icCopyCount !== 'undefined' && icCopyCount != null) || (typeof icModelWeight !== 'undefined' && icModelWeight != null)) { %>
|
|
221
|
+
echo " IC config:"
|
|
222
|
+
<% if (typeof icCpuCount !== 'undefined' && icCpuCount != null) { %>
|
|
223
|
+
echo " CPU count: ${IC_CPU_COUNT}"
|
|
224
|
+
<% } %>
|
|
225
|
+
<% if (typeof icMemorySize !== 'undefined' && icMemorySize != null) { %>
|
|
226
|
+
echo " Memory size: ${IC_MEMORY_SIZE} MB"
|
|
227
|
+
<% } %>
|
|
228
|
+
<% if (typeof icGpuCount !== 'undefined' && icGpuCount != null) { %>
|
|
229
|
+
echo " GPU count: ${IC_GPU_COUNT}"
|
|
230
|
+
<% } %>
|
|
231
|
+
<% if (typeof icCopyCount !== 'undefined' && icCopyCount != null) { %>
|
|
232
|
+
echo " Copy count: ${IC_COPY_COUNT}"
|
|
233
|
+
<% } %>
|
|
234
|
+
<% if (typeof icModelWeight !== 'undefined' && icModelWeight != null) { %>
|
|
235
|
+
echo " Model weight: ${IC_MODEL_WEIGHT}"
|
|
236
|
+
<% } %>
|
|
237
|
+
<% } %>
|
|
238
|
+
<% if (typeof modelEnvVars !== 'undefined' && modelEnvVars && Object.keys(modelEnvVars).length > 0) { %>
|
|
239
|
+
echo " Model env vars: <%= Object.keys(modelEnvVars).length %>"
|
|
240
|
+
<% } %>
|
|
241
|
+
<% if (typeof serverEnvVars !== 'undefined' && serverEnvVars && Object.keys(serverEnvVars).length > 0) { %>
|
|
242
|
+
echo " Server env vars: <%= Object.keys(serverEnvVars).length %>"
|
|
243
|
+
<% } %>
|
|
244
|
+
<% if (deploymentTarget === 'managed-inference') { %>
|
|
245
|
+
echo " Instance: ${INSTANCE_TYPE}"
|
|
246
|
+
<% } else if (deploymentTarget === 'async-inference') { %>
|
|
247
|
+
echo " Instance: ${INSTANCE_TYPE}"
|
|
248
|
+
echo " S3 output: ${ASYNC_S3_OUTPUT_PATH}"
|
|
249
|
+
echo " SNS success: ${ASYNC_SNS_SUCCESS_TOPIC}"
|
|
250
|
+
echo " SNS error: ${ASYNC_SNS_ERROR_TOPIC}"
|
|
251
|
+
<% } else if (deploymentTarget === 'batch-transform') { %>
|
|
252
|
+
echo " Instance: ${INSTANCE_TYPE} x ${BATCH_INSTANCE_COUNT}"
|
|
253
|
+
echo " S3 input: ${BATCH_INPUT_PATH}"
|
|
254
|
+
echo " S3 output: ${BATCH_OUTPUT_PATH}"
|
|
255
|
+
echo " Split type: ${BATCH_SPLIT_TYPE}"
|
|
256
|
+
echo " Strategy: ${BATCH_STRATEGY}"
|
|
257
|
+
<% } else if (deploymentTarget === 'hyperpod-eks') { %>
|
|
258
|
+
echo " HyperPod cluster: ${HYPERPOD_CLUSTER_NAME}"
|
|
259
|
+
echo " Namespace: ${HYPERPOD_NAMESPACE}"
|
|
260
|
+
<% } %>
|