@nice2dev/ui-tools 1.0.10
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/README.md +36 -0
- package/dist/access-control.d.ts +726 -0
- package/dist/access-control.d.ts.map +1 -0
- package/dist/accessibility-i18n.d.ts +1017 -0
- package/dist/accessibility-i18n.d.ts.map +1 -0
- package/dist/ai-assistant.d.ts +263 -0
- package/dist/ai-assistant.d.ts.map +1 -0
- package/dist/ai-playgrounds.d.ts +842 -0
- package/dist/ai-playgrounds.d.ts.map +1 -0
- package/dist/alerting-incidents.d.ts +558 -0
- package/dist/alerting-incidents.d.ts.map +1 -0
- package/dist/api-designer.d.ts +1568 -0
- package/dist/api-designer.d.ts.map +1 -0
- package/dist/api-testing.d.ts +1146 -0
- package/dist/api-testing.d.ts.map +1 -0
- package/dist/apm-profiling.d.ts +656 -0
- package/dist/apm-profiling.d.ts.map +1 -0
- package/dist/artifacts.d.ts +421 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/audit-compliance.d.ts +752 -0
- package/dist/audit-compliance.d.ts.map +1 -0
- package/dist/certificates.d.ts +256 -0
- package/dist/certificates.d.ts.map +1 -0
- package/dist/chart-builder.d.ts +1404 -0
- package/dist/chart-builder.d.ts.map +1 -0
- package/dist/cloud-instances.d.ts +169 -0
- package/dist/cloud-instances.d.ts.map +1 -0
- package/dist/config-management.d.ts +350 -0
- package/dist/config-management.d.ts.map +1 -0
- package/dist/containers.d.ts +256 -0
- package/dist/containers.d.ts.map +1 -0
- package/dist/dashboard-designer.d.ts +1238 -0
- package/dist/dashboard-designer.d.ts.map +1 -0
- package/dist/data-management.d.ts +496 -0
- package/dist/data-management.d.ts.map +1 -0
- package/dist/data-pipeline.d.ts +1105 -0
- package/dist/data-pipeline.d.ts.map +1 -0
- package/dist/data-warehouse.d.ts +1097 -0
- package/dist/data-warehouse.d.ts.map +1 -0
- package/dist/dataset-management.d.ts +782 -0
- package/dist/dataset-management.d.ts.map +1 -0
- package/dist/db-adapters.d.ts +704 -0
- package/dist/db-adapters.d.ts.map +1 -0
- package/dist/db-admin.d.ts +699 -0
- package/dist/db-admin.d.ts.map +1 -0
- package/dist/db-designer.d.ts +366 -0
- package/dist/db-designer.d.ts.map +1 -0
- package/dist/debugger.d.ts +356 -0
- package/dist/debugger.d.ts.map +1 -0
- package/dist/device-management.d.ts +871 -0
- package/dist/device-management.d.ts.map +1 -0
- package/dist/distributed-tracing.d.ts +427 -0
- package/dist/distributed-tracing.d.ts.map +1 -0
- package/dist/dns-management.d.ts +215 -0
- package/dist/dns-management.d.ts.map +1 -0
- package/dist/download-manager.d.ts +271 -0
- package/dist/download-manager.d.ts.map +1 -0
- package/dist/download-torrent.d.ts +1062 -0
- package/dist/download-torrent.d.ts.map +1 -0
- package/dist/edge-computing.d.ts +720 -0
- package/dist/edge-computing.d.ts.map +1 -0
- package/dist/education.d.ts +1135 -0
- package/dist/education.d.ts.map +1 -0
- package/dist/email-template.d.ts +1141 -0
- package/dist/email-template.d.ts.map +1 -0
- package/dist/erp-enterprise.d.ts +1270 -0
- package/dist/erp-enterprise.d.ts.map +1 -0
- package/dist/form-builder.d.ts +1117 -0
- package/dist/form-builder.d.ts.map +1 -0
- package/dist/game-engine-advanced.d.ts +1049 -0
- package/dist/game-engine-advanced.d.ts.map +1 -0
- package/dist/git.d.ts +415 -0
- package/dist/git.d.ts.map +1 -0
- package/dist/hardware-integration.d.ts +966 -0
- package/dist/hardware-integration.d.ts.map +1 -0
- package/dist/iac.d.ts +318 -0
- package/dist/iac.d.ts.map +1 -0
- package/dist/icon-tools.d.ts +1023 -0
- package/dist/icon-tools.d.ts.map +1 -0
- package/dist/ide.d.ts +322 -0
- package/dist/ide.d.ts.map +1 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +176 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.mjs +1887 -0
- package/dist/index.mjs.map +1 -0
- package/dist/integration-platform.d.ts +857 -0
- package/dist/integration-platform.d.ts.map +1 -0
- package/dist/kubernetes.d.ts +278 -0
- package/dist/kubernetes.d.ts.map +1 -0
- package/dist/life-management.d.ts +1132 -0
- package/dist/life-management.d.ts.map +1 -0
- package/dist/log-management.d.ts +473 -0
- package/dist/log-management.d.ts.map +1 -0
- package/dist/mathematics.d.ts +870 -0
- package/dist/mathematics.d.ts.map +1 -0
- package/dist/message-queue.d.ts +1006 -0
- package/dist/message-queue.d.ts.map +1 -0
- package/dist/metrics-dashboard.d.ts +596 -0
- package/dist/metrics-dashboard.d.ts.map +1 -0
- package/dist/mobile-components.d.ts +766 -0
- package/dist/mobile-components.d.ts.map +1 -0
- package/dist/model-deployment.d.ts +787 -0
- package/dist/model-deployment.d.ts.map +1 -0
- package/dist/model-registry.d.ts +740 -0
- package/dist/model-registry.d.ts.map +1 -0
- package/dist/model-training.d.ts +706 -0
- package/dist/model-training.d.ts.map +1 -0
- package/dist/network-config.d.ts +334 -0
- package/dist/network-config.d.ts.map +1 -0
- package/dist/network-monitoring.d.ts +291 -0
- package/dist/network-monitoring.d.ts.map +1 -0
- package/dist/pdf-tools.d.ts +1003 -0
- package/dist/pdf-tools.d.ts.map +1 -0
- package/dist/pipelines.d.ts +250 -0
- package/dist/pipelines.d.ts.map +1 -0
- package/dist/remote-desktop.d.ts +207 -0
- package/dist/remote-desktop.d.ts.map +1 -0
- package/dist/report-designer.d.ts +1153 -0
- package/dist/report-designer.d.ts.map +1 -0
- package/dist/scada-industrial.d.ts +848 -0
- package/dist/scada-industrial.d.ts.map +1 -0
- package/dist/scientific-research.d.ts +1149 -0
- package/dist/scientific-research.d.ts.map +1 -0
- package/dist/secret-management.d.ts +617 -0
- package/dist/secret-management.d.ts.map +1 -0
- package/dist/security-scanning.d.ts +714 -0
- package/dist/security-scanning.d.ts.map +1 -0
- package/dist/self-service-analytics.d.ts +1208 -0
- package/dist/self-service-analytics.d.ts.map +1 -0
- package/dist/sensor-dashboard.d.ts +845 -0
- package/dist/sensor-dashboard.d.ts.map +1 -0
- package/dist/server-management.d.ts +331 -0
- package/dist/server-management.d.ts.map +1 -0
- package/dist/smart-home.d.ts +861 -0
- package/dist/smart-home.d.ts.map +1 -0
- package/dist/spreadsheet.d.ts +1043 -0
- package/dist/spreadsheet.d.ts.map +1 -0
- package/dist/sql-editor.d.ts +402 -0
- package/dist/sql-editor.d.ts.map +1 -0
- package/dist/terminal.d.ts +245 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/testing-qa.d.ts +1013 -0
- package/dist/testing-qa.d.ts.map +1 -0
- package/dist/torrent-client.d.ts +298 -0
- package/dist/torrent-client.d.ts.map +1 -0
- package/dist/traceless.d.ts +759 -0
- package/dist/traceless.d.ts.map +1 -0
- package/dist/virtual-machines.d.ts +199 -0
- package/dist/virtual-machines.d.ts.map +1 -0
- package/dist/visual-scripting.d.ts +381 -0
- package/dist/visual-scripting.d.ts.map +1 -0
- package/dist/word-processor.d.ts +1124 -0
- package/dist/word-processor.d.ts.map +1 -0
- package/dist/workspace.d.ts +333 -0
- package/dist/workspace.d.ts.map +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1,706 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file model-training.ts
|
|
3
|
+
* @module @nice2dev/ui-tools
|
|
4
|
+
* @description PRO-18.2 — Model Training UI
|
|
5
|
+
*
|
|
6
|
+
* Types for ML model training: experiment tracking, hyperparameter tuning,
|
|
7
|
+
* metrics visualization, distributed training, AutoML.
|
|
8
|
+
*/
|
|
9
|
+
/** ML framework */
|
|
10
|
+
export type MLFramework = 'pytorch' | 'tensorflow' | 'keras' | 'jax' | 'sklearn' | 'xgboost' | 'lightgbm' | 'catboost' | 'huggingface' | 'custom';
|
|
11
|
+
/** Training status */
|
|
12
|
+
export type TrainingStatus = 'pending' | 'initializing' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled' | 'killed';
|
|
13
|
+
/** Metric type */
|
|
14
|
+
export type MetricType = 'loss' | 'accuracy' | 'precision' | 'recall' | 'f1' | 'auc' | 'mse' | 'mae' | 'rmse' | 'r2' | 'bleu' | 'rouge' | 'perplexity' | 'custom';
|
|
15
|
+
/** Optimization direction */
|
|
16
|
+
export type OptimizationDirection = 'minimize' | 'maximize';
|
|
17
|
+
/** ML training config */
|
|
18
|
+
export interface MLTrainingConfig {
|
|
19
|
+
/** Theme */
|
|
20
|
+
theme?: TrainingTheme;
|
|
21
|
+
/** Features */
|
|
22
|
+
features?: TrainingFeatures;
|
|
23
|
+
/** Tracking backend */
|
|
24
|
+
tracking?: TrackingConfig;
|
|
25
|
+
/** Compute config */
|
|
26
|
+
compute?: ComputeConfig;
|
|
27
|
+
/** Notification config */
|
|
28
|
+
notifications?: TrainingNotificationConfig;
|
|
29
|
+
}
|
|
30
|
+
/** Training theme */
|
|
31
|
+
export interface TrainingTheme {
|
|
32
|
+
name?: string;
|
|
33
|
+
colors?: TrainingColors;
|
|
34
|
+
chartTheme?: 'light' | 'dark';
|
|
35
|
+
}
|
|
36
|
+
/** Training colors */
|
|
37
|
+
export interface TrainingColors {
|
|
38
|
+
primary?: string;
|
|
39
|
+
success?: string;
|
|
40
|
+
warning?: string;
|
|
41
|
+
error?: string;
|
|
42
|
+
metricColors?: string[];
|
|
43
|
+
}
|
|
44
|
+
/** Training features */
|
|
45
|
+
export interface TrainingFeatures {
|
|
46
|
+
experimentTracking?: boolean;
|
|
47
|
+
hyperparameterTuning?: boolean;
|
|
48
|
+
distributedTraining?: boolean;
|
|
49
|
+
autoML?: boolean;
|
|
50
|
+
modelComparison?: boolean;
|
|
51
|
+
checkpointing?: boolean;
|
|
52
|
+
profiling?: boolean;
|
|
53
|
+
liveMetrics?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** Tracking config */
|
|
56
|
+
export interface TrackingConfig {
|
|
57
|
+
backend: TrackingBackend;
|
|
58
|
+
uri?: string;
|
|
59
|
+
experiment?: string;
|
|
60
|
+
apiKey?: string;
|
|
61
|
+
projectId?: string;
|
|
62
|
+
}
|
|
63
|
+
/** Tracking backend */
|
|
64
|
+
export type TrackingBackend = 'mlflow' | 'wandb' | 'tensorboard' | 'neptune' | 'comet' | 'clearml' | 'aim' | 'custom';
|
|
65
|
+
/** Compute config */
|
|
66
|
+
export interface ComputeConfig {
|
|
67
|
+
provider: ComputeProvider;
|
|
68
|
+
instanceType?: string;
|
|
69
|
+
gpuCount?: number;
|
|
70
|
+
gpuType?: string;
|
|
71
|
+
maxRuntime?: number;
|
|
72
|
+
spot?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/** Compute provider */
|
|
75
|
+
export type ComputeProvider = 'local' | 'aws_sagemaker' | 'gcp_vertex' | 'azure_ml' | 'databricks' | 'kubernetes' | 'custom';
|
|
76
|
+
/** Training notification config */
|
|
77
|
+
export interface TrainingNotificationConfig {
|
|
78
|
+
onComplete?: boolean;
|
|
79
|
+
onFail?: boolean;
|
|
80
|
+
onMetricThreshold?: MetricThreshold[];
|
|
81
|
+
channels?: NotificationChannel[];
|
|
82
|
+
}
|
|
83
|
+
/** Metric threshold */
|
|
84
|
+
export interface MetricThreshold {
|
|
85
|
+
metric: string;
|
|
86
|
+
condition: 'above' | 'below';
|
|
87
|
+
value: number;
|
|
88
|
+
}
|
|
89
|
+
/** Notification channel */
|
|
90
|
+
export interface NotificationChannel {
|
|
91
|
+
type: 'email' | 'slack' | 'webhook';
|
|
92
|
+
config: Record<string, unknown>;
|
|
93
|
+
}
|
|
94
|
+
/** Experiment */
|
|
95
|
+
export interface Experiment {
|
|
96
|
+
id: string;
|
|
97
|
+
name: string;
|
|
98
|
+
description?: string;
|
|
99
|
+
project?: string;
|
|
100
|
+
runs: ExperimentRun[];
|
|
101
|
+
tags?: string[];
|
|
102
|
+
metadata?: ExperimentMetadata;
|
|
103
|
+
createdAt: Date;
|
|
104
|
+
createdBy?: string;
|
|
105
|
+
}
|
|
106
|
+
/** Experiment run */
|
|
107
|
+
export interface ExperimentRun {
|
|
108
|
+
id: string;
|
|
109
|
+
name?: string;
|
|
110
|
+
experimentId: string;
|
|
111
|
+
status: TrainingStatus;
|
|
112
|
+
config: RunConfig;
|
|
113
|
+
metrics?: RunMetrics;
|
|
114
|
+
artifacts?: RunArtifact[];
|
|
115
|
+
checkpoints?: Checkpoint[];
|
|
116
|
+
logs?: LogEntry[];
|
|
117
|
+
systemMetrics?: SystemMetrics;
|
|
118
|
+
parent?: string;
|
|
119
|
+
tags?: string[];
|
|
120
|
+
notes?: string;
|
|
121
|
+
startTime?: Date;
|
|
122
|
+
endTime?: Date;
|
|
123
|
+
duration?: number;
|
|
124
|
+
}
|
|
125
|
+
/** Run config */
|
|
126
|
+
export interface RunConfig {
|
|
127
|
+
model: ModelConfig;
|
|
128
|
+
training: TrainingParams;
|
|
129
|
+
data: DataConfig;
|
|
130
|
+
environment?: EnvironmentConfig;
|
|
131
|
+
hyperparameters?: Record<string, unknown>;
|
|
132
|
+
}
|
|
133
|
+
/** Model config */
|
|
134
|
+
export interface ModelConfig {
|
|
135
|
+
name: string;
|
|
136
|
+
framework: MLFramework;
|
|
137
|
+
architecture?: string;
|
|
138
|
+
pretrained?: string;
|
|
139
|
+
parameters?: number;
|
|
140
|
+
config?: Record<string, unknown>;
|
|
141
|
+
}
|
|
142
|
+
/** Training params */
|
|
143
|
+
export interface TrainingParams {
|
|
144
|
+
epochs: number;
|
|
145
|
+
batchSize: number;
|
|
146
|
+
learningRate: number;
|
|
147
|
+
optimizer: OptimizerConfig;
|
|
148
|
+
scheduler?: SchedulerConfig;
|
|
149
|
+
lossFunction?: string;
|
|
150
|
+
metrics?: string[];
|
|
151
|
+
seed?: number;
|
|
152
|
+
earlyStopping?: EarlyStoppingConfig;
|
|
153
|
+
gradientClipping?: number;
|
|
154
|
+
mixedPrecision?: boolean;
|
|
155
|
+
gradientAccumulation?: number;
|
|
156
|
+
}
|
|
157
|
+
/** Optimizer config */
|
|
158
|
+
export interface OptimizerConfig {
|
|
159
|
+
name: string;
|
|
160
|
+
params?: Record<string, unknown>;
|
|
161
|
+
}
|
|
162
|
+
/** Scheduler config */
|
|
163
|
+
export interface SchedulerConfig {
|
|
164
|
+
name: string;
|
|
165
|
+
params?: Record<string, unknown>;
|
|
166
|
+
}
|
|
167
|
+
/** Early stopping config */
|
|
168
|
+
export interface EarlyStoppingConfig {
|
|
169
|
+
metric: string;
|
|
170
|
+
patience: number;
|
|
171
|
+
minDelta?: number;
|
|
172
|
+
mode: OptimizationDirection;
|
|
173
|
+
}
|
|
174
|
+
/** Data config */
|
|
175
|
+
export interface DataConfig {
|
|
176
|
+
datasetId?: string;
|
|
177
|
+
trainPath?: string;
|
|
178
|
+
valPath?: string;
|
|
179
|
+
testPath?: string;
|
|
180
|
+
preprocessing?: PreprocessingConfig;
|
|
181
|
+
augmentation?: string;
|
|
182
|
+
}
|
|
183
|
+
/** Preprocessing config */
|
|
184
|
+
export interface PreprocessingConfig {
|
|
185
|
+
normalize?: boolean;
|
|
186
|
+
resize?: number[];
|
|
187
|
+
tokenizer?: string;
|
|
188
|
+
maxLength?: number;
|
|
189
|
+
[key: string]: unknown;
|
|
190
|
+
}
|
|
191
|
+
/** Environment config */
|
|
192
|
+
export interface EnvironmentConfig {
|
|
193
|
+
pythonVersion?: string;
|
|
194
|
+
framework?: string;
|
|
195
|
+
frameworkVersion?: string;
|
|
196
|
+
cuda?: string;
|
|
197
|
+
cudnn?: string;
|
|
198
|
+
packages?: PackageVersion[];
|
|
199
|
+
docker?: string;
|
|
200
|
+
}
|
|
201
|
+
/** Package version */
|
|
202
|
+
export interface PackageVersion {
|
|
203
|
+
name: string;
|
|
204
|
+
version: string;
|
|
205
|
+
}
|
|
206
|
+
/** Run metrics */
|
|
207
|
+
export interface RunMetrics {
|
|
208
|
+
train: MetricHistory;
|
|
209
|
+
val?: MetricHistory;
|
|
210
|
+
test?: MetricHistory;
|
|
211
|
+
best?: BestMetrics;
|
|
212
|
+
final?: Record<string, number>;
|
|
213
|
+
}
|
|
214
|
+
/** Metric history */
|
|
215
|
+
export interface MetricHistory {
|
|
216
|
+
epochs: number[];
|
|
217
|
+
steps?: number[];
|
|
218
|
+
metrics: Record<string, number[]>;
|
|
219
|
+
}
|
|
220
|
+
/** Best metrics */
|
|
221
|
+
export interface BestMetrics {
|
|
222
|
+
epoch: number;
|
|
223
|
+
step?: number;
|
|
224
|
+
metrics: Record<string, number>;
|
|
225
|
+
}
|
|
226
|
+
/** Run artifact */
|
|
227
|
+
export interface RunArtifact {
|
|
228
|
+
id: string;
|
|
229
|
+
name: string;
|
|
230
|
+
type: ArtifactType;
|
|
231
|
+
path: string;
|
|
232
|
+
size?: number;
|
|
233
|
+
checksum?: string;
|
|
234
|
+
metadata?: Record<string, unknown>;
|
|
235
|
+
createdAt: Date;
|
|
236
|
+
}
|
|
237
|
+
/** Artifact type */
|
|
238
|
+
export type ArtifactType = 'model' | 'checkpoint' | 'config' | 'logs' | 'metrics' | 'dataset' | 'plot' | 'report' | 'custom';
|
|
239
|
+
/** Checkpoint */
|
|
240
|
+
export interface Checkpoint {
|
|
241
|
+
id: string;
|
|
242
|
+
epoch: number;
|
|
243
|
+
step?: number;
|
|
244
|
+
metrics: Record<string, number>;
|
|
245
|
+
path: string;
|
|
246
|
+
size?: number;
|
|
247
|
+
best?: boolean;
|
|
248
|
+
createdAt: Date;
|
|
249
|
+
}
|
|
250
|
+
/** Log entry */
|
|
251
|
+
export interface LogEntry {
|
|
252
|
+
timestamp: Date;
|
|
253
|
+
level: 'debug' | 'info' | 'warning' | 'error';
|
|
254
|
+
message: string;
|
|
255
|
+
source?: string;
|
|
256
|
+
metadata?: Record<string, unknown>;
|
|
257
|
+
}
|
|
258
|
+
/** System metrics */
|
|
259
|
+
export interface SystemMetrics {
|
|
260
|
+
timestamps: Date[];
|
|
261
|
+
cpu: number[];
|
|
262
|
+
memory: number[];
|
|
263
|
+
gpu?: GPUMetrics[];
|
|
264
|
+
disk?: DiskMetrics;
|
|
265
|
+
network?: NetworkMetrics;
|
|
266
|
+
}
|
|
267
|
+
/** GPU metrics */
|
|
268
|
+
export interface GPUMetrics {
|
|
269
|
+
id: number;
|
|
270
|
+
name?: string;
|
|
271
|
+
utilization: number[];
|
|
272
|
+
memory: number[];
|
|
273
|
+
temperature?: number[];
|
|
274
|
+
power?: number[];
|
|
275
|
+
}
|
|
276
|
+
/** Disk metrics */
|
|
277
|
+
export interface DiskMetrics {
|
|
278
|
+
read: number[];
|
|
279
|
+
write: number[];
|
|
280
|
+
}
|
|
281
|
+
/** Network metrics */
|
|
282
|
+
export interface NetworkMetrics {
|
|
283
|
+
sent: number[];
|
|
284
|
+
received: number[];
|
|
285
|
+
}
|
|
286
|
+
/** Experiment metadata */
|
|
287
|
+
export interface ExperimentMetadata {
|
|
288
|
+
goal?: string;
|
|
289
|
+
dataset?: string;
|
|
290
|
+
baseline?: string;
|
|
291
|
+
custom?: Record<string, unknown>;
|
|
292
|
+
}
|
|
293
|
+
/** Hyperparameter sweep */
|
|
294
|
+
export interface HyperparameterSweep {
|
|
295
|
+
id: string;
|
|
296
|
+
name: string;
|
|
297
|
+
experimentId: string;
|
|
298
|
+
status: SweepStatus;
|
|
299
|
+
config: SweepConfig;
|
|
300
|
+
trials: SweepTrial[];
|
|
301
|
+
bestTrial?: SweepTrial;
|
|
302
|
+
analysis?: SweepAnalysis;
|
|
303
|
+
createdAt: Date;
|
|
304
|
+
completedAt?: Date;
|
|
305
|
+
}
|
|
306
|
+
/** Sweep status */
|
|
307
|
+
export type SweepStatus = 'pending' | 'running' | 'paused' | 'completed' | 'failed' | 'cancelled';
|
|
308
|
+
/** Sweep config */
|
|
309
|
+
export interface SweepConfig {
|
|
310
|
+
method: SweepMethod;
|
|
311
|
+
metric: SweepMetric;
|
|
312
|
+
parameters: HyperparameterSpace;
|
|
313
|
+
maxTrials?: number;
|
|
314
|
+
maxConcurrent?: number;
|
|
315
|
+
earlyTermination?: EarlyTerminationConfig;
|
|
316
|
+
scheduler?: TrialScheduler;
|
|
317
|
+
}
|
|
318
|
+
/** Sweep method */
|
|
319
|
+
export type SweepMethod = 'grid' | 'random' | 'bayesian' | 'hyperband' | 'bohb' | 'pbt' | 'optuna' | 'custom';
|
|
320
|
+
/** Sweep metric */
|
|
321
|
+
export interface SweepMetric {
|
|
322
|
+
name: string;
|
|
323
|
+
goal: OptimizationDirection;
|
|
324
|
+
}
|
|
325
|
+
/** Hyperparameter space */
|
|
326
|
+
export interface HyperparameterSpace {
|
|
327
|
+
[name: string]: HyperparameterDef;
|
|
328
|
+
}
|
|
329
|
+
/** Hyperparameter definition */
|
|
330
|
+
export interface HyperparameterDef {
|
|
331
|
+
type: HyperparameterType;
|
|
332
|
+
values?: unknown[];
|
|
333
|
+
min?: number;
|
|
334
|
+
max?: number;
|
|
335
|
+
step?: number;
|
|
336
|
+
logScale?: boolean;
|
|
337
|
+
distribution?: Distribution;
|
|
338
|
+
conditional?: ConditionalParam;
|
|
339
|
+
}
|
|
340
|
+
/** Hyperparameter type */
|
|
341
|
+
export type HyperparameterType = 'categorical' | 'uniform' | 'loguniform' | 'int' | 'float' | 'choice' | 'constant';
|
|
342
|
+
/** Distribution */
|
|
343
|
+
export type Distribution = 'uniform' | 'loguniform' | 'normal' | 'lognormal' | 'discrete';
|
|
344
|
+
/** Conditional param */
|
|
345
|
+
export interface ConditionalParam {
|
|
346
|
+
parent: string;
|
|
347
|
+
condition: 'equals' | 'in' | 'greater' | 'less';
|
|
348
|
+
value: unknown;
|
|
349
|
+
}
|
|
350
|
+
/** Early termination config */
|
|
351
|
+
export interface EarlyTerminationConfig {
|
|
352
|
+
type: 'median' | 'percentile' | 'threshold';
|
|
353
|
+
evaluationInterval?: number;
|
|
354
|
+
delayEvaluation?: number;
|
|
355
|
+
slackFactor?: number;
|
|
356
|
+
percentile?: number;
|
|
357
|
+
threshold?: number;
|
|
358
|
+
}
|
|
359
|
+
/** Trial scheduler */
|
|
360
|
+
export interface TrialScheduler {
|
|
361
|
+
type: 'asha' | 'hyperband' | 'pbt' | 'median_stopping';
|
|
362
|
+
config?: Record<string, unknown>;
|
|
363
|
+
}
|
|
364
|
+
/** Sweep trial */
|
|
365
|
+
export interface SweepTrial {
|
|
366
|
+
id: string;
|
|
367
|
+
sweepId: string;
|
|
368
|
+
runId?: string;
|
|
369
|
+
number: number;
|
|
370
|
+
status: TrialStatus;
|
|
371
|
+
hyperparameters: Record<string, unknown>;
|
|
372
|
+
metrics?: Record<string, number>;
|
|
373
|
+
intermediateMetrics?: IntermediateMetric[];
|
|
374
|
+
startTime?: Date;
|
|
375
|
+
endTime?: Date;
|
|
376
|
+
duration?: number;
|
|
377
|
+
error?: string;
|
|
378
|
+
}
|
|
379
|
+
/** Trial status */
|
|
380
|
+
export type TrialStatus = 'pending' | 'running' | 'completed' | 'pruned' | 'failed';
|
|
381
|
+
/** Intermediate metric */
|
|
382
|
+
export interface IntermediateMetric {
|
|
383
|
+
step: number;
|
|
384
|
+
value: number;
|
|
385
|
+
}
|
|
386
|
+
/** Sweep analysis */
|
|
387
|
+
export interface SweepAnalysis {
|
|
388
|
+
parameterImportance: ParameterImportance[];
|
|
389
|
+
parallelCoordinates: ParallelCoordinatesData;
|
|
390
|
+
optHistory: OptimizationHistory;
|
|
391
|
+
contourPlots?: ContourPlot[];
|
|
392
|
+
}
|
|
393
|
+
/** Parameter importance */
|
|
394
|
+
export interface ParameterImportance {
|
|
395
|
+
name: string;
|
|
396
|
+
importance: number;
|
|
397
|
+
method: 'fanova' | 'permutation' | 'shap';
|
|
398
|
+
}
|
|
399
|
+
/** Parallel coordinates data */
|
|
400
|
+
export interface ParallelCoordinatesData {
|
|
401
|
+
dimensions: string[];
|
|
402
|
+
values: number[][];
|
|
403
|
+
colors: number[];
|
|
404
|
+
}
|
|
405
|
+
/** Optimization history */
|
|
406
|
+
export interface OptimizationHistory {
|
|
407
|
+
trials: number[];
|
|
408
|
+
values: number[];
|
|
409
|
+
best: number[];
|
|
410
|
+
}
|
|
411
|
+
/** Contour plot */
|
|
412
|
+
export interface ContourPlot {
|
|
413
|
+
xParam: string;
|
|
414
|
+
yParam: string;
|
|
415
|
+
zValues: number[][];
|
|
416
|
+
xRange: number[];
|
|
417
|
+
yRange: number[];
|
|
418
|
+
}
|
|
419
|
+
/** Model comparison */
|
|
420
|
+
export interface ModelComparison {
|
|
421
|
+
id: string;
|
|
422
|
+
name: string;
|
|
423
|
+
runs: string[];
|
|
424
|
+
metrics: ComparisonMetric[];
|
|
425
|
+
charts?: ComparisonChart[];
|
|
426
|
+
summary?: ComparisonSummary;
|
|
427
|
+
createdAt: Date;
|
|
428
|
+
}
|
|
429
|
+
/** Comparison metric */
|
|
430
|
+
export interface ComparisonMetric {
|
|
431
|
+
name: string;
|
|
432
|
+
values: Record<string, number>;
|
|
433
|
+
best: string;
|
|
434
|
+
worst: string;
|
|
435
|
+
mean?: number;
|
|
436
|
+
std?: number;
|
|
437
|
+
}
|
|
438
|
+
/** Comparison chart */
|
|
439
|
+
export interface ComparisonChart {
|
|
440
|
+
type: 'bar' | 'line' | 'radar' | 'scatter';
|
|
441
|
+
metric: string;
|
|
442
|
+
data: ChartDataPoint[];
|
|
443
|
+
}
|
|
444
|
+
/** Chart data point */
|
|
445
|
+
export interface ChartDataPoint {
|
|
446
|
+
runId: string;
|
|
447
|
+
runName?: string;
|
|
448
|
+
value: number;
|
|
449
|
+
epoch?: number;
|
|
450
|
+
}
|
|
451
|
+
/** Comparison summary */
|
|
452
|
+
export interface ComparisonSummary {
|
|
453
|
+
winner: string;
|
|
454
|
+
scores: Record<string, number>;
|
|
455
|
+
analysis?: string;
|
|
456
|
+
}
|
|
457
|
+
/** Distributed config */
|
|
458
|
+
export interface DistributedConfig {
|
|
459
|
+
strategy: DistributedStrategy;
|
|
460
|
+
nodes?: number;
|
|
461
|
+
gpusPerNode?: number;
|
|
462
|
+
backend?: DistributedBackend;
|
|
463
|
+
config?: StrategyConfig;
|
|
464
|
+
}
|
|
465
|
+
/** Distributed strategy */
|
|
466
|
+
export type DistributedStrategy = 'ddp' | 'fsdp' | 'deepspeed' | 'horovod' | 'mirroredStrategy' | 'multiWorker' | 'parameterServer';
|
|
467
|
+
/** Distributed backend */
|
|
468
|
+
export type DistributedBackend = 'nccl' | 'gloo' | 'mpi';
|
|
469
|
+
/** Strategy config */
|
|
470
|
+
export interface StrategyConfig {
|
|
471
|
+
stage?: number;
|
|
472
|
+
offloadOptimizer?: boolean;
|
|
473
|
+
offloadParams?: boolean;
|
|
474
|
+
shardingStrategy?: string;
|
|
475
|
+
cpuOffload?: boolean;
|
|
476
|
+
gradientAsyncUpdates?: boolean;
|
|
477
|
+
localSgd?: boolean;
|
|
478
|
+
localSgdFreq?: number;
|
|
479
|
+
[key: string]: unknown;
|
|
480
|
+
}
|
|
481
|
+
/** Distributed job */
|
|
482
|
+
export interface DistributedJob {
|
|
483
|
+
id: string;
|
|
484
|
+
runId: string;
|
|
485
|
+
config: DistributedConfig;
|
|
486
|
+
workers: WorkerInfo[];
|
|
487
|
+
status: TrainingStatus;
|
|
488
|
+
progress?: DistributedProgress;
|
|
489
|
+
}
|
|
490
|
+
/** Worker info */
|
|
491
|
+
export interface WorkerInfo {
|
|
492
|
+
id: string;
|
|
493
|
+
rank: number;
|
|
494
|
+
hostname?: string;
|
|
495
|
+
gpus?: number[];
|
|
496
|
+
status: 'pending' | 'running' | 'completed' | 'failed';
|
|
497
|
+
metrics?: SystemMetrics;
|
|
498
|
+
}
|
|
499
|
+
/** Distributed progress */
|
|
500
|
+
export interface DistributedProgress {
|
|
501
|
+
epoch: number;
|
|
502
|
+
step: number;
|
|
503
|
+
totalSteps: number;
|
|
504
|
+
throughput?: number;
|
|
505
|
+
syncTime?: number;
|
|
506
|
+
}
|
|
507
|
+
/** AutoML job */
|
|
508
|
+
export interface AutoMLJob {
|
|
509
|
+
id: string;
|
|
510
|
+
name: string;
|
|
511
|
+
status: AutoMLStatus;
|
|
512
|
+
config: AutoMLConfig;
|
|
513
|
+
trials: AutoMLTrial[];
|
|
514
|
+
bestModel?: AutoMLModel;
|
|
515
|
+
leaderboard?: AutoMLLeaderboard;
|
|
516
|
+
report?: AutoMLReport;
|
|
517
|
+
startTime?: Date;
|
|
518
|
+
endTime?: Date;
|
|
519
|
+
}
|
|
520
|
+
/** AutoML status */
|
|
521
|
+
export type AutoMLStatus = 'pending' | 'preprocessing' | 'searching' | 'training' | 'evaluating' | 'completed' | 'failed';
|
|
522
|
+
/** AutoML config */
|
|
523
|
+
export interface AutoMLConfig {
|
|
524
|
+
task: AutoMLTask;
|
|
525
|
+
dataset: AutoMLDataset;
|
|
526
|
+
metric: string;
|
|
527
|
+
timeLimit?: number;
|
|
528
|
+
maxModels?: number;
|
|
529
|
+
searchSpace?: AutoMLSearchSpace;
|
|
530
|
+
preprocessing?: AutoMLPreprocessing;
|
|
531
|
+
validation?: AutoMLValidation;
|
|
532
|
+
}
|
|
533
|
+
/** AutoML task */
|
|
534
|
+
export type AutoMLTask = 'classification' | 'regression' | 'timeSeries' | 'objectDetection' | 'textClassification' | 'tabular';
|
|
535
|
+
/** AutoML dataset */
|
|
536
|
+
export interface AutoMLDataset {
|
|
537
|
+
trainPath: string;
|
|
538
|
+
targetColumn: string;
|
|
539
|
+
features?: string[];
|
|
540
|
+
testPath?: string;
|
|
541
|
+
}
|
|
542
|
+
/** AutoML search space */
|
|
543
|
+
export interface AutoMLSearchSpace {
|
|
544
|
+
algorithms?: string[];
|
|
545
|
+
preprocessing?: string[];
|
|
546
|
+
featureEngineering?: boolean;
|
|
547
|
+
ensembling?: boolean;
|
|
548
|
+
}
|
|
549
|
+
/** AutoML preprocessing */
|
|
550
|
+
export interface AutoMLPreprocessing {
|
|
551
|
+
handleMissing?: 'drop' | 'impute';
|
|
552
|
+
handleCategorical?: 'onehot' | 'label' | 'target';
|
|
553
|
+
handleOutliers?: boolean;
|
|
554
|
+
featureScaling?: boolean;
|
|
555
|
+
}
|
|
556
|
+
/** AutoML validation */
|
|
557
|
+
export interface AutoMLValidation {
|
|
558
|
+
strategy: 'holdout' | 'cv' | 'timeseries';
|
|
559
|
+
splits?: number;
|
|
560
|
+
testSize?: number;
|
|
561
|
+
}
|
|
562
|
+
/** AutoML trial */
|
|
563
|
+
export interface AutoMLTrial {
|
|
564
|
+
id: string;
|
|
565
|
+
algorithm: string;
|
|
566
|
+
hyperparameters: Record<string, unknown>;
|
|
567
|
+
preprocessing?: Record<string, unknown>;
|
|
568
|
+
metrics: Record<string, number>;
|
|
569
|
+
trainingTime: number;
|
|
570
|
+
status: TrialStatus;
|
|
571
|
+
}
|
|
572
|
+
/** AutoML model */
|
|
573
|
+
export interface AutoMLModel {
|
|
574
|
+
trialId: string;
|
|
575
|
+
algorithm: string;
|
|
576
|
+
metrics: Record<string, number>;
|
|
577
|
+
featureImportance?: FeatureImportance[];
|
|
578
|
+
path?: string;
|
|
579
|
+
}
|
|
580
|
+
/** Feature importance */
|
|
581
|
+
export interface FeatureImportance {
|
|
582
|
+
feature: string;
|
|
583
|
+
importance: number;
|
|
584
|
+
}
|
|
585
|
+
/** AutoML leaderboard */
|
|
586
|
+
export interface AutoMLLeaderboard {
|
|
587
|
+
metric: string;
|
|
588
|
+
entries: LeaderboardEntry[];
|
|
589
|
+
}
|
|
590
|
+
/** Leaderboard entry */
|
|
591
|
+
export interface LeaderboardEntry {
|
|
592
|
+
rank: number;
|
|
593
|
+
trialId: string;
|
|
594
|
+
algorithm: string;
|
|
595
|
+
score: number;
|
|
596
|
+
trainingTime: number;
|
|
597
|
+
}
|
|
598
|
+
/** AutoML report */
|
|
599
|
+
export interface AutoMLReport {
|
|
600
|
+
dataProfile: DataProfile;
|
|
601
|
+
modelSelection: ModelSelectionReport;
|
|
602
|
+
featureAnalysis: FeatureAnalysisReport;
|
|
603
|
+
recommendations: string[];
|
|
604
|
+
}
|
|
605
|
+
/** Data profile */
|
|
606
|
+
export interface DataProfile {
|
|
607
|
+
rows: number;
|
|
608
|
+
features: number;
|
|
609
|
+
targetDistribution: Record<string, number>;
|
|
610
|
+
missingValues: Record<string, number>;
|
|
611
|
+
correlations?: number[][];
|
|
612
|
+
}
|
|
613
|
+
/** Model selection report */
|
|
614
|
+
export interface ModelSelectionReport {
|
|
615
|
+
trialsRun: number;
|
|
616
|
+
bestAlgorithm: string;
|
|
617
|
+
algorithmComparison: AlgorithmComparison[];
|
|
618
|
+
}
|
|
619
|
+
/** Algorithm comparison */
|
|
620
|
+
export interface AlgorithmComparison {
|
|
621
|
+
algorithm: string;
|
|
622
|
+
trials: number;
|
|
623
|
+
bestScore: number;
|
|
624
|
+
avgScore: number;
|
|
625
|
+
avgTime: number;
|
|
626
|
+
}
|
|
627
|
+
/** Feature analysis report */
|
|
628
|
+
export interface FeatureAnalysisReport {
|
|
629
|
+
importantFeatures: FeatureImportance[];
|
|
630
|
+
redundantFeatures: string[];
|
|
631
|
+
suggestedFeatures?: string[];
|
|
632
|
+
}
|
|
633
|
+
/** Training profile */
|
|
634
|
+
export interface TrainingProfile {
|
|
635
|
+
runId: string;
|
|
636
|
+
timeline: ProfileTimeline;
|
|
637
|
+
memoryProfile?: MemoryProfile;
|
|
638
|
+
computeProfile?: ComputeProfile;
|
|
639
|
+
ioProfile?: IOProfile;
|
|
640
|
+
bottlenecks?: Bottleneck[];
|
|
641
|
+
}
|
|
642
|
+
/** Profile timeline */
|
|
643
|
+
export interface ProfileTimeline {
|
|
644
|
+
events: ProfileEvent[];
|
|
645
|
+
totalTime: number;
|
|
646
|
+
}
|
|
647
|
+
/** Profile event */
|
|
648
|
+
export interface ProfileEvent {
|
|
649
|
+
name: string;
|
|
650
|
+
category: 'forward' | 'backward' | 'optimizer' | 'data' | 'communication' | 'other';
|
|
651
|
+
start: number;
|
|
652
|
+
duration: number;
|
|
653
|
+
threadId?: number;
|
|
654
|
+
gpuId?: number;
|
|
655
|
+
}
|
|
656
|
+
/** Memory profile */
|
|
657
|
+
export interface MemoryProfile {
|
|
658
|
+
peakMemory: number;
|
|
659
|
+
allocations: MemoryAllocation[];
|
|
660
|
+
timeline?: MemoryTimeline;
|
|
661
|
+
}
|
|
662
|
+
/** Memory allocation */
|
|
663
|
+
export interface MemoryAllocation {
|
|
664
|
+
name: string;
|
|
665
|
+
size: number;
|
|
666
|
+
device: 'cpu' | 'gpu';
|
|
667
|
+
}
|
|
668
|
+
/** Memory timeline */
|
|
669
|
+
export interface MemoryTimeline {
|
|
670
|
+
timestamps: number[];
|
|
671
|
+
allocated: number[];
|
|
672
|
+
reserved: number[];
|
|
673
|
+
}
|
|
674
|
+
/** Compute profile */
|
|
675
|
+
export interface ComputeProfile {
|
|
676
|
+
operatorTimes: OperatorTime[];
|
|
677
|
+
kernelTimes?: KernelTime[];
|
|
678
|
+
}
|
|
679
|
+
/** Operator time */
|
|
680
|
+
export interface OperatorTime {
|
|
681
|
+
name: string;
|
|
682
|
+
selfTime: number;
|
|
683
|
+
totalTime: number;
|
|
684
|
+
calls: number;
|
|
685
|
+
}
|
|
686
|
+
/** Kernel time */
|
|
687
|
+
export interface KernelTime {
|
|
688
|
+
name: string;
|
|
689
|
+
duration: number;
|
|
690
|
+
gridSize: number[];
|
|
691
|
+
blockSize: number[];
|
|
692
|
+
}
|
|
693
|
+
/** IO profile */
|
|
694
|
+
export interface IOProfile {
|
|
695
|
+
dataLoading: number;
|
|
696
|
+
checkpointing: number;
|
|
697
|
+
logging: number;
|
|
698
|
+
}
|
|
699
|
+
/** Bottleneck */
|
|
700
|
+
export interface Bottleneck {
|
|
701
|
+
type: 'compute' | 'memory' | 'io' | 'communication';
|
|
702
|
+
severity: 'low' | 'medium' | 'high';
|
|
703
|
+
description: string;
|
|
704
|
+
suggestion?: string;
|
|
705
|
+
}
|
|
706
|
+
//# sourceMappingURL=model-training.d.ts.map
|