pulumi-oci 1.19.0a1705698401__py3-none-any.whl → 1.20.0__py3-none-any.whl

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.
@@ -0,0 +1,1721 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+
13
+ __all__ = [
14
+ 'DedicatedAiClusterCapacity',
15
+ 'EndpointContentModerationConfig',
16
+ 'ModelFineTuneDetails',
17
+ 'ModelFineTuneDetailsTrainingConfig',
18
+ 'ModelFineTuneDetailsTrainingDataset',
19
+ 'ModelModelMetric',
20
+ 'GetDedicatedAiClusterCapacityResult',
21
+ 'GetDedicatedAiClustersDedicatedAiClusterCollectionResult',
22
+ 'GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult',
23
+ 'GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult',
24
+ 'GetDedicatedAiClustersFilterResult',
25
+ 'GetEndpointContentModerationConfigResult',
26
+ 'GetEndpointsEndpointCollectionResult',
27
+ 'GetEndpointsEndpointCollectionItemResult',
28
+ 'GetEndpointsEndpointCollectionItemContentModerationConfigResult',
29
+ 'GetEndpointsFilterResult',
30
+ 'GetModelFineTuneDetailResult',
31
+ 'GetModelFineTuneDetailTrainingConfigResult',
32
+ 'GetModelFineTuneDetailTrainingDatasetResult',
33
+ 'GetModelModelMetricResult',
34
+ 'GetModelsFilterResult',
35
+ 'GetModelsModelCollectionResult',
36
+ 'GetModelsModelCollectionItemResult',
37
+ 'GetModelsModelCollectionItemFineTuneDetailResult',
38
+ 'GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult',
39
+ 'GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult',
40
+ 'GetModelsModelCollectionItemModelMetricResult',
41
+ ]
42
+
43
+ @pulumi.output_type
44
+ class DedicatedAiClusterCapacity(dict):
45
+ @staticmethod
46
+ def __key_warning(key: str):
47
+ suggest = None
48
+ if key == "capacityType":
49
+ suggest = "capacity_type"
50
+ elif key == "totalEndpointCapacity":
51
+ suggest = "total_endpoint_capacity"
52
+ elif key == "usedEndpointCapacity":
53
+ suggest = "used_endpoint_capacity"
54
+
55
+ if suggest:
56
+ pulumi.log.warn(f"Key '{key}' not found in DedicatedAiClusterCapacity. Access the value via the '{suggest}' property getter instead.")
57
+
58
+ def __getitem__(self, key: str) -> Any:
59
+ DedicatedAiClusterCapacity.__key_warning(key)
60
+ return super().__getitem__(key)
61
+
62
+ def get(self, key: str, default = None) -> Any:
63
+ DedicatedAiClusterCapacity.__key_warning(key)
64
+ return super().get(key, default)
65
+
66
+ def __init__(__self__, *,
67
+ capacity_type: Optional[str] = None,
68
+ total_endpoint_capacity: Optional[int] = None,
69
+ used_endpoint_capacity: Optional[int] = None):
70
+ """
71
+ :param str capacity_type: The type of the dedicated AI cluster capacity.
72
+ :param int total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
73
+ :param int used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
74
+ """
75
+ if capacity_type is not None:
76
+ pulumi.set(__self__, "capacity_type", capacity_type)
77
+ if total_endpoint_capacity is not None:
78
+ pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
79
+ if used_endpoint_capacity is not None:
80
+ pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
81
+
82
+ @property
83
+ @pulumi.getter(name="capacityType")
84
+ def capacity_type(self) -> Optional[str]:
85
+ """
86
+ The type of the dedicated AI cluster capacity.
87
+ """
88
+ return pulumi.get(self, "capacity_type")
89
+
90
+ @property
91
+ @pulumi.getter(name="totalEndpointCapacity")
92
+ def total_endpoint_capacity(self) -> Optional[int]:
93
+ """
94
+ The total number of endpoints that can be hosted on this dedicated AI cluster.
95
+ """
96
+ return pulumi.get(self, "total_endpoint_capacity")
97
+
98
+ @property
99
+ @pulumi.getter(name="usedEndpointCapacity")
100
+ def used_endpoint_capacity(self) -> Optional[int]:
101
+ """
102
+ The number of endpoints hosted on this dedicated AI cluster.
103
+ """
104
+ return pulumi.get(self, "used_endpoint_capacity")
105
+
106
+
107
+ @pulumi.output_type
108
+ class EndpointContentModerationConfig(dict):
109
+ @staticmethod
110
+ def __key_warning(key: str):
111
+ suggest = None
112
+ if key == "isEnabled":
113
+ suggest = "is_enabled"
114
+
115
+ if suggest:
116
+ pulumi.log.warn(f"Key '{key}' not found in EndpointContentModerationConfig. Access the value via the '{suggest}' property getter instead.")
117
+
118
+ def __getitem__(self, key: str) -> Any:
119
+ EndpointContentModerationConfig.__key_warning(key)
120
+ return super().__getitem__(key)
121
+
122
+ def get(self, key: str, default = None) -> Any:
123
+ EndpointContentModerationConfig.__key_warning(key)
124
+ return super().get(key, default)
125
+
126
+ def __init__(__self__, *,
127
+ is_enabled: bool):
128
+ """
129
+ :param bool is_enabled: (Updatable) Whether to enable the content moderation feature.
130
+ """
131
+ pulumi.set(__self__, "is_enabled", is_enabled)
132
+
133
+ @property
134
+ @pulumi.getter(name="isEnabled")
135
+ def is_enabled(self) -> bool:
136
+ """
137
+ (Updatable) Whether to enable the content moderation feature.
138
+ """
139
+ return pulumi.get(self, "is_enabled")
140
+
141
+
142
+ @pulumi.output_type
143
+ class ModelFineTuneDetails(dict):
144
+ @staticmethod
145
+ def __key_warning(key: str):
146
+ suggest = None
147
+ if key == "dedicatedAiClusterId":
148
+ suggest = "dedicated_ai_cluster_id"
149
+ elif key == "trainingDataset":
150
+ suggest = "training_dataset"
151
+ elif key == "trainingConfig":
152
+ suggest = "training_config"
153
+
154
+ if suggest:
155
+ pulumi.log.warn(f"Key '{key}' not found in ModelFineTuneDetails. Access the value via the '{suggest}' property getter instead.")
156
+
157
+ def __getitem__(self, key: str) -> Any:
158
+ ModelFineTuneDetails.__key_warning(key)
159
+ return super().__getitem__(key)
160
+
161
+ def get(self, key: str, default = None) -> Any:
162
+ ModelFineTuneDetails.__key_warning(key)
163
+ return super().get(key, default)
164
+
165
+ def __init__(__self__, *,
166
+ dedicated_ai_cluster_id: str,
167
+ training_dataset: 'outputs.ModelFineTuneDetailsTrainingDataset',
168
+ training_config: Optional['outputs.ModelFineTuneDetailsTrainingConfig'] = None):
169
+ """
170
+ :param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
171
+ :param 'ModelFineTuneDetailsTrainingDatasetArgs' training_dataset: The dataset used to fine-tune the model.
172
+
173
+ Only one dataset is allowed per custom model, which is split 90-10 for training and validating. You must provide the dataset in a JSON Lines (JSONL) file. Each line in the JSONL file must have the format: `{"prompt": "<first prompt>", "completion": "<expected completion given first prompt>"}`
174
+ :param 'ModelFineTuneDetailsTrainingConfigArgs' training_config: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
175
+ """
176
+ pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
177
+ pulumi.set(__self__, "training_dataset", training_dataset)
178
+ if training_config is not None:
179
+ pulumi.set(__self__, "training_config", training_config)
180
+
181
+ @property
182
+ @pulumi.getter(name="dedicatedAiClusterId")
183
+ def dedicated_ai_cluster_id(self) -> str:
184
+ """
185
+ The OCID of the dedicated AI cluster this fine-tuning runs on.
186
+ """
187
+ return pulumi.get(self, "dedicated_ai_cluster_id")
188
+
189
+ @property
190
+ @pulumi.getter(name="trainingDataset")
191
+ def training_dataset(self) -> 'outputs.ModelFineTuneDetailsTrainingDataset':
192
+ """
193
+ The dataset used to fine-tune the model.
194
+
195
+ Only one dataset is allowed per custom model, which is split 90-10 for training and validating. You must provide the dataset in a JSON Lines (JSONL) file. Each line in the JSONL file must have the format: `{"prompt": "<first prompt>", "completion": "<expected completion given first prompt>"}`
196
+ """
197
+ return pulumi.get(self, "training_dataset")
198
+
199
+ @property
200
+ @pulumi.getter(name="trainingConfig")
201
+ def training_config(self) -> Optional['outputs.ModelFineTuneDetailsTrainingConfig']:
202
+ """
203
+ The fine-tuning method and hyperparameters used for fine-tuning a custom model.
204
+ """
205
+ return pulumi.get(self, "training_config")
206
+
207
+
208
+ @pulumi.output_type
209
+ class ModelFineTuneDetailsTrainingConfig(dict):
210
+ @staticmethod
211
+ def __key_warning(key: str):
212
+ suggest = None
213
+ if key == "trainingConfigType":
214
+ suggest = "training_config_type"
215
+ elif key == "earlyStoppingPatience":
216
+ suggest = "early_stopping_patience"
217
+ elif key == "earlyStoppingThreshold":
218
+ suggest = "early_stopping_threshold"
219
+ elif key == "learningRate":
220
+ suggest = "learning_rate"
221
+ elif key == "logModelMetricsIntervalInSteps":
222
+ suggest = "log_model_metrics_interval_in_steps"
223
+ elif key == "numOfLastLayers":
224
+ suggest = "num_of_last_layers"
225
+ elif key == "totalTrainingEpochs":
226
+ suggest = "total_training_epochs"
227
+ elif key == "trainingBatchSize":
228
+ suggest = "training_batch_size"
229
+
230
+ if suggest:
231
+ pulumi.log.warn(f"Key '{key}' not found in ModelFineTuneDetailsTrainingConfig. Access the value via the '{suggest}' property getter instead.")
232
+
233
+ def __getitem__(self, key: str) -> Any:
234
+ ModelFineTuneDetailsTrainingConfig.__key_warning(key)
235
+ return super().__getitem__(key)
236
+
237
+ def get(self, key: str, default = None) -> Any:
238
+ ModelFineTuneDetailsTrainingConfig.__key_warning(key)
239
+ return super().get(key, default)
240
+
241
+ def __init__(__self__, *,
242
+ training_config_type: str,
243
+ early_stopping_patience: Optional[int] = None,
244
+ early_stopping_threshold: Optional[float] = None,
245
+ learning_rate: Optional[float] = None,
246
+ log_model_metrics_interval_in_steps: Optional[int] = None,
247
+ num_of_last_layers: Optional[int] = None,
248
+ total_training_epochs: Optional[int] = None,
249
+ training_batch_size: Optional[int] = None):
250
+ """
251
+ :param str training_config_type: The fine-tuning method for training a custom model.
252
+ :param int early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
253
+ :param float early_stopping_threshold: How much the loss must improve to prevent early stopping.
254
+ :param float learning_rate: The initial learning rate to be used during training
255
+ :param int log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
256
+
257
+ Every step is logged for the first 20 steps and then follows this parameter for log frequency. Set to 0 to disable logging the model metrics.
258
+ :param int num_of_last_layers: The number of last layers to be fine-tuned.
259
+ :param int total_training_epochs: The maximum number of training epochs to run for.
260
+ :param int training_batch_size: The batch size used during training.
261
+ """
262
+ pulumi.set(__self__, "training_config_type", training_config_type)
263
+ if early_stopping_patience is not None:
264
+ pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
265
+ if early_stopping_threshold is not None:
266
+ pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
267
+ if learning_rate is not None:
268
+ pulumi.set(__self__, "learning_rate", learning_rate)
269
+ if log_model_metrics_interval_in_steps is not None:
270
+ pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
271
+ if num_of_last_layers is not None:
272
+ pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
273
+ if total_training_epochs is not None:
274
+ pulumi.set(__self__, "total_training_epochs", total_training_epochs)
275
+ if training_batch_size is not None:
276
+ pulumi.set(__self__, "training_batch_size", training_batch_size)
277
+
278
+ @property
279
+ @pulumi.getter(name="trainingConfigType")
280
+ def training_config_type(self) -> str:
281
+ """
282
+ The fine-tuning method for training a custom model.
283
+ """
284
+ return pulumi.get(self, "training_config_type")
285
+
286
+ @property
287
+ @pulumi.getter(name="earlyStoppingPatience")
288
+ def early_stopping_patience(self) -> Optional[int]:
289
+ """
290
+ Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
291
+ """
292
+ return pulumi.get(self, "early_stopping_patience")
293
+
294
+ @property
295
+ @pulumi.getter(name="earlyStoppingThreshold")
296
+ def early_stopping_threshold(self) -> Optional[float]:
297
+ """
298
+ How much the loss must improve to prevent early stopping.
299
+ """
300
+ return pulumi.get(self, "early_stopping_threshold")
301
+
302
+ @property
303
+ @pulumi.getter(name="learningRate")
304
+ def learning_rate(self) -> Optional[float]:
305
+ """
306
+ The initial learning rate to be used during training
307
+ """
308
+ return pulumi.get(self, "learning_rate")
309
+
310
+ @property
311
+ @pulumi.getter(name="logModelMetricsIntervalInSteps")
312
+ def log_model_metrics_interval_in_steps(self) -> Optional[int]:
313
+ """
314
+ Determines how frequently to log model metrics.
315
+
316
+ Every step is logged for the first 20 steps and then follows this parameter for log frequency. Set to 0 to disable logging the model metrics.
317
+ """
318
+ return pulumi.get(self, "log_model_metrics_interval_in_steps")
319
+
320
+ @property
321
+ @pulumi.getter(name="numOfLastLayers")
322
+ def num_of_last_layers(self) -> Optional[int]:
323
+ """
324
+ The number of last layers to be fine-tuned.
325
+ """
326
+ return pulumi.get(self, "num_of_last_layers")
327
+
328
+ @property
329
+ @pulumi.getter(name="totalTrainingEpochs")
330
+ def total_training_epochs(self) -> Optional[int]:
331
+ """
332
+ The maximum number of training epochs to run for.
333
+ """
334
+ return pulumi.get(self, "total_training_epochs")
335
+
336
+ @property
337
+ @pulumi.getter(name="trainingBatchSize")
338
+ def training_batch_size(self) -> Optional[int]:
339
+ """
340
+ The batch size used during training.
341
+ """
342
+ return pulumi.get(self, "training_batch_size")
343
+
344
+
345
+ @pulumi.output_type
346
+ class ModelFineTuneDetailsTrainingDataset(dict):
347
+ @staticmethod
348
+ def __key_warning(key: str):
349
+ suggest = None
350
+ if key == "datasetType":
351
+ suggest = "dataset_type"
352
+
353
+ if suggest:
354
+ pulumi.log.warn(f"Key '{key}' not found in ModelFineTuneDetailsTrainingDataset. Access the value via the '{suggest}' property getter instead.")
355
+
356
+ def __getitem__(self, key: str) -> Any:
357
+ ModelFineTuneDetailsTrainingDataset.__key_warning(key)
358
+ return super().__getitem__(key)
359
+
360
+ def get(self, key: str, default = None) -> Any:
361
+ ModelFineTuneDetailsTrainingDataset.__key_warning(key)
362
+ return super().get(key, default)
363
+
364
+ def __init__(__self__, *,
365
+ bucket: str,
366
+ dataset_type: str,
367
+ namespace: str,
368
+ object: str):
369
+ """
370
+ :param str bucket: The Object Storage bucket name.
371
+ :param str dataset_type: The type of the data asset.
372
+ :param str namespace: The Object Storage namespace.
373
+ :param str object: The Object Storage object name.
374
+ """
375
+ pulumi.set(__self__, "bucket", bucket)
376
+ pulumi.set(__self__, "dataset_type", dataset_type)
377
+ pulumi.set(__self__, "namespace", namespace)
378
+ pulumi.set(__self__, "object", object)
379
+
380
+ @property
381
+ @pulumi.getter
382
+ def bucket(self) -> str:
383
+ """
384
+ The Object Storage bucket name.
385
+ """
386
+ return pulumi.get(self, "bucket")
387
+
388
+ @property
389
+ @pulumi.getter(name="datasetType")
390
+ def dataset_type(self) -> str:
391
+ """
392
+ The type of the data asset.
393
+ """
394
+ return pulumi.get(self, "dataset_type")
395
+
396
+ @property
397
+ @pulumi.getter
398
+ def namespace(self) -> str:
399
+ """
400
+ The Object Storage namespace.
401
+ """
402
+ return pulumi.get(self, "namespace")
403
+
404
+ @property
405
+ @pulumi.getter
406
+ def object(self) -> str:
407
+ """
408
+ The Object Storage object name.
409
+ """
410
+ return pulumi.get(self, "object")
411
+
412
+
413
+ @pulumi.output_type
414
+ class ModelModelMetric(dict):
415
+ @staticmethod
416
+ def __key_warning(key: str):
417
+ suggest = None
418
+ if key == "finalAccuracy":
419
+ suggest = "final_accuracy"
420
+ elif key == "finalLoss":
421
+ suggest = "final_loss"
422
+ elif key == "modelMetricsType":
423
+ suggest = "model_metrics_type"
424
+
425
+ if suggest:
426
+ pulumi.log.warn(f"Key '{key}' not found in ModelModelMetric. Access the value via the '{suggest}' property getter instead.")
427
+
428
+ def __getitem__(self, key: str) -> Any:
429
+ ModelModelMetric.__key_warning(key)
430
+ return super().__getitem__(key)
431
+
432
+ def get(self, key: str, default = None) -> Any:
433
+ ModelModelMetric.__key_warning(key)
434
+ return super().get(key, default)
435
+
436
+ def __init__(__self__, *,
437
+ final_accuracy: Optional[float] = None,
438
+ final_loss: Optional[float] = None,
439
+ model_metrics_type: Optional[str] = None):
440
+ """
441
+ :param float final_accuracy: Fine-tuned model accuracy.
442
+ :param float final_loss: Fine-tuned model loss.
443
+ :param str model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
444
+ """
445
+ if final_accuracy is not None:
446
+ pulumi.set(__self__, "final_accuracy", final_accuracy)
447
+ if final_loss is not None:
448
+ pulumi.set(__self__, "final_loss", final_loss)
449
+ if model_metrics_type is not None:
450
+ pulumi.set(__self__, "model_metrics_type", model_metrics_type)
451
+
452
+ @property
453
+ @pulumi.getter(name="finalAccuracy")
454
+ def final_accuracy(self) -> Optional[float]:
455
+ """
456
+ Fine-tuned model accuracy.
457
+ """
458
+ return pulumi.get(self, "final_accuracy")
459
+
460
+ @property
461
+ @pulumi.getter(name="finalLoss")
462
+ def final_loss(self) -> Optional[float]:
463
+ """
464
+ Fine-tuned model loss.
465
+ """
466
+ return pulumi.get(self, "final_loss")
467
+
468
+ @property
469
+ @pulumi.getter(name="modelMetricsType")
470
+ def model_metrics_type(self) -> Optional[str]:
471
+ """
472
+ The type of the model metrics. Each type of model can expect a different set of model metrics.
473
+ """
474
+ return pulumi.get(self, "model_metrics_type")
475
+
476
+
477
+ @pulumi.output_type
478
+ class GetDedicatedAiClusterCapacityResult(dict):
479
+ def __init__(__self__, *,
480
+ capacity_type: str,
481
+ total_endpoint_capacity: int,
482
+ used_endpoint_capacity: int):
483
+ """
484
+ :param str capacity_type: The type of the dedicated AI cluster capacity.
485
+ :param int total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
486
+ :param int used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
487
+ """
488
+ pulumi.set(__self__, "capacity_type", capacity_type)
489
+ pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
490
+ pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
491
+
492
+ @property
493
+ @pulumi.getter(name="capacityType")
494
+ def capacity_type(self) -> str:
495
+ """
496
+ The type of the dedicated AI cluster capacity.
497
+ """
498
+ return pulumi.get(self, "capacity_type")
499
+
500
+ @property
501
+ @pulumi.getter(name="totalEndpointCapacity")
502
+ def total_endpoint_capacity(self) -> int:
503
+ """
504
+ The total number of endpoints that can be hosted on this dedicated AI cluster.
505
+ """
506
+ return pulumi.get(self, "total_endpoint_capacity")
507
+
508
+ @property
509
+ @pulumi.getter(name="usedEndpointCapacity")
510
+ def used_endpoint_capacity(self) -> int:
511
+ """
512
+ The number of endpoints hosted on this dedicated AI cluster.
513
+ """
514
+ return pulumi.get(self, "used_endpoint_capacity")
515
+
516
+
517
+ @pulumi.output_type
518
+ class GetDedicatedAiClustersDedicatedAiClusterCollectionResult(dict):
519
+ def __init__(__self__, *,
520
+ items: Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult']):
521
+ pulumi.set(__self__, "items", items)
522
+
523
+ @property
524
+ @pulumi.getter
525
+ def items(self) -> Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult']:
526
+ return pulumi.get(self, "items")
527
+
528
+
529
+ @pulumi.output_type
530
+ class GetDedicatedAiClustersDedicatedAiClusterCollectionItemResult(dict):
531
+ def __init__(__self__, *,
532
+ capacities: Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult'],
533
+ compartment_id: str,
534
+ defined_tags: Mapping[str, Any],
535
+ description: str,
536
+ display_name: str,
537
+ freeform_tags: Mapping[str, Any],
538
+ id: str,
539
+ lifecycle_details: str,
540
+ state: str,
541
+ system_tags: Mapping[str, Any],
542
+ time_created: str,
543
+ time_updated: str,
544
+ type: str,
545
+ unit_count: int,
546
+ unit_shape: str):
547
+ """
548
+ :param Sequence['GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityArgs'] capacities: The total capacity for a dedicated AI cluster.
549
+ :param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
550
+ :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
551
+ :param str description: An optional description of the dedicated AI cluster.
552
+ :param str display_name: A filter to return only resources that match the given display name exactly.
553
+ :param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
554
+ :param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the dedicated AI cluster.
555
+ :param str lifecycle_details: A message describing the current state with detail that can provide actionable information.
556
+ :param str state: A filter to return only the dedicated AI clusters that their lifecycle state matches the given lifecycle state.
557
+ :param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
558
+ :param str time_created: The date and time the dedicated AI cluster was created, in the format defined by RFC 3339
559
+ :param str time_updated: The date and time the dedicated AI cluster was updated, in the format defined by RFC 3339
560
+ :param str type: The dedicated AI cluster type indicating whether this is a fine-tuning/training processor or hosting/inference processor.
561
+ :param int unit_count: The number of dedicated units in this AI cluster.
562
+ :param str unit_shape: The shape of dedicated unit in this AI cluster. The underlying hardware configuration is hidden from customers.
563
+ """
564
+ pulumi.set(__self__, "capacities", capacities)
565
+ pulumi.set(__self__, "compartment_id", compartment_id)
566
+ pulumi.set(__self__, "defined_tags", defined_tags)
567
+ pulumi.set(__self__, "description", description)
568
+ pulumi.set(__self__, "display_name", display_name)
569
+ pulumi.set(__self__, "freeform_tags", freeform_tags)
570
+ pulumi.set(__self__, "id", id)
571
+ pulumi.set(__self__, "lifecycle_details", lifecycle_details)
572
+ pulumi.set(__self__, "state", state)
573
+ pulumi.set(__self__, "system_tags", system_tags)
574
+ pulumi.set(__self__, "time_created", time_created)
575
+ pulumi.set(__self__, "time_updated", time_updated)
576
+ pulumi.set(__self__, "type", type)
577
+ pulumi.set(__self__, "unit_count", unit_count)
578
+ pulumi.set(__self__, "unit_shape", unit_shape)
579
+
580
+ @property
581
+ @pulumi.getter
582
+ def capacities(self) -> Sequence['outputs.GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult']:
583
+ """
584
+ The total capacity for a dedicated AI cluster.
585
+ """
586
+ return pulumi.get(self, "capacities")
587
+
588
+ @property
589
+ @pulumi.getter(name="compartmentId")
590
+ def compartment_id(self) -> str:
591
+ """
592
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
593
+ """
594
+ return pulumi.get(self, "compartment_id")
595
+
596
+ @property
597
+ @pulumi.getter(name="definedTags")
598
+ def defined_tags(self) -> Mapping[str, Any]:
599
+ """
600
+ Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
601
+ """
602
+ return pulumi.get(self, "defined_tags")
603
+
604
+ @property
605
+ @pulumi.getter
606
+ def description(self) -> str:
607
+ """
608
+ An optional description of the dedicated AI cluster.
609
+ """
610
+ return pulumi.get(self, "description")
611
+
612
+ @property
613
+ @pulumi.getter(name="displayName")
614
+ def display_name(self) -> str:
615
+ """
616
+ A filter to return only resources that match the given display name exactly.
617
+ """
618
+ return pulumi.get(self, "display_name")
619
+
620
+ @property
621
+ @pulumi.getter(name="freeformTags")
622
+ def freeform_tags(self) -> Mapping[str, Any]:
623
+ """
624
+ Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
625
+ """
626
+ return pulumi.get(self, "freeform_tags")
627
+
628
+ @property
629
+ @pulumi.getter
630
+ def id(self) -> str:
631
+ """
632
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the dedicated AI cluster.
633
+ """
634
+ return pulumi.get(self, "id")
635
+
636
+ @property
637
+ @pulumi.getter(name="lifecycleDetails")
638
+ def lifecycle_details(self) -> str:
639
+ """
640
+ A message describing the current state with detail that can provide actionable information.
641
+ """
642
+ return pulumi.get(self, "lifecycle_details")
643
+
644
+ @property
645
+ @pulumi.getter
646
+ def state(self) -> str:
647
+ """
648
+ A filter to return only the dedicated AI clusters that their lifecycle state matches the given lifecycle state.
649
+ """
650
+ return pulumi.get(self, "state")
651
+
652
+ @property
653
+ @pulumi.getter(name="systemTags")
654
+ def system_tags(self) -> Mapping[str, Any]:
655
+ """
656
+ System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
657
+ """
658
+ return pulumi.get(self, "system_tags")
659
+
660
+ @property
661
+ @pulumi.getter(name="timeCreated")
662
+ def time_created(self) -> str:
663
+ """
664
+ The date and time the dedicated AI cluster was created, in the format defined by RFC 3339
665
+ """
666
+ return pulumi.get(self, "time_created")
667
+
668
+ @property
669
+ @pulumi.getter(name="timeUpdated")
670
+ def time_updated(self) -> str:
671
+ """
672
+ The date and time the dedicated AI cluster was updated, in the format defined by RFC 3339
673
+ """
674
+ return pulumi.get(self, "time_updated")
675
+
676
+ @property
677
+ @pulumi.getter
678
+ def type(self) -> str:
679
+ """
680
+ The dedicated AI cluster type indicating whether this is a fine-tuning/training processor or hosting/inference processor.
681
+ """
682
+ return pulumi.get(self, "type")
683
+
684
+ @property
685
+ @pulumi.getter(name="unitCount")
686
+ def unit_count(self) -> int:
687
+ """
688
+ The number of dedicated units in this AI cluster.
689
+ """
690
+ return pulumi.get(self, "unit_count")
691
+
692
+ @property
693
+ @pulumi.getter(name="unitShape")
694
+ def unit_shape(self) -> str:
695
+ """
696
+ The shape of dedicated unit in this AI cluster. The underlying hardware configuration is hidden from customers.
697
+ """
698
+ return pulumi.get(self, "unit_shape")
699
+
700
+
701
+ @pulumi.output_type
702
+ class GetDedicatedAiClustersDedicatedAiClusterCollectionItemCapacityResult(dict):
703
+ def __init__(__self__, *,
704
+ capacity_type: str,
705
+ total_endpoint_capacity: int,
706
+ used_endpoint_capacity: int):
707
+ """
708
+ :param str capacity_type: The type of the dedicated AI cluster capacity.
709
+ :param int total_endpoint_capacity: The total number of endpoints that can be hosted on this dedicated AI cluster.
710
+ :param int used_endpoint_capacity: The number of endpoints hosted on this dedicated AI cluster.
711
+ """
712
+ pulumi.set(__self__, "capacity_type", capacity_type)
713
+ pulumi.set(__self__, "total_endpoint_capacity", total_endpoint_capacity)
714
+ pulumi.set(__self__, "used_endpoint_capacity", used_endpoint_capacity)
715
+
716
+ @property
717
+ @pulumi.getter(name="capacityType")
718
+ def capacity_type(self) -> str:
719
+ """
720
+ The type of the dedicated AI cluster capacity.
721
+ """
722
+ return pulumi.get(self, "capacity_type")
723
+
724
+ @property
725
+ @pulumi.getter(name="totalEndpointCapacity")
726
+ def total_endpoint_capacity(self) -> int:
727
+ """
728
+ The total number of endpoints that can be hosted on this dedicated AI cluster.
729
+ """
730
+ return pulumi.get(self, "total_endpoint_capacity")
731
+
732
+ @property
733
+ @pulumi.getter(name="usedEndpointCapacity")
734
+ def used_endpoint_capacity(self) -> int:
735
+ """
736
+ The number of endpoints hosted on this dedicated AI cluster.
737
+ """
738
+ return pulumi.get(self, "used_endpoint_capacity")
739
+
740
+
741
+ @pulumi.output_type
742
+ class GetDedicatedAiClustersFilterResult(dict):
743
+ def __init__(__self__, *,
744
+ name: str,
745
+ values: Sequence[str],
746
+ regex: Optional[bool] = None):
747
+ pulumi.set(__self__, "name", name)
748
+ pulumi.set(__self__, "values", values)
749
+ if regex is not None:
750
+ pulumi.set(__self__, "regex", regex)
751
+
752
+ @property
753
+ @pulumi.getter
754
+ def name(self) -> str:
755
+ return pulumi.get(self, "name")
756
+
757
+ @property
758
+ @pulumi.getter
759
+ def values(self) -> Sequence[str]:
760
+ return pulumi.get(self, "values")
761
+
762
+ @property
763
+ @pulumi.getter
764
+ def regex(self) -> Optional[bool]:
765
+ return pulumi.get(self, "regex")
766
+
767
+
768
+ @pulumi.output_type
769
+ class GetEndpointContentModerationConfigResult(dict):
770
+ def __init__(__self__, *,
771
+ is_enabled: bool):
772
+ """
773
+ :param bool is_enabled: Whether to enable the content moderation feature.
774
+ """
775
+ pulumi.set(__self__, "is_enabled", is_enabled)
776
+
777
+ @property
778
+ @pulumi.getter(name="isEnabled")
779
+ def is_enabled(self) -> bool:
780
+ """
781
+ Whether to enable the content moderation feature.
782
+ """
783
+ return pulumi.get(self, "is_enabled")
784
+
785
+
786
+ @pulumi.output_type
787
+ class GetEndpointsEndpointCollectionResult(dict):
788
+ def __init__(__self__, *,
789
+ items: Sequence['outputs.GetEndpointsEndpointCollectionItemResult']):
790
+ pulumi.set(__self__, "items", items)
791
+
792
+ @property
793
+ @pulumi.getter
794
+ def items(self) -> Sequence['outputs.GetEndpointsEndpointCollectionItemResult']:
795
+ return pulumi.get(self, "items")
796
+
797
+
798
+ @pulumi.output_type
799
+ class GetEndpointsEndpointCollectionItemResult(dict):
800
+ def __init__(__self__, *,
801
+ compartment_id: str,
802
+ content_moderation_configs: Sequence['outputs.GetEndpointsEndpointCollectionItemContentModerationConfigResult'],
803
+ dedicated_ai_cluster_id: str,
804
+ defined_tags: Mapping[str, Any],
805
+ description: str,
806
+ display_name: str,
807
+ freeform_tags: Mapping[str, Any],
808
+ id: str,
809
+ lifecycle_details: str,
810
+ model_id: str,
811
+ state: str,
812
+ system_tags: Mapping[str, Any],
813
+ time_created: str,
814
+ time_updated: str):
815
+ """
816
+ :param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
817
+ :param Sequence['GetEndpointsEndpointCollectionItemContentModerationConfigArgs'] content_moderation_configs: The configuration details, whether to add the content moderation feature to the model. Content moderation removes toxic and biased content from responses. It's recommended to use content moderation.
818
+ :param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster on which the model will be deployed to.
819
+ :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
820
+ :param str description: An optional description of the endpoint.
821
+ :param str display_name: A filter to return only resources that match the given display name exactly.
822
+ :param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
823
+ :param str id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the endpoint.
824
+ :param str lifecycle_details: A message describing the current state of the endpoint in more detail that can provide actionable information.
825
+ :param str model_id: The OCID of the model that's used to create this endpoint.
826
+ :param str state: A filter to return only resources that their lifecycle state matches the given lifecycle state.
827
+ :param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
828
+ :param str time_created: The date and time that the endpoint was created in the format of an RFC3339 datetime string.
829
+ :param str time_updated: The date and time that the endpoint was updated in the format of an RFC3339 datetime string.
830
+ """
831
+ pulumi.set(__self__, "compartment_id", compartment_id)
832
+ pulumi.set(__self__, "content_moderation_configs", content_moderation_configs)
833
+ pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
834
+ pulumi.set(__self__, "defined_tags", defined_tags)
835
+ pulumi.set(__self__, "description", description)
836
+ pulumi.set(__self__, "display_name", display_name)
837
+ pulumi.set(__self__, "freeform_tags", freeform_tags)
838
+ pulumi.set(__self__, "id", id)
839
+ pulumi.set(__self__, "lifecycle_details", lifecycle_details)
840
+ pulumi.set(__self__, "model_id", model_id)
841
+ pulumi.set(__self__, "state", state)
842
+ pulumi.set(__self__, "system_tags", system_tags)
843
+ pulumi.set(__self__, "time_created", time_created)
844
+ pulumi.set(__self__, "time_updated", time_updated)
845
+
846
+ @property
847
+ @pulumi.getter(name="compartmentId")
848
+ def compartment_id(self) -> str:
849
+ """
850
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
851
+ """
852
+ return pulumi.get(self, "compartment_id")
853
+
854
+ @property
855
+ @pulumi.getter(name="contentModerationConfigs")
856
+ def content_moderation_configs(self) -> Sequence['outputs.GetEndpointsEndpointCollectionItemContentModerationConfigResult']:
857
+ """
858
+ The configuration details, whether to add the content moderation feature to the model. Content moderation removes toxic and biased content from responses. It's recommended to use content moderation.
859
+ """
860
+ return pulumi.get(self, "content_moderation_configs")
861
+
862
+ @property
863
+ @pulumi.getter(name="dedicatedAiClusterId")
864
+ def dedicated_ai_cluster_id(self) -> str:
865
+ """
866
+ The OCID of the dedicated AI cluster on which the model will be deployed to.
867
+ """
868
+ return pulumi.get(self, "dedicated_ai_cluster_id")
869
+
870
+ @property
871
+ @pulumi.getter(name="definedTags")
872
+ def defined_tags(self) -> Mapping[str, Any]:
873
+ """
874
+ Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
875
+ """
876
+ return pulumi.get(self, "defined_tags")
877
+
878
+ @property
879
+ @pulumi.getter
880
+ def description(self) -> str:
881
+ """
882
+ An optional description of the endpoint.
883
+ """
884
+ return pulumi.get(self, "description")
885
+
886
+ @property
887
+ @pulumi.getter(name="displayName")
888
+ def display_name(self) -> str:
889
+ """
890
+ A filter to return only resources that match the given display name exactly.
891
+ """
892
+ return pulumi.get(self, "display_name")
893
+
894
+ @property
895
+ @pulumi.getter(name="freeformTags")
896
+ def freeform_tags(self) -> Mapping[str, Any]:
897
+ """
898
+ Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
899
+ """
900
+ return pulumi.get(self, "freeform_tags")
901
+
902
+ @property
903
+ @pulumi.getter
904
+ def id(self) -> str:
905
+ """
906
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the endpoint.
907
+ """
908
+ return pulumi.get(self, "id")
909
+
910
+ @property
911
+ @pulumi.getter(name="lifecycleDetails")
912
+ def lifecycle_details(self) -> str:
913
+ """
914
+ A message describing the current state of the endpoint in more detail that can provide actionable information.
915
+ """
916
+ return pulumi.get(self, "lifecycle_details")
917
+
918
+ @property
919
+ @pulumi.getter(name="modelId")
920
+ def model_id(self) -> str:
921
+ """
922
+ The OCID of the model that's used to create this endpoint.
923
+ """
924
+ return pulumi.get(self, "model_id")
925
+
926
+ @property
927
+ @pulumi.getter
928
+ def state(self) -> str:
929
+ """
930
+ A filter to return only resources that their lifecycle state matches the given lifecycle state.
931
+ """
932
+ return pulumi.get(self, "state")
933
+
934
+ @property
935
+ @pulumi.getter(name="systemTags")
936
+ def system_tags(self) -> Mapping[str, Any]:
937
+ """
938
+ System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
939
+ """
940
+ return pulumi.get(self, "system_tags")
941
+
942
+ @property
943
+ @pulumi.getter(name="timeCreated")
944
+ def time_created(self) -> str:
945
+ """
946
+ The date and time that the endpoint was created in the format of an RFC3339 datetime string.
947
+ """
948
+ return pulumi.get(self, "time_created")
949
+
950
+ @property
951
+ @pulumi.getter(name="timeUpdated")
952
+ def time_updated(self) -> str:
953
+ """
954
+ The date and time that the endpoint was updated in the format of an RFC3339 datetime string.
955
+ """
956
+ return pulumi.get(self, "time_updated")
957
+
958
+
959
+ @pulumi.output_type
960
+ class GetEndpointsEndpointCollectionItemContentModerationConfigResult(dict):
961
+ def __init__(__self__, *,
962
+ is_enabled: bool):
963
+ """
964
+ :param bool is_enabled: Whether to enable the content moderation feature.
965
+ """
966
+ pulumi.set(__self__, "is_enabled", is_enabled)
967
+
968
+ @property
969
+ @pulumi.getter(name="isEnabled")
970
+ def is_enabled(self) -> bool:
971
+ """
972
+ Whether to enable the content moderation feature.
973
+ """
974
+ return pulumi.get(self, "is_enabled")
975
+
976
+
977
+ @pulumi.output_type
978
+ class GetEndpointsFilterResult(dict):
979
+ def __init__(__self__, *,
980
+ name: str,
981
+ values: Sequence[str],
982
+ regex: Optional[bool] = None):
983
+ pulumi.set(__self__, "name", name)
984
+ pulumi.set(__self__, "values", values)
985
+ if regex is not None:
986
+ pulumi.set(__self__, "regex", regex)
987
+
988
+ @property
989
+ @pulumi.getter
990
+ def name(self) -> str:
991
+ return pulumi.get(self, "name")
992
+
993
+ @property
994
+ @pulumi.getter
995
+ def values(self) -> Sequence[str]:
996
+ return pulumi.get(self, "values")
997
+
998
+ @property
999
+ @pulumi.getter
1000
+ def regex(self) -> Optional[bool]:
1001
+ return pulumi.get(self, "regex")
1002
+
1003
+
1004
+ @pulumi.output_type
1005
+ class GetModelFineTuneDetailResult(dict):
1006
+ def __init__(__self__, *,
1007
+ dedicated_ai_cluster_id: str,
1008
+ training_configs: Sequence['outputs.GetModelFineTuneDetailTrainingConfigResult'],
1009
+ training_datasets: Sequence['outputs.GetModelFineTuneDetailTrainingDatasetResult']):
1010
+ """
1011
+ :param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
1012
+ :param Sequence['GetModelFineTuneDetailTrainingConfigArgs'] training_configs: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
1013
+ :param Sequence['GetModelFineTuneDetailTrainingDatasetArgs'] training_datasets: The dataset used to fine-tune the model.
1014
+ """
1015
+ pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
1016
+ pulumi.set(__self__, "training_configs", training_configs)
1017
+ pulumi.set(__self__, "training_datasets", training_datasets)
1018
+
1019
+ @property
1020
+ @pulumi.getter(name="dedicatedAiClusterId")
1021
+ def dedicated_ai_cluster_id(self) -> str:
1022
+ """
1023
+ The OCID of the dedicated AI cluster this fine-tuning runs on.
1024
+ """
1025
+ return pulumi.get(self, "dedicated_ai_cluster_id")
1026
+
1027
+ @property
1028
+ @pulumi.getter(name="trainingConfigs")
1029
+ def training_configs(self) -> Sequence['outputs.GetModelFineTuneDetailTrainingConfigResult']:
1030
+ """
1031
+ The fine-tuning method and hyperparameters used for fine-tuning a custom model.
1032
+ """
1033
+ return pulumi.get(self, "training_configs")
1034
+
1035
+ @property
1036
+ @pulumi.getter(name="trainingDatasets")
1037
+ def training_datasets(self) -> Sequence['outputs.GetModelFineTuneDetailTrainingDatasetResult']:
1038
+ """
1039
+ The dataset used to fine-tune the model.
1040
+ """
1041
+ return pulumi.get(self, "training_datasets")
1042
+
1043
+
1044
+ @pulumi.output_type
1045
+ class GetModelFineTuneDetailTrainingConfigResult(dict):
1046
+ def __init__(__self__, *,
1047
+ early_stopping_patience: int,
1048
+ early_stopping_threshold: float,
1049
+ learning_rate: float,
1050
+ log_model_metrics_interval_in_steps: int,
1051
+ num_of_last_layers: int,
1052
+ total_training_epochs: int,
1053
+ training_batch_size: int,
1054
+ training_config_type: str):
1055
+ """
1056
+ :param int early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
1057
+ :param float early_stopping_threshold: How much the loss must improve to prevent early stopping.
1058
+ :param float learning_rate: The initial learning rate to be used during training
1059
+ :param int log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
1060
+ :param int num_of_last_layers: The number of last layers to be fine-tuned.
1061
+ :param int total_training_epochs: The maximum number of training epochs to run for.
1062
+ :param int training_batch_size: The batch size used during training.
1063
+ :param str training_config_type: The fine-tuning method for training a custom model.
1064
+ """
1065
+ pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
1066
+ pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
1067
+ pulumi.set(__self__, "learning_rate", learning_rate)
1068
+ pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
1069
+ pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
1070
+ pulumi.set(__self__, "total_training_epochs", total_training_epochs)
1071
+ pulumi.set(__self__, "training_batch_size", training_batch_size)
1072
+ pulumi.set(__self__, "training_config_type", training_config_type)
1073
+
1074
+ @property
1075
+ @pulumi.getter(name="earlyStoppingPatience")
1076
+ def early_stopping_patience(self) -> int:
1077
+ """
1078
+ Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
1079
+ """
1080
+ return pulumi.get(self, "early_stopping_patience")
1081
+
1082
+ @property
1083
+ @pulumi.getter(name="earlyStoppingThreshold")
1084
+ def early_stopping_threshold(self) -> float:
1085
+ """
1086
+ How much the loss must improve to prevent early stopping.
1087
+ """
1088
+ return pulumi.get(self, "early_stopping_threshold")
1089
+
1090
+ @property
1091
+ @pulumi.getter(name="learningRate")
1092
+ def learning_rate(self) -> float:
1093
+ """
1094
+ The initial learning rate to be used during training
1095
+ """
1096
+ return pulumi.get(self, "learning_rate")
1097
+
1098
+ @property
1099
+ @pulumi.getter(name="logModelMetricsIntervalInSteps")
1100
+ def log_model_metrics_interval_in_steps(self) -> int:
1101
+ """
1102
+ Determines how frequently to log model metrics.
1103
+ """
1104
+ return pulumi.get(self, "log_model_metrics_interval_in_steps")
1105
+
1106
+ @property
1107
+ @pulumi.getter(name="numOfLastLayers")
1108
+ def num_of_last_layers(self) -> int:
1109
+ """
1110
+ The number of last layers to be fine-tuned.
1111
+ """
1112
+ return pulumi.get(self, "num_of_last_layers")
1113
+
1114
+ @property
1115
+ @pulumi.getter(name="totalTrainingEpochs")
1116
+ def total_training_epochs(self) -> int:
1117
+ """
1118
+ The maximum number of training epochs to run for.
1119
+ """
1120
+ return pulumi.get(self, "total_training_epochs")
1121
+
1122
+ @property
1123
+ @pulumi.getter(name="trainingBatchSize")
1124
+ def training_batch_size(self) -> int:
1125
+ """
1126
+ The batch size used during training.
1127
+ """
1128
+ return pulumi.get(self, "training_batch_size")
1129
+
1130
+ @property
1131
+ @pulumi.getter(name="trainingConfigType")
1132
+ def training_config_type(self) -> str:
1133
+ """
1134
+ The fine-tuning method for training a custom model.
1135
+ """
1136
+ return pulumi.get(self, "training_config_type")
1137
+
1138
+
1139
+ @pulumi.output_type
1140
+ class GetModelFineTuneDetailTrainingDatasetResult(dict):
1141
+ def __init__(__self__, *,
1142
+ bucket: str,
1143
+ dataset_type: str,
1144
+ namespace: str,
1145
+ object: str):
1146
+ """
1147
+ :param str bucket: The Object Storage bucket name.
1148
+ :param str dataset_type: The type of the data asset.
1149
+ :param str namespace: The Object Storage namespace.
1150
+ :param str object: The Object Storage object name.
1151
+ """
1152
+ pulumi.set(__self__, "bucket", bucket)
1153
+ pulumi.set(__self__, "dataset_type", dataset_type)
1154
+ pulumi.set(__self__, "namespace", namespace)
1155
+ pulumi.set(__self__, "object", object)
1156
+
1157
+ @property
1158
+ @pulumi.getter
1159
+ def bucket(self) -> str:
1160
+ """
1161
+ The Object Storage bucket name.
1162
+ """
1163
+ return pulumi.get(self, "bucket")
1164
+
1165
+ @property
1166
+ @pulumi.getter(name="datasetType")
1167
+ def dataset_type(self) -> str:
1168
+ """
1169
+ The type of the data asset.
1170
+ """
1171
+ return pulumi.get(self, "dataset_type")
1172
+
1173
+ @property
1174
+ @pulumi.getter
1175
+ def namespace(self) -> str:
1176
+ """
1177
+ The Object Storage namespace.
1178
+ """
1179
+ return pulumi.get(self, "namespace")
1180
+
1181
+ @property
1182
+ @pulumi.getter
1183
+ def object(self) -> str:
1184
+ """
1185
+ The Object Storage object name.
1186
+ """
1187
+ return pulumi.get(self, "object")
1188
+
1189
+
1190
+ @pulumi.output_type
1191
+ class GetModelModelMetricResult(dict):
1192
+ def __init__(__self__, *,
1193
+ final_accuracy: float,
1194
+ final_loss: float,
1195
+ model_metrics_type: str):
1196
+ """
1197
+ :param float final_accuracy: Fine-tuned model accuracy.
1198
+ :param float final_loss: Fine-tuned model loss.
1199
+ :param str model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
1200
+ """
1201
+ pulumi.set(__self__, "final_accuracy", final_accuracy)
1202
+ pulumi.set(__self__, "final_loss", final_loss)
1203
+ pulumi.set(__self__, "model_metrics_type", model_metrics_type)
1204
+
1205
+ @property
1206
+ @pulumi.getter(name="finalAccuracy")
1207
+ def final_accuracy(self) -> float:
1208
+ """
1209
+ Fine-tuned model accuracy.
1210
+ """
1211
+ return pulumi.get(self, "final_accuracy")
1212
+
1213
+ @property
1214
+ @pulumi.getter(name="finalLoss")
1215
+ def final_loss(self) -> float:
1216
+ """
1217
+ Fine-tuned model loss.
1218
+ """
1219
+ return pulumi.get(self, "final_loss")
1220
+
1221
+ @property
1222
+ @pulumi.getter(name="modelMetricsType")
1223
+ def model_metrics_type(self) -> str:
1224
+ """
1225
+ The type of the model metrics. Each type of model can expect a different set of model metrics.
1226
+ """
1227
+ return pulumi.get(self, "model_metrics_type")
1228
+
1229
+
1230
+ @pulumi.output_type
1231
+ class GetModelsFilterResult(dict):
1232
+ def __init__(__self__, *,
1233
+ name: str,
1234
+ values: Sequence[str],
1235
+ regex: Optional[bool] = None):
1236
+ pulumi.set(__self__, "name", name)
1237
+ pulumi.set(__self__, "values", values)
1238
+ if regex is not None:
1239
+ pulumi.set(__self__, "regex", regex)
1240
+
1241
+ @property
1242
+ @pulumi.getter
1243
+ def name(self) -> str:
1244
+ return pulumi.get(self, "name")
1245
+
1246
+ @property
1247
+ @pulumi.getter
1248
+ def values(self) -> Sequence[str]:
1249
+ return pulumi.get(self, "values")
1250
+
1251
+ @property
1252
+ @pulumi.getter
1253
+ def regex(self) -> Optional[bool]:
1254
+ return pulumi.get(self, "regex")
1255
+
1256
+
1257
+ @pulumi.output_type
1258
+ class GetModelsModelCollectionResult(dict):
1259
+ def __init__(__self__, *,
1260
+ items: Sequence['outputs.GetModelsModelCollectionItemResult']):
1261
+ pulumi.set(__self__, "items", items)
1262
+
1263
+ @property
1264
+ @pulumi.getter
1265
+ def items(self) -> Sequence['outputs.GetModelsModelCollectionItemResult']:
1266
+ return pulumi.get(self, "items")
1267
+
1268
+
1269
+ @pulumi.output_type
1270
+ class GetModelsModelCollectionItemResult(dict):
1271
+ def __init__(__self__, *,
1272
+ base_model_id: str,
1273
+ capabilities: Sequence[str],
1274
+ compartment_id: str,
1275
+ defined_tags: Mapping[str, Any],
1276
+ description: str,
1277
+ display_name: str,
1278
+ fine_tune_details: Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailResult'],
1279
+ freeform_tags: Mapping[str, Any],
1280
+ id: str,
1281
+ is_long_term_supported: bool,
1282
+ lifecycle_details: str,
1283
+ model_metrics: Sequence['outputs.GetModelsModelCollectionItemModelMetricResult'],
1284
+ state: str,
1285
+ system_tags: Mapping[str, Any],
1286
+ time_created: str,
1287
+ time_deprecated: str,
1288
+ time_updated: str,
1289
+ type: str,
1290
+ vendor: str,
1291
+ version: str):
1292
+ """
1293
+ :param str base_model_id: The OCID of the base model that's used for fine-tuning. For pretrained models, the value is null.
1294
+ :param Sequence[str] capabilities: Describes what this model can be used for.
1295
+ :param str compartment_id: The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
1296
+ :param Mapping[str, Any] defined_tags: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
1297
+ :param str description: An optional description of the model.
1298
+ :param str display_name: A filter to return only resources that match the given display name exactly.
1299
+ :param Sequence['GetModelsModelCollectionItemFineTuneDetailArgs'] fine_tune_details: Details about fine-tuning a custom model.
1300
+ :param Mapping[str, Any] freeform_tags: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
1301
+ :param str id: The ID of the model.
1302
+ :param bool is_long_term_supported: Whether a model is supported long-term. Only applicable to base models.
1303
+ :param str lifecycle_details: A message describing the current state of the model in more detail that can provide actionable information.
1304
+ :param Sequence['GetModelsModelCollectionItemModelMetricArgs'] model_metrics: Model metrics during the creation of a new model.
1305
+ :param str state: A filter to return only resources their lifecycleState matches the given lifecycleState.
1306
+ :param Mapping[str, Any] system_tags: System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
1307
+ :param str time_created: The date and time that the model was created in the format of an RFC3339 datetime string.
1308
+ :param str time_deprecated: Corresponds to the time when the custom model and its associated foundation model will be deprecated.
1309
+ :param str time_updated: The date and time that the model was updated in the format of an RFC3339 datetime string.
1310
+ :param str type: The model type indicating whether this is a pretrained/base model or a custom/fine-tuned model.
1311
+ :param str vendor: A filter to return only resources that match the entire vendor given.
1312
+ :param str version: The version of the model.
1313
+ """
1314
+ pulumi.set(__self__, "base_model_id", base_model_id)
1315
+ pulumi.set(__self__, "capabilities", capabilities)
1316
+ pulumi.set(__self__, "compartment_id", compartment_id)
1317
+ pulumi.set(__self__, "defined_tags", defined_tags)
1318
+ pulumi.set(__self__, "description", description)
1319
+ pulumi.set(__self__, "display_name", display_name)
1320
+ pulumi.set(__self__, "fine_tune_details", fine_tune_details)
1321
+ pulumi.set(__self__, "freeform_tags", freeform_tags)
1322
+ pulumi.set(__self__, "id", id)
1323
+ pulumi.set(__self__, "is_long_term_supported", is_long_term_supported)
1324
+ pulumi.set(__self__, "lifecycle_details", lifecycle_details)
1325
+ pulumi.set(__self__, "model_metrics", model_metrics)
1326
+ pulumi.set(__self__, "state", state)
1327
+ pulumi.set(__self__, "system_tags", system_tags)
1328
+ pulumi.set(__self__, "time_created", time_created)
1329
+ pulumi.set(__self__, "time_deprecated", time_deprecated)
1330
+ pulumi.set(__self__, "time_updated", time_updated)
1331
+ pulumi.set(__self__, "type", type)
1332
+ pulumi.set(__self__, "vendor", vendor)
1333
+ pulumi.set(__self__, "version", version)
1334
+
1335
+ @property
1336
+ @pulumi.getter(name="baseModelId")
1337
+ def base_model_id(self) -> str:
1338
+ """
1339
+ The OCID of the base model that's used for fine-tuning. For pretrained models, the value is null.
1340
+ """
1341
+ return pulumi.get(self, "base_model_id")
1342
+
1343
+ @property
1344
+ @pulumi.getter
1345
+ def capabilities(self) -> Sequence[str]:
1346
+ """
1347
+ Describes what this model can be used for.
1348
+ """
1349
+ return pulumi.get(self, "capabilities")
1350
+
1351
+ @property
1352
+ @pulumi.getter(name="compartmentId")
1353
+ def compartment_id(self) -> str:
1354
+ """
1355
+ The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment in which to list resources.
1356
+ """
1357
+ return pulumi.get(self, "compartment_id")
1358
+
1359
+ @property
1360
+ @pulumi.getter(name="definedTags")
1361
+ def defined_tags(self) -> Mapping[str, Any]:
1362
+ """
1363
+ Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Operations.CostCenter": "42"}`
1364
+ """
1365
+ return pulumi.get(self, "defined_tags")
1366
+
1367
+ @property
1368
+ @pulumi.getter
1369
+ def description(self) -> str:
1370
+ """
1371
+ An optional description of the model.
1372
+ """
1373
+ return pulumi.get(self, "description")
1374
+
1375
+ @property
1376
+ @pulumi.getter(name="displayName")
1377
+ def display_name(self) -> str:
1378
+ """
1379
+ A filter to return only resources that match the given display name exactly.
1380
+ """
1381
+ return pulumi.get(self, "display_name")
1382
+
1383
+ @property
1384
+ @pulumi.getter(name="fineTuneDetails")
1385
+ def fine_tune_details(self) -> Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailResult']:
1386
+ """
1387
+ Details about fine-tuning a custom model.
1388
+ """
1389
+ return pulumi.get(self, "fine_tune_details")
1390
+
1391
+ @property
1392
+ @pulumi.getter(name="freeformTags")
1393
+ def freeform_tags(self) -> Mapping[str, Any]:
1394
+ """
1395
+ Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm). Example: `{"Department": "Finance"}`
1396
+ """
1397
+ return pulumi.get(self, "freeform_tags")
1398
+
1399
+ @property
1400
+ @pulumi.getter
1401
+ def id(self) -> str:
1402
+ """
1403
+ The ID of the model.
1404
+ """
1405
+ return pulumi.get(self, "id")
1406
+
1407
+ @property
1408
+ @pulumi.getter(name="isLongTermSupported")
1409
+ def is_long_term_supported(self) -> bool:
1410
+ """
1411
+ Whether a model is supported long-term. Only applicable to base models.
1412
+ """
1413
+ return pulumi.get(self, "is_long_term_supported")
1414
+
1415
+ @property
1416
+ @pulumi.getter(name="lifecycleDetails")
1417
+ def lifecycle_details(self) -> str:
1418
+ """
1419
+ A message describing the current state of the model in more detail that can provide actionable information.
1420
+ """
1421
+ return pulumi.get(self, "lifecycle_details")
1422
+
1423
+ @property
1424
+ @pulumi.getter(name="modelMetrics")
1425
+ def model_metrics(self) -> Sequence['outputs.GetModelsModelCollectionItemModelMetricResult']:
1426
+ """
1427
+ Model metrics during the creation of a new model.
1428
+ """
1429
+ return pulumi.get(self, "model_metrics")
1430
+
1431
+ @property
1432
+ @pulumi.getter
1433
+ def state(self) -> str:
1434
+ """
1435
+ A filter to return only resources their lifecycleState matches the given lifecycleState.
1436
+ """
1437
+ return pulumi.get(self, "state")
1438
+
1439
+ @property
1440
+ @pulumi.getter(name="systemTags")
1441
+ def system_tags(self) -> Mapping[str, Any]:
1442
+ """
1443
+ System tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"orcl-cloud.free-tier-retained": "true"}`
1444
+ """
1445
+ return pulumi.get(self, "system_tags")
1446
+
1447
+ @property
1448
+ @pulumi.getter(name="timeCreated")
1449
+ def time_created(self) -> str:
1450
+ """
1451
+ The date and time that the model was created in the format of an RFC3339 datetime string.
1452
+ """
1453
+ return pulumi.get(self, "time_created")
1454
+
1455
+ @property
1456
+ @pulumi.getter(name="timeDeprecated")
1457
+ def time_deprecated(self) -> str:
1458
+ """
1459
+ Corresponds to the time when the custom model and its associated foundation model will be deprecated.
1460
+ """
1461
+ return pulumi.get(self, "time_deprecated")
1462
+
1463
+ @property
1464
+ @pulumi.getter(name="timeUpdated")
1465
+ def time_updated(self) -> str:
1466
+ """
1467
+ The date and time that the model was updated in the format of an RFC3339 datetime string.
1468
+ """
1469
+ return pulumi.get(self, "time_updated")
1470
+
1471
+ @property
1472
+ @pulumi.getter
1473
+ def type(self) -> str:
1474
+ """
1475
+ The model type indicating whether this is a pretrained/base model or a custom/fine-tuned model.
1476
+ """
1477
+ return pulumi.get(self, "type")
1478
+
1479
+ @property
1480
+ @pulumi.getter
1481
+ def vendor(self) -> str:
1482
+ """
1483
+ A filter to return only resources that match the entire vendor given.
1484
+ """
1485
+ return pulumi.get(self, "vendor")
1486
+
1487
+ @property
1488
+ @pulumi.getter
1489
+ def version(self) -> str:
1490
+ """
1491
+ The version of the model.
1492
+ """
1493
+ return pulumi.get(self, "version")
1494
+
1495
+
1496
+ @pulumi.output_type
1497
+ class GetModelsModelCollectionItemFineTuneDetailResult(dict):
1498
+ def __init__(__self__, *,
1499
+ dedicated_ai_cluster_id: str,
1500
+ training_configs: Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult'],
1501
+ training_datasets: Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult']):
1502
+ """
1503
+ :param str dedicated_ai_cluster_id: The OCID of the dedicated AI cluster this fine-tuning runs on.
1504
+ :param Sequence['GetModelsModelCollectionItemFineTuneDetailTrainingConfigArgs'] training_configs: The fine-tuning method and hyperparameters used for fine-tuning a custom model.
1505
+ :param Sequence['GetModelsModelCollectionItemFineTuneDetailTrainingDatasetArgs'] training_datasets: The dataset used to fine-tune the model.
1506
+ """
1507
+ pulumi.set(__self__, "dedicated_ai_cluster_id", dedicated_ai_cluster_id)
1508
+ pulumi.set(__self__, "training_configs", training_configs)
1509
+ pulumi.set(__self__, "training_datasets", training_datasets)
1510
+
1511
+ @property
1512
+ @pulumi.getter(name="dedicatedAiClusterId")
1513
+ def dedicated_ai_cluster_id(self) -> str:
1514
+ """
1515
+ The OCID of the dedicated AI cluster this fine-tuning runs on.
1516
+ """
1517
+ return pulumi.get(self, "dedicated_ai_cluster_id")
1518
+
1519
+ @property
1520
+ @pulumi.getter(name="trainingConfigs")
1521
+ def training_configs(self) -> Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult']:
1522
+ """
1523
+ The fine-tuning method and hyperparameters used for fine-tuning a custom model.
1524
+ """
1525
+ return pulumi.get(self, "training_configs")
1526
+
1527
+ @property
1528
+ @pulumi.getter(name="trainingDatasets")
1529
+ def training_datasets(self) -> Sequence['outputs.GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult']:
1530
+ """
1531
+ The dataset used to fine-tune the model.
1532
+ """
1533
+ return pulumi.get(self, "training_datasets")
1534
+
1535
+
1536
+ @pulumi.output_type
1537
+ class GetModelsModelCollectionItemFineTuneDetailTrainingConfigResult(dict):
1538
+ def __init__(__self__, *,
1539
+ early_stopping_patience: int,
1540
+ early_stopping_threshold: float,
1541
+ learning_rate: float,
1542
+ log_model_metrics_interval_in_steps: int,
1543
+ num_of_last_layers: int,
1544
+ total_training_epochs: int,
1545
+ training_batch_size: int,
1546
+ training_config_type: str):
1547
+ """
1548
+ :param int early_stopping_patience: Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
1549
+ :param float early_stopping_threshold: How much the loss must improve to prevent early stopping.
1550
+ :param float learning_rate: The initial learning rate to be used during training
1551
+ :param int log_model_metrics_interval_in_steps: Determines how frequently to log model metrics.
1552
+ :param int num_of_last_layers: The number of last layers to be fine-tuned.
1553
+ :param int total_training_epochs: The maximum number of training epochs to run for.
1554
+ :param int training_batch_size: The batch size used during training.
1555
+ :param str training_config_type: The fine-tuning method for training a custom model.
1556
+ """
1557
+ pulumi.set(__self__, "early_stopping_patience", early_stopping_patience)
1558
+ pulumi.set(__self__, "early_stopping_threshold", early_stopping_threshold)
1559
+ pulumi.set(__self__, "learning_rate", learning_rate)
1560
+ pulumi.set(__self__, "log_model_metrics_interval_in_steps", log_model_metrics_interval_in_steps)
1561
+ pulumi.set(__self__, "num_of_last_layers", num_of_last_layers)
1562
+ pulumi.set(__self__, "total_training_epochs", total_training_epochs)
1563
+ pulumi.set(__self__, "training_batch_size", training_batch_size)
1564
+ pulumi.set(__self__, "training_config_type", training_config_type)
1565
+
1566
+ @property
1567
+ @pulumi.getter(name="earlyStoppingPatience")
1568
+ def early_stopping_patience(self) -> int:
1569
+ """
1570
+ Stop training if the loss metric does not improve beyond 'early_stopping_threshold' for this many times of evaluation.
1571
+ """
1572
+ return pulumi.get(self, "early_stopping_patience")
1573
+
1574
+ @property
1575
+ @pulumi.getter(name="earlyStoppingThreshold")
1576
+ def early_stopping_threshold(self) -> float:
1577
+ """
1578
+ How much the loss must improve to prevent early stopping.
1579
+ """
1580
+ return pulumi.get(self, "early_stopping_threshold")
1581
+
1582
+ @property
1583
+ @pulumi.getter(name="learningRate")
1584
+ def learning_rate(self) -> float:
1585
+ """
1586
+ The initial learning rate to be used during training
1587
+ """
1588
+ return pulumi.get(self, "learning_rate")
1589
+
1590
+ @property
1591
+ @pulumi.getter(name="logModelMetricsIntervalInSteps")
1592
+ def log_model_metrics_interval_in_steps(self) -> int:
1593
+ """
1594
+ Determines how frequently to log model metrics.
1595
+ """
1596
+ return pulumi.get(self, "log_model_metrics_interval_in_steps")
1597
+
1598
+ @property
1599
+ @pulumi.getter(name="numOfLastLayers")
1600
+ def num_of_last_layers(self) -> int:
1601
+ """
1602
+ The number of last layers to be fine-tuned.
1603
+ """
1604
+ return pulumi.get(self, "num_of_last_layers")
1605
+
1606
+ @property
1607
+ @pulumi.getter(name="totalTrainingEpochs")
1608
+ def total_training_epochs(self) -> int:
1609
+ """
1610
+ The maximum number of training epochs to run for.
1611
+ """
1612
+ return pulumi.get(self, "total_training_epochs")
1613
+
1614
+ @property
1615
+ @pulumi.getter(name="trainingBatchSize")
1616
+ def training_batch_size(self) -> int:
1617
+ """
1618
+ The batch size used during training.
1619
+ """
1620
+ return pulumi.get(self, "training_batch_size")
1621
+
1622
+ @property
1623
+ @pulumi.getter(name="trainingConfigType")
1624
+ def training_config_type(self) -> str:
1625
+ """
1626
+ The fine-tuning method for training a custom model.
1627
+ """
1628
+ return pulumi.get(self, "training_config_type")
1629
+
1630
+
1631
+ @pulumi.output_type
1632
+ class GetModelsModelCollectionItemFineTuneDetailTrainingDatasetResult(dict):
1633
+ def __init__(__self__, *,
1634
+ bucket: str,
1635
+ dataset_type: str,
1636
+ namespace: str,
1637
+ object: str):
1638
+ """
1639
+ :param str bucket: The Object Storage bucket name.
1640
+ :param str dataset_type: The type of the data asset.
1641
+ :param str namespace: The Object Storage namespace.
1642
+ :param str object: The Object Storage object name.
1643
+ """
1644
+ pulumi.set(__self__, "bucket", bucket)
1645
+ pulumi.set(__self__, "dataset_type", dataset_type)
1646
+ pulumi.set(__self__, "namespace", namespace)
1647
+ pulumi.set(__self__, "object", object)
1648
+
1649
+ @property
1650
+ @pulumi.getter
1651
+ def bucket(self) -> str:
1652
+ """
1653
+ The Object Storage bucket name.
1654
+ """
1655
+ return pulumi.get(self, "bucket")
1656
+
1657
+ @property
1658
+ @pulumi.getter(name="datasetType")
1659
+ def dataset_type(self) -> str:
1660
+ """
1661
+ The type of the data asset.
1662
+ """
1663
+ return pulumi.get(self, "dataset_type")
1664
+
1665
+ @property
1666
+ @pulumi.getter
1667
+ def namespace(self) -> str:
1668
+ """
1669
+ The Object Storage namespace.
1670
+ """
1671
+ return pulumi.get(self, "namespace")
1672
+
1673
+ @property
1674
+ @pulumi.getter
1675
+ def object(self) -> str:
1676
+ """
1677
+ The Object Storage object name.
1678
+ """
1679
+ return pulumi.get(self, "object")
1680
+
1681
+
1682
+ @pulumi.output_type
1683
+ class GetModelsModelCollectionItemModelMetricResult(dict):
1684
+ def __init__(__self__, *,
1685
+ final_accuracy: float,
1686
+ final_loss: float,
1687
+ model_metrics_type: str):
1688
+ """
1689
+ :param float final_accuracy: Fine-tuned model accuracy.
1690
+ :param float final_loss: Fine-tuned model loss.
1691
+ :param str model_metrics_type: The type of the model metrics. Each type of model can expect a different set of model metrics.
1692
+ """
1693
+ pulumi.set(__self__, "final_accuracy", final_accuracy)
1694
+ pulumi.set(__self__, "final_loss", final_loss)
1695
+ pulumi.set(__self__, "model_metrics_type", model_metrics_type)
1696
+
1697
+ @property
1698
+ @pulumi.getter(name="finalAccuracy")
1699
+ def final_accuracy(self) -> float:
1700
+ """
1701
+ Fine-tuned model accuracy.
1702
+ """
1703
+ return pulumi.get(self, "final_accuracy")
1704
+
1705
+ @property
1706
+ @pulumi.getter(name="finalLoss")
1707
+ def final_loss(self) -> float:
1708
+ """
1709
+ Fine-tuned model loss.
1710
+ """
1711
+ return pulumi.get(self, "final_loss")
1712
+
1713
+ @property
1714
+ @pulumi.getter(name="modelMetricsType")
1715
+ def model_metrics_type(self) -> str:
1716
+ """
1717
+ The type of the model metrics. Each type of model can expect a different set of model metrics.
1718
+ """
1719
+ return pulumi.get(self, "model_metrics_type")
1720
+
1721
+