@elaraai/east-py-datascience 1.0.1 → 1.0.3
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/dist/src/alns/alns.d.ts +528 -0
- package/dist/src/alns/alns.d.ts.map +1 -0
- package/dist/src/alns/alns.js +238 -0
- package/dist/src/alns/alns.js.map +1 -0
- package/dist/src/google_or/google_or.d.ts +2457 -0
- package/dist/src/google_or/google_or.d.ts.map +1 -0
- package/dist/src/google_or/google_or.js +547 -0
- package/dist/src/google_or/google_or.js.map +1 -0
- package/dist/src/gp/gp.d.ts +447 -0
- package/dist/src/gp/gp.d.ts.map +1 -0
- package/dist/src/gp/gp.js +222 -0
- package/dist/src/gp/gp.js.map +1 -0
- package/dist/src/index.d.ts +34 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +57 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lightgbm/lightgbm.d.ts +575 -0
- package/dist/src/lightgbm/lightgbm.d.ts.map +1 -0
- package/dist/src/lightgbm/lightgbm.js +241 -0
- package/dist/src/lightgbm/lightgbm.js.map +1 -0
- package/dist/src/lightning/lightning.d.ts +1594 -0
- package/dist/src/lightning/lightning.d.ts.map +1 -0
- package/dist/src/lightning/lightning.js +468 -0
- package/dist/src/lightning/lightning.js.map +1 -0
- package/dist/src/mads/mads.d.ts +410 -0
- package/dist/src/mads/mads.d.ts.map +1 -0
- package/dist/src/mads/mads.js +219 -0
- package/dist/src/mads/mads.js.map +1 -0
- package/dist/src/mapie/mapie.d.ts +3680 -0
- package/dist/src/mapie/mapie.d.ts.map +1 -0
- package/dist/src/mapie/mapie.js +616 -0
- package/dist/src/mapie/mapie.js.map +1 -0
- package/dist/src/ngboost/ngboost.d.ts +483 -0
- package/dist/src/ngboost/ngboost.d.ts.map +1 -0
- package/dist/src/ngboost/ngboost.js +231 -0
- package/dist/src/ngboost/ngboost.js.map +1 -0
- package/dist/src/optimization/optimization.d.ts +700 -0
- package/dist/src/optimization/optimization.d.ts.map +1 -0
- package/dist/src/optimization/optimization.js +411 -0
- package/dist/src/optimization/optimization.js.map +1 -0
- package/dist/src/optuna/optuna.d.ts +857 -0
- package/dist/src/optuna/optuna.d.ts.map +1 -0
- package/dist/src/optuna/optuna.js +270 -0
- package/dist/src/optuna/optuna.js.map +1 -0
- package/dist/src/pymc/pymc.d.ts +2932 -0
- package/dist/src/pymc/pymc.d.ts.map +1 -0
- package/dist/src/pymc/pymc.js +688 -0
- package/dist/src/pymc/pymc.js.map +1 -0
- package/dist/src/scipy/scipy.d.ts +2205 -0
- package/dist/src/scipy/scipy.d.ts.map +1 -0
- package/dist/src/scipy/scipy.js +884 -0
- package/dist/src/scipy/scipy.js.map +1 -0
- package/dist/src/shap/shap.d.ts +4611 -0
- package/dist/src/shap/shap.d.ts.map +1 -0
- package/dist/src/shap/shap.js +552 -0
- package/dist/src/shap/shap.js.map +1 -0
- package/dist/src/simanneal/simanneal.d.ts +628 -0
- package/dist/src/simanneal/simanneal.d.ts.map +1 -0
- package/dist/src/simanneal/simanneal.js +328 -0
- package/dist/src/simanneal/simanneal.js.map +1 -0
- package/dist/src/simulation/simulation.d.ts +224 -0
- package/dist/src/simulation/simulation.d.ts.map +1 -0
- package/dist/src/simulation/simulation.js +189 -0
- package/dist/src/simulation/simulation.js.map +1 -0
- package/dist/src/sklearn/sklearn.d.ts +6362 -0
- package/dist/src/sklearn/sklearn.d.ts.map +1 -0
- package/dist/src/sklearn/sklearn.js +1508 -0
- package/dist/src/sklearn/sklearn.js.map +1 -0
- package/dist/src/torch/torch.d.ts +1205 -0
- package/dist/src/torch/torch.d.ts.map +1 -0
- package/dist/src/torch/torch.js +440 -0
- package/dist/src/torch/torch.js.map +1 -0
- package/dist/src/types.d.ts +43 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +44 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/xgboost/xgboost.d.ts +1424 -0
- package/dist/src/xgboost/xgboost.d.ts.map +1 -0
- package/dist/src/xgboost/xgboost.js +432 -0
- package/dist/src/xgboost/xgboost.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"torch.d.ts","sourceRoot":"","sources":["../../../src/torch/torch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAEH,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAMrD;;GAEG;AACH,eAAO,MAAM,mBAAmB;IAC5B,4BAA4B;;IAE5B,yBAAyB;;IAEzB,uBAAuB;;IAEvB,iBAAiB;;EAEnB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,aAAa;IACtB,sCAAsC;;IAEtC,uCAAuC;;IAEvC,sEAAsE;;IAEtE,qEAAqE;;IAErE,yEAAyE;;IAEzE,6HAA6H;;EAE/H,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC3B,qBAAqB;;IAErB,kCAAkC;;IAElC,8BAA8B;;IAE9B,wBAAwB;;EAE1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB;IAClC,8CAA8C;;IAE9C,gEAAgE;;IAEhE,mDAAmD;;EAErD,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC3B,yCAAyC;;IAEzC,2DAA2D;;QAjE3D,4BAA4B;;QAE5B,yBAAyB;;QAEzB,uBAAuB;;QAEvB,iBAAiB;;;IA6DjB,8FAA8F;;QApB9F,8CAA8C;;QAE9C,gEAAgE;;QAEhE,mDAAmD;;;IAkBnD,iCAAiC;;IAEjC,mCAAmC;;EAErC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC7B,qCAAqC;;IAErC,8BAA8B;;IAE9B,oCAAoC;;IAEpC,kCAAkC;;QAvElC,sCAAsC;;QAEtC,uCAAuC;;QAEvC,sEAAsE;;QAEtE,qEAAqE;;QAErE,yEAAyE;;QAEzE,6HAA6H;;;IA+D7H,+BAA+B;;QAvD/B,qBAAqB;;QAErB,kCAAkC;;QAElC,8BAA8B;;QAE9B,wBAAwB;;;IAmDxB,4CAA4C;;IAE5C,8CAA8C;;IAE9C,sCAAsC;;EAExC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC7B,8BAA8B;;IAE9B,gCAAgC;;IAEhC,sCAAsC;;EAExC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;IAC7B,yBAAyB;;;;;;;;;IASzB,kCAAkC;;QArBlC,8BAA8B;;QAE9B,gCAAgC;;QAEhC,sCAAsC;;;EAmBxC,CAAC;AAMH;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC3B,wBAAwB;;QAEpB,mCAAmC;;QAEnC,+BAA+B;;QAE/B,yBAAyB;;QAEzB,uBAAuB;;;EAG7B,CAAC;AAMH;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;IArGxB,yCAAyC;;IAEzC,2DAA2D;;QAjE3D,4BAA4B;;QAE5B,yBAAyB;;QAEzB,uBAAuB;;QAEvB,iBAAiB;;;IA6DjB,8FAA8F;;QApB9F,8CAA8C;;QAE9C,gEAAgE;;QAEhE,mDAAmD;;;IAkBnD,iCAAiC;;IAEjC,mCAAmC;;;IAQnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,oCAAoC;;IAEpC,kCAAkC;;QAvElC,sCAAsC;;QAEtC,uCAAuC;;QAEvC,sEAAsE;;QAEtE,qEAAqE;;QAErE,yEAAyE;;QAEzE,6HAA6H;;;IA+D7H,+BAA+B;;QAvD/B,qBAAqB;;QAErB,kCAAkC;;QAElC,8BAA8B;;QAE9B,wBAAwB;;;IAmDxB,4CAA4C;;IAE5C,8CAA8C;;IAE9C,sCAAsC;;;IAwBtC,yBAAyB;;;;;;;;;IASzB,kCAAkC;;QArBlC,8BAA8B;;QAE9B,gCAAgC;;QAEhC,sCAAsC;;;GA2DzC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;IAvC1B,wBAAwB;;QAEpB,mCAAmC;;QAEnC,+BAA+B;;QAE/B,yBAAyB;;QAEzB,uBAAuB;;;kDAmC9B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB;IArI9B,yCAAyC;;IAEzC,2DAA2D;;QAjE3D,4BAA4B;;QAE5B,yBAAyB;;QAEzB,uBAAuB;;QAEvB,iBAAiB;;;IA6DjB,8FAA8F;;QApB9F,8CAA8C;;QAE9C,gEAAgE;;QAEhE,mDAAmD;;;IAkBnD,iCAAiC;;IAEjC,mCAAmC;;;IAQnC,qCAAqC;;IAErC,8BAA8B;;IAE9B,oCAAoC;;IAEpC,kCAAkC;;QAvElC,sCAAsC;;QAEtC,uCAAuC;;QAEvC,sEAAsE;;QAEtE,qEAAqE;;QAErE,yEAAyE;;QAEzE,6HAA6H;;;IA+D7H,+BAA+B;;QAvD/B,qBAAqB;;QAErB,kCAAkC;;QAElC,8BAA8B;;QAE9B,wBAAwB;;;IAmDxB,4CAA4C;;IAE5C,8CAA8C;;IAE9C,sCAAsC;;;IAwBtC,yBAAyB;;;;;;;;;IASzB,kCAAkC;;QArBlC,8BAA8B;;QAE9B,gCAAgC;;QAEhC,sCAAsC;;;GA2FzC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;IAzEhC,wBAAwB;;QAEpB,mCAAmC;;QAEnC,+BAA+B;;QAE/B,yBAAyB;;QAEzB,uBAAuB;;;kDAqE9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,gBAAgB;IAhHzB,wBAAwB;;QAEpB,mCAAmC;;QAEnC,+BAA+B;;QAE/B,yBAAyB;;QAEzB,uBAAuB;;;+DA4G9B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,gBAAgB;IArJzB,wBAAwB;;QAEpB,mCAAmC;;QAEnC,+BAA+B;;QAE/B,yBAAyB;;QAEzB,uBAAuB;;;+DAiJ9B,CAAC;AAMF;;GAEG;AACH,eAAO,MAAM,UAAU;IACnB,iDAAiD;;QA7SjD,4BAA4B;;QAE5B,yBAAyB;;QAEzB,uBAAuB;;QAEvB,iBAAiB;;;IAySjB,sCAAsC;;QAhQtC,8CAA8C;;QAE9C,gEAAgE;;QAEhE,mDAAmD;;;IA8PnD,yBAAyB;;QAnSzB,sCAAsC;;QAEtC,uCAAuC;;QAEvC,sEAAsE;;QAEtE,qEAAqE;;QAErE,yEAAyE;;QAEzE,6HAA6H;;;IA2R7H,qBAAqB;;QAnRrB,qBAAqB;;QAErB,kCAAkC;;QAElC,8BAA8B;;QAE9B,wBAAwB;;;IA+QxB,6BAA6B;;QAtP7B,yCAAyC;;QAEzC,2DAA2D;;YAjE3D,4BAA4B;;YAE5B,yBAAyB;;YAEzB,uBAAuB;;YAEvB,iBAAiB;;;QA6DjB,8FAA8F;;YApB9F,8CAA8C;;YAE9C,gEAAgE;;YAEhE,mDAAmD;;;QAkBnD,iCAAiC;;QAEjC,mCAAmC;;;IAgPnC,kCAAkC;;QAxOlC,qCAAqC;;QAErC,8BAA8B;;QAE9B,oCAAoC;;QAEpC,kCAAkC;;YAvElC,sCAAsC;;YAEtC,uCAAuC;;YAEvC,sEAAsE;;YAEtE,qEAAqE;;YAErE,yEAAyE;;YAEzE,6HAA6H;;;QA+D7H,+BAA+B;;YAvD/B,qBAAqB;;YAErB,kCAAkC;;YAElC,8BAA8B;;YAE9B,wBAAwB;;;QAmDxB,4CAA4C;;QAE5C,8CAA8C;;QAE9C,sCAAsC;;;IA4NtC,2BAA2B;;QAhN3B,8BAA8B;;QAE9B,gCAAgC;;QAEhC,sCAAsC;;;IA8MtC,4CAA4C;;QAtM5C,yBAAyB;;;;;;;;;QASzB,kCAAkC;;YArBlC,8BAA8B;;YAE9B,gCAAgC;;YAEhC,sCAAsC;;;;IAgNtC,yCAAyC;;QAnLzC,wBAAwB;;YAEpB,mCAAmC;;YAEnC,+BAA+B;;YAE/B,yBAAyB;;YAEzB,uBAAuB;;;;CA6KrB,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,KAAK;IACd;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;;QA/TH,yCAAyC;;QAEzC,2DAA2D;;YAjE3D,4BAA4B;;YAE5B,yBAAyB;;YAEzB,uBAAuB;;YAEvB,iBAAiB;;;QA6DjB,8FAA8F;;YApB9F,8CAA8C;;YAE9C,gEAAgE;;YAEhE,mDAAmD;;;QAkBnD,iCAAiC;;QAEjC,mCAAmC;;;QAQnC,qCAAqC;;QAErC,8BAA8B;;QAE9B,oCAAoC;;QAEpC,kCAAkC;;YAvElC,sCAAsC;;YAEtC,uCAAuC;;YAEvC,sEAAsE;;YAEtE,qEAAqE;;YAErE,yEAAyE;;YAEzE,6HAA6H;;;QA+D7H,+BAA+B;;YAvD/B,qBAAqB;;YAErB,kCAAkC;;YAElC,8BAA8B;;YAE9B,wBAAwB;;;QAmDxB,4CAA4C;;QAE5C,8CAA8C;;QAE9C,sCAAsC;;;QAwBtC,yBAAyB;;;;;;;;;QASzB,kCAAkC;;YArBlC,8BAA8B;;YAE9B,gCAAgC;;YAEhC,sCAAsC;;;;IAoRtC;;;;;;;;;;;;;;;;OAgBG;;QAvQH,wBAAwB;;YAEpB,mCAAmC;;YAEnC,+BAA+B;;YAE/B,yBAAyB;;YAEzB,uBAAuB;;;;IAkQ3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;;QAlXH,yCAAyC;;QAEzC,2DAA2D;;YAjE3D,4BAA4B;;YAE5B,yBAAyB;;YAEzB,uBAAuB;;YAEvB,iBAAiB;;;QA6DjB,8FAA8F;;YApB9F,8CAA8C;;YAE9C,gEAAgE;;YAEhE,mDAAmD;;;QAkBnD,iCAAiC;;QAEjC,mCAAmC;;;QAQnC,qCAAqC;;QAErC,8BAA8B;;QAE9B,oCAAoC;;QAEpC,kCAAkC;;YAvElC,sCAAsC;;YAEtC,uCAAuC;;YAEvC,sEAAsE;;YAEtE,qEAAqE;;YAErE,yEAAyE;;YAEzE,6HAA6H;;;QA+D7H,+BAA+B;;YAvD/B,qBAAqB;;YAErB,kCAAkC;;YAElC,8BAA8B;;YAE9B,wBAAwB;;;QAmDxB,4CAA4C;;QAE5C,8CAA8C;;QAE9C,sCAAsC;;;QAwBtC,yBAAyB;;;;;;;;;QASzB,kCAAkC;;YArBlC,8BAA8B;;YAE9B,gCAAgC;;YAEhC,sCAAsC;;;;IAuUtC;;;;;;;;;;;;;;;;;;;OAmBG;;QA7TH,wBAAwB;;YAEpB,mCAAmC;;YAEnC,+BAA+B;;YAE/B,yBAAyB;;YAEzB,uBAAuB;;;;IAuT3B,mEAAmE;;QA/TnE,wBAAwB;;YAEpB,mCAAmC;;YAEnC,+BAA+B;;YAE/B,yBAAyB;;YAEzB,uBAAuB;;;;IAyT3B,4DAA4D;;QAjU5D,wBAAwB;;YAEpB,mCAAmC;;YAEnC,+BAA+B;;YAE/B,yBAAyB;;YAEzB,uBAAuB;;;;IA2T3B,uBAAuB;;QAhKvB,iDAAiD;;YA7SjD,4BAA4B;;YAE5B,yBAAyB;;YAEzB,uBAAuB;;YAEvB,iBAAiB;;;QAySjB,sCAAsC;;YAhQtC,8CAA8C;;YAE9C,gEAAgE;;YAEhE,mDAAmD;;;QA8PnD,yBAAyB;;YAnSzB,sCAAsC;;YAEtC,uCAAuC;;YAEvC,sEAAsE;;YAEtE,qEAAqE;;YAErE,yEAAyE;;YAEzE,6HAA6H;;;QA2R7H,qBAAqB;;YAnRrB,qBAAqB;;YAErB,kCAAkC;;YAElC,8BAA8B;;YAE9B,wBAAwB;;;QA+QxB,6BAA6B;;YAtP7B,yCAAyC;;YAEzC,2DAA2D;;gBAjE3D,4BAA4B;;gBAE5B,yBAAyB;;gBAEzB,uBAAuB;;gBAEvB,iBAAiB;;;YA6DjB,8FAA8F;;gBApB9F,8CAA8C;;gBAE9C,gEAAgE;;gBAEhE,mDAAmD;;;YAkBnD,iCAAiC;;YAEjC,mCAAmC;;;QAgPnC,kCAAkC;;YAxOlC,qCAAqC;;YAErC,8BAA8B;;YAE9B,oCAAoC;;YAEpC,kCAAkC;;gBAvElC,sCAAsC;;gBAEtC,uCAAuC;;gBAEvC,sEAAsE;;gBAEtE,qEAAqE;;gBAErE,yEAAyE;;gBAEzE,6HAA6H;;;YA+D7H,+BAA+B;;gBAvD/B,qBAAqB;;gBAErB,kCAAkC;;gBAElC,8BAA8B;;gBAE9B,wBAAwB;;;YAmDxB,4CAA4C;;YAE5C,8CAA8C;;YAE9C,sCAAsC;;;QA4NtC,2BAA2B;;YAhN3B,8BAA8B;;YAE9B,gCAAgC;;YAEhC,sCAAsC;;;QA8MtC,4CAA4C;;YAtM5C,yBAAyB;;;;;;;;;YASzB,kCAAkC;;gBArBlC,8BAA8B;;gBAE9B,gCAAgC;;gBAEhC,sCAAsC;;;;QAgNtC,yCAAyC;;YAnLzC,wBAAwB;;gBAEpB,mCAAmC;;gBAEnC,+BAA+B;;gBAE/B,yBAAyB;;gBAEzB,uBAAuB;;;;;CA6TrB,CAAC"}
|
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* PyTorch platform functions for East.
|
|
7
|
+
*
|
|
8
|
+
* Provides neural network models using PyTorch.
|
|
9
|
+
* Uses cloudpickle for model serialization.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import { East, StructType, VariantType, OptionType, IntegerType, FloatType, BlobType, ArrayType, NullType, } from "@elaraai/east";
|
|
14
|
+
import { VectorType, MatrixType } from "../types.js";
|
|
15
|
+
// Re-export shared types for convenience
|
|
16
|
+
export { VectorType, MatrixType } from "../types.js";
|
|
17
|
+
// ============================================================================
|
|
18
|
+
// Enum Types
|
|
19
|
+
// ============================================================================
|
|
20
|
+
/**
|
|
21
|
+
* Activation function type for hidden layers.
|
|
22
|
+
*/
|
|
23
|
+
export const TorchActivationType = VariantType({
|
|
24
|
+
/** Rectified Linear Unit */
|
|
25
|
+
relu: NullType,
|
|
26
|
+
/** Hyperbolic tangent */
|
|
27
|
+
tanh: NullType,
|
|
28
|
+
/** Sigmoid function */
|
|
29
|
+
sigmoid: NullType,
|
|
30
|
+
/** Leaky ReLU */
|
|
31
|
+
leaky_relu: NullType,
|
|
32
|
+
});
|
|
33
|
+
/**
|
|
34
|
+
* Loss function type for training.
|
|
35
|
+
*/
|
|
36
|
+
export const TorchLossType = VariantType({
|
|
37
|
+
/** Mean Squared Error (regression) */
|
|
38
|
+
mse: NullType,
|
|
39
|
+
/** Mean Absolute Error (regression) */
|
|
40
|
+
mae: NullType,
|
|
41
|
+
/** Cross Entropy (multi-class classification with integer targets) */
|
|
42
|
+
cross_entropy: NullType,
|
|
43
|
+
/** KL Divergence (distribution matching, use with softmax output) */
|
|
44
|
+
kl_div: NullType,
|
|
45
|
+
/** Binary Cross Entropy (multi-label binary, requires sigmoid output) */
|
|
46
|
+
bce: NullType,
|
|
47
|
+
/** Binary Cross Entropy with Logits (more stable, applies sigmoid internally - do NOT use with sigmoid output_activation) */
|
|
48
|
+
bce_with_logits: NullType,
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Optimizer type for training.
|
|
52
|
+
*/
|
|
53
|
+
export const TorchOptimizerType = VariantType({
|
|
54
|
+
/** Adam optimizer */
|
|
55
|
+
adam: NullType,
|
|
56
|
+
/** Stochastic Gradient Descent */
|
|
57
|
+
sgd: NullType,
|
|
58
|
+
/** AdamW with weight decay */
|
|
59
|
+
adamw: NullType,
|
|
60
|
+
/** RMSprop optimizer */
|
|
61
|
+
rmsprop: NullType,
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Output activation function type for the final layer.
|
|
65
|
+
* Applied only to the output layer, not hidden layers.
|
|
66
|
+
*/
|
|
67
|
+
export const TorchOutputActivationType = VariantType({
|
|
68
|
+
/** No activation (linear output) - default */
|
|
69
|
+
none: NullType,
|
|
70
|
+
/** Softmax (outputs sum to 1, for probability distributions) */
|
|
71
|
+
softmax: NullType,
|
|
72
|
+
/** Sigmoid (each output independently in [0,1]) */
|
|
73
|
+
sigmoid: NullType,
|
|
74
|
+
});
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// Config Types
|
|
77
|
+
// ============================================================================
|
|
78
|
+
/**
|
|
79
|
+
* Configuration for MLP architecture.
|
|
80
|
+
*/
|
|
81
|
+
export const TorchMLPConfigType = StructType({
|
|
82
|
+
/** Hidden layer sizes, e.g., [64, 32] */
|
|
83
|
+
hidden_layers: ArrayType(IntegerType),
|
|
84
|
+
/** Activation function for hidden layers (default relu) */
|
|
85
|
+
activation: OptionType(TorchActivationType),
|
|
86
|
+
/** Output activation function (default none/linear). Ignored if output_constraints is set. */
|
|
87
|
+
output_activation: OptionType(TorchOutputActivationType),
|
|
88
|
+
/** Dropout rate (default 0.0) */
|
|
89
|
+
dropout: OptionType(FloatType),
|
|
90
|
+
/** Output dimension (default 1) */
|
|
91
|
+
output_dim: OptionType(IntegerType),
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* Configuration for training.
|
|
95
|
+
*/
|
|
96
|
+
export const TorchTrainConfigType = StructType({
|
|
97
|
+
/** Number of epochs (default 100) */
|
|
98
|
+
epochs: OptionType(IntegerType),
|
|
99
|
+
/** Batch size (default 32) */
|
|
100
|
+
batch_size: OptionType(IntegerType),
|
|
101
|
+
/** Learning rate (default 0.001) */
|
|
102
|
+
learning_rate: OptionType(FloatType),
|
|
103
|
+
/** Loss function (default mse) */
|
|
104
|
+
loss: OptionType(TorchLossType),
|
|
105
|
+
/** Optimizer (default adam) */
|
|
106
|
+
optimizer: OptionType(TorchOptimizerType),
|
|
107
|
+
/** Early stopping patience, 0 = disabled */
|
|
108
|
+
early_stopping: OptionType(IntegerType),
|
|
109
|
+
/** Validation split fraction (default 0.2) */
|
|
110
|
+
validation_split: OptionType(FloatType),
|
|
111
|
+
/** Random seed for reproducibility */
|
|
112
|
+
random_state: OptionType(IntegerType),
|
|
113
|
+
});
|
|
114
|
+
// ============================================================================
|
|
115
|
+
// Result Types
|
|
116
|
+
// ============================================================================
|
|
117
|
+
/**
|
|
118
|
+
* Result type for training.
|
|
119
|
+
*/
|
|
120
|
+
export const TorchTrainResultType = StructType({
|
|
121
|
+
/** Training loss per epoch */
|
|
122
|
+
train_losses: VectorType(FloatType),
|
|
123
|
+
/** Validation loss per epoch */
|
|
124
|
+
val_losses: VectorType(FloatType),
|
|
125
|
+
/** Best epoch (for early stopping) */
|
|
126
|
+
best_epoch: IntegerType,
|
|
127
|
+
});
|
|
128
|
+
/**
|
|
129
|
+
* Combined result from training (model + metrics).
|
|
130
|
+
*/
|
|
131
|
+
export const TorchTrainOutputType = StructType({
|
|
132
|
+
/** Trained model blob */
|
|
133
|
+
model: VariantType({
|
|
134
|
+
torch_mlp: StructType({
|
|
135
|
+
data: BlobType,
|
|
136
|
+
n_features: IntegerType,
|
|
137
|
+
hidden_layers: ArrayType(IntegerType),
|
|
138
|
+
output_dim: IntegerType,
|
|
139
|
+
}),
|
|
140
|
+
}),
|
|
141
|
+
/** Training result with losses */
|
|
142
|
+
result: TorchTrainResultType,
|
|
143
|
+
});
|
|
144
|
+
// ============================================================================
|
|
145
|
+
// Model Blob Types
|
|
146
|
+
// ============================================================================
|
|
147
|
+
/**
|
|
148
|
+
* Model blob type for serialized PyTorch models.
|
|
149
|
+
*/
|
|
150
|
+
export const TorchModelBlobType = VariantType({
|
|
151
|
+
/** PyTorch MLP model */
|
|
152
|
+
torch_mlp: StructType({
|
|
153
|
+
/** Cloudpickle serialized model */
|
|
154
|
+
data: BlobType,
|
|
155
|
+
/** Number of input features */
|
|
156
|
+
n_features: IntegerType,
|
|
157
|
+
/** Hidden layer sizes */
|
|
158
|
+
hidden_layers: ArrayType(IntegerType),
|
|
159
|
+
/** Output dimension */
|
|
160
|
+
output_dim: IntegerType,
|
|
161
|
+
}),
|
|
162
|
+
});
|
|
163
|
+
// ============================================================================
|
|
164
|
+
// Platform Functions
|
|
165
|
+
// ============================================================================
|
|
166
|
+
/**
|
|
167
|
+
* Train a PyTorch MLP model.
|
|
168
|
+
*
|
|
169
|
+
* @param X - Feature matrix
|
|
170
|
+
* @param y - Target vector
|
|
171
|
+
* @param mlp_config - MLP architecture configuration
|
|
172
|
+
* @param train_config - Training configuration
|
|
173
|
+
* @returns Model blob and training result
|
|
174
|
+
*/
|
|
175
|
+
export const torch_mlp_train = East.platform("torch_mlp_train", [MatrixType(FloatType), VectorType(FloatType), TorchMLPConfigType, TorchTrainConfigType], TorchTrainOutputType);
|
|
176
|
+
/**
|
|
177
|
+
* Make predictions with a trained PyTorch MLP.
|
|
178
|
+
*
|
|
179
|
+
* @param model - Trained MLP model blob
|
|
180
|
+
* @param X - Feature matrix
|
|
181
|
+
* @returns Predicted values
|
|
182
|
+
*/
|
|
183
|
+
export const torch_mlp_predict = East.platform("torch_mlp_predict", [TorchModelBlobType, MatrixType(FloatType)], VectorType(FloatType));
|
|
184
|
+
/**
|
|
185
|
+
* Train a PyTorch MLP model with multi-output support.
|
|
186
|
+
*
|
|
187
|
+
* Supports multi-output regression (predicting multiple values per sample)
|
|
188
|
+
* and autoencoders (where input equals target for reconstruction learning).
|
|
189
|
+
* Output dimension is inferred from y.shape[1] unless overridden in config.
|
|
190
|
+
*
|
|
191
|
+
* @param X - Feature matrix (n_samples x n_features)
|
|
192
|
+
* @param y - Target matrix (n_samples x n_outputs)
|
|
193
|
+
* @param mlp_config - MLP architecture configuration
|
|
194
|
+
* @param train_config - Training configuration
|
|
195
|
+
* @returns Model blob and training result
|
|
196
|
+
*/
|
|
197
|
+
export const torch_mlp_train_multi = East.platform("torch_mlp_train_multi", [MatrixType(FloatType), MatrixType(FloatType), TorchMLPConfigType, TorchTrainConfigType], TorchTrainOutputType);
|
|
198
|
+
/**
|
|
199
|
+
* Make predictions with a trained PyTorch MLP (multi-output).
|
|
200
|
+
*
|
|
201
|
+
* Returns a matrix where each row contains the predicted outputs for a sample.
|
|
202
|
+
*
|
|
203
|
+
* @param model - Trained MLP model blob
|
|
204
|
+
* @param X - Feature matrix (n_samples x n_features)
|
|
205
|
+
* @returns Predicted matrix (n_samples x n_outputs)
|
|
206
|
+
*/
|
|
207
|
+
export const torch_mlp_predict_multi = East.platform("torch_mlp_predict_multi", [TorchModelBlobType, MatrixType(FloatType)], MatrixType(FloatType));
|
|
208
|
+
/**
|
|
209
|
+
* Extract intermediate layer activations (embeddings) from a trained MLP.
|
|
210
|
+
*
|
|
211
|
+
* For autoencoders, this allows extracting the bottleneck representation.
|
|
212
|
+
* The layer_index specifies which hidden layer's output to return (0-indexed).
|
|
213
|
+
*
|
|
214
|
+
* For an autoencoder with architecture [input -> 8 -> 2 -> 8 -> output]
|
|
215
|
+
* (hidden_layers: [8, 2, 8]):
|
|
216
|
+
* - layer_index=0: output after first hidden layer (8 features)
|
|
217
|
+
* - layer_index=1: output after second hidden layer (2 features) <- bottleneck
|
|
218
|
+
* - layer_index=2: output after third hidden layer (8 features)
|
|
219
|
+
*
|
|
220
|
+
* @param model - Trained MLP model blob
|
|
221
|
+
* @param X - Feature matrix (n_samples x n_features)
|
|
222
|
+
* @param layer_index - Which hidden layer's output to return (0-indexed)
|
|
223
|
+
* @returns Embedding matrix (n_samples x hidden_dim at that layer)
|
|
224
|
+
*
|
|
225
|
+
* @example
|
|
226
|
+
* ```ts
|
|
227
|
+
* // Train autoencoder: 4 features -> 8 -> 2 (bottleneck) -> 8 -> 4 features
|
|
228
|
+
* const mlp_config = $.let({
|
|
229
|
+
* hidden_layers: [8n, 2n, 8n],
|
|
230
|
+
* activation: variant('some', variant('relu', {})),
|
|
231
|
+
* dropout: variant('none', null),
|
|
232
|
+
* output_dim: variant('none', null),
|
|
233
|
+
* });
|
|
234
|
+
* const output = $.let(Torch.mlpTrainMulti(X, X, mlp_config, train_config));
|
|
235
|
+
*
|
|
236
|
+
* // Extract bottleneck embeddings (layer_index=1 for the 2-dim bottleneck)
|
|
237
|
+
* const embeddings = $.let(Torch.mlpEncode(output.model, X, 1n));
|
|
238
|
+
* // embeddings is now (n_samples x 2)
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
export const torch_mlp_encode = East.platform("torch_mlp_encode", [TorchModelBlobType, MatrixType(FloatType), IntegerType], MatrixType(FloatType));
|
|
242
|
+
/**
|
|
243
|
+
* Decode embeddings back through the decoder portion of an MLP.
|
|
244
|
+
*
|
|
245
|
+
* For autoencoders, this takes bottleneck activations and runs them through
|
|
246
|
+
* the decoder to reconstruct the output. This is the complement to mlpEncode.
|
|
247
|
+
*
|
|
248
|
+
* For an autoencoder with architecture [input -> 8 -> 2 -> 8 -> output]
|
|
249
|
+
* (hidden_layers: [8, 2, 8]):
|
|
250
|
+
* - layer_index=1: Start from the 2-dim bottleneck, run through layers 2+ to output
|
|
251
|
+
* - layer_index=0: Start from the 8-dim first layer, run through layers 1+ to output
|
|
252
|
+
*
|
|
253
|
+
* Use case: Compute weighted average of origin embeddings, then decode to
|
|
254
|
+
* get the reconstructed blend weight distribution.
|
|
255
|
+
*
|
|
256
|
+
* @param model - Trained MLP model blob
|
|
257
|
+
* @param embeddings - Embedding matrix (n_samples x hidden_dim at layer_index)
|
|
258
|
+
* @param layer_index - Which hidden layer the embeddings come from (0-indexed)
|
|
259
|
+
* @returns Decoded output matrix (n_samples x output_dim)
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```ts
|
|
263
|
+
* // After training autoencoder and extracting embeddings...
|
|
264
|
+
* const origin_embeddings = $.let(Torch.mlpEncode(output.model, X_onehot, 1n));
|
|
265
|
+
*
|
|
266
|
+
* // Compute weighted blend embedding (e.g., 50% origin A + 50% origin B)
|
|
267
|
+
* const blend_embedding = $.let(...); // weighted average of origin embeddings
|
|
268
|
+
*
|
|
269
|
+
* // Decode back to weight distribution
|
|
270
|
+
* const reconstructed = $.let(Torch.mlpDecode(output.model, blend_embedding, 1n));
|
|
271
|
+
* ```
|
|
272
|
+
*/
|
|
273
|
+
export const torch_mlp_decode = East.platform("torch_mlp_decode", [TorchModelBlobType, MatrixType(FloatType), IntegerType], MatrixType(FloatType));
|
|
274
|
+
// ============================================================================
|
|
275
|
+
// Grouped Export
|
|
276
|
+
// ============================================================================
|
|
277
|
+
/**
|
|
278
|
+
* Type definitions for PyTorch functions.
|
|
279
|
+
*/
|
|
280
|
+
export const TorchTypes = {
|
|
281
|
+
/** Activation function type for hidden layers */
|
|
282
|
+
TorchActivationType,
|
|
283
|
+
/** Output activation function type */
|
|
284
|
+
TorchOutputActivationType,
|
|
285
|
+
/** Loss function type */
|
|
286
|
+
TorchLossType,
|
|
287
|
+
/** Optimizer type */
|
|
288
|
+
TorchOptimizerType,
|
|
289
|
+
/** MLP configuration type */
|
|
290
|
+
TorchMLPConfigType,
|
|
291
|
+
/** Training configuration type */
|
|
292
|
+
TorchTrainConfigType,
|
|
293
|
+
/** Training result type */
|
|
294
|
+
TorchTrainResultType,
|
|
295
|
+
/** Training output type (model + result) */
|
|
296
|
+
TorchTrainOutputType,
|
|
297
|
+
/** Model blob type for PyTorch models */
|
|
298
|
+
ModelBlobType: TorchModelBlobType,
|
|
299
|
+
};
|
|
300
|
+
/**
|
|
301
|
+
* PyTorch neural network models.
|
|
302
|
+
*
|
|
303
|
+
* Provides MLP training and inference using PyTorch.
|
|
304
|
+
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```ts
|
|
307
|
+
* import { East, variant } from "@elaraai/east";
|
|
308
|
+
* import { Torch } from "@elaraai/east-py-datascience";
|
|
309
|
+
*
|
|
310
|
+
* const train = East.function([], Torch.Types.TorchTrainOutputType, $ => {
|
|
311
|
+
* const X = $.let([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0], [7.0, 8.0]]);
|
|
312
|
+
* const y = $.let([1.0, 2.0, 3.0, 4.0]);
|
|
313
|
+
* const mlp_config = $.let({
|
|
314
|
+
* hidden_layers: [32n, 16n],
|
|
315
|
+
* activation: variant('none', null),
|
|
316
|
+
* dropout: variant('none', null),
|
|
317
|
+
* output_dim: variant('none', null),
|
|
318
|
+
* });
|
|
319
|
+
* const train_config = $.let({
|
|
320
|
+
* epochs: variant('some', 50n),
|
|
321
|
+
* batch_size: variant('some', 4n),
|
|
322
|
+
* learning_rate: variant('some', 0.01),
|
|
323
|
+
* loss: variant('none', null),
|
|
324
|
+
* optimizer: variant('none', null),
|
|
325
|
+
* early_stopping: variant('none', null),
|
|
326
|
+
* validation_split: variant('some', 0.2),
|
|
327
|
+
* random_state: variant('some', 42n),
|
|
328
|
+
* });
|
|
329
|
+
* return $.return(Torch.mlpTrain(X, y, mlp_config, train_config));
|
|
330
|
+
* });
|
|
331
|
+
* ```
|
|
332
|
+
*/
|
|
333
|
+
export const Torch = {
|
|
334
|
+
/**
|
|
335
|
+
* Train a PyTorch MLP model (single output).
|
|
336
|
+
*
|
|
337
|
+
* @example
|
|
338
|
+
* ```ts
|
|
339
|
+
* import { East, FloatType, MatrixType, VectorType, variant } from "@elaraai/east";
|
|
340
|
+
* import { Torch, TorchMLPConfigType, TorchTrainConfigType } from "@elaraai/east-py-datascience";
|
|
341
|
+
*
|
|
342
|
+
* const train = East.function([], Torch.Types.TorchTrainOutputType, ($) => {
|
|
343
|
+
* const X = $.let([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0], [7.0, 8.0]]);
|
|
344
|
+
* const y = $.let(new Float64Array([1.0, 2.0, 3.0, 4.0]));
|
|
345
|
+
* const mlp_config = $.let({
|
|
346
|
+
* hidden_layers: new BigInt64Array([16n, 8n]),
|
|
347
|
+
* activation: variant("some", variant("relu", null)),
|
|
348
|
+
* dropout: variant("none", null),
|
|
349
|
+
* output_dim: variant("none", null),
|
|
350
|
+
* output_activation: variant("none", null),
|
|
351
|
+
* }, TorchMLPConfigType);
|
|
352
|
+
* const train_config = $.let({
|
|
353
|
+
* epochs: variant("some", 50n), batch_size: variant("some", 4n),
|
|
354
|
+
* learning_rate: variant("some", 0.01), loss: variant("none", null),
|
|
355
|
+
* optimizer: variant("none", null), early_stopping: variant("none", null),
|
|
356
|
+
* validation_split: variant("some", 0.2), random_state: variant("some", 42n),
|
|
357
|
+
* }, TorchTrainConfigType);
|
|
358
|
+
* return $.return(Torch.mlpTrain(X, y, mlp_config, train_config));
|
|
359
|
+
* });
|
|
360
|
+
* ```
|
|
361
|
+
*/
|
|
362
|
+
mlpTrain: torch_mlp_train,
|
|
363
|
+
/**
|
|
364
|
+
* Make predictions with a trained PyTorch MLP (single output).
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* ```ts
|
|
368
|
+
* import { East, FloatType, MatrixType, VectorType } from "@elaraai/east";
|
|
369
|
+
* import { Torch } from "@elaraai/east-py-datascience";
|
|
370
|
+
*
|
|
371
|
+
* const predictFn = East.function(
|
|
372
|
+
* [Torch.Types.ModelBlobType, MatrixType(FloatType)],
|
|
373
|
+
* VectorType(FloatType),
|
|
374
|
+
* ($, model, X) => {
|
|
375
|
+
* return $.return(Torch.mlpPredict(model, X));
|
|
376
|
+
* }
|
|
377
|
+
* );
|
|
378
|
+
* ```
|
|
379
|
+
*/
|
|
380
|
+
mlpPredict: torch_mlp_predict,
|
|
381
|
+
/**
|
|
382
|
+
* Train a PyTorch MLP model with multi-output support.
|
|
383
|
+
*
|
|
384
|
+
* Supports multi-output regression and autoencoders (X = y).
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* ```ts
|
|
388
|
+
* import { East, FloatType, MatrixType, variant } from "@elaraai/east";
|
|
389
|
+
* import { Torch, TorchMLPConfigType, TorchTrainConfigType } from "@elaraai/east-py-datascience";
|
|
390
|
+
*
|
|
391
|
+
* const train = East.function([], Torch.Types.TorchTrainOutputType, ($) => {
|
|
392
|
+
* const X = $.let([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]);
|
|
393
|
+
* const y = $.let([[10.0, 20.0], [30.0, 40.0], [50.0, 60.0]]);
|
|
394
|
+
* const mlp_config = $.let({
|
|
395
|
+
* hidden_layers: new BigInt64Array([16n, 8n]),
|
|
396
|
+
* activation: variant("some", variant("relu", null)),
|
|
397
|
+
* dropout: variant("none", null),
|
|
398
|
+
* output_dim: variant("none", null),
|
|
399
|
+
* output_activation: variant("none", null),
|
|
400
|
+
* }, TorchMLPConfigType);
|
|
401
|
+
* const train_config = $.let({
|
|
402
|
+
* epochs: variant("some", 50n), batch_size: variant("some", 4n),
|
|
403
|
+
* learning_rate: variant("some", 0.01), loss: variant("none", null),
|
|
404
|
+
* optimizer: variant("none", null), early_stopping: variant("none", null),
|
|
405
|
+
* validation_split: variant("some", 0.2), random_state: variant("some", 42n),
|
|
406
|
+
* }, TorchTrainConfigType);
|
|
407
|
+
* return $.return(Torch.mlpTrainMulti(X, y, mlp_config, train_config));
|
|
408
|
+
* });
|
|
409
|
+
* ```
|
|
410
|
+
*/
|
|
411
|
+
mlpTrainMulti: torch_mlp_train_multi,
|
|
412
|
+
/**
|
|
413
|
+
* Make predictions with a trained PyTorch MLP (multi-output).
|
|
414
|
+
*
|
|
415
|
+
* Returns a matrix where each row contains predicted outputs for a sample.
|
|
416
|
+
*
|
|
417
|
+
* @example
|
|
418
|
+
* ```ts
|
|
419
|
+
* import { East, FloatType, MatrixType } from "@elaraai/east";
|
|
420
|
+
* import { Torch } from "@elaraai/east-py-datascience";
|
|
421
|
+
*
|
|
422
|
+
* const predictFn = East.function(
|
|
423
|
+
* [Torch.Types.ModelBlobType, MatrixType(FloatType)],
|
|
424
|
+
* MatrixType(FloatType),
|
|
425
|
+
* ($, model, X) => {
|
|
426
|
+
* // Returns (n_samples x n_outputs) matrix
|
|
427
|
+
* return $.return(Torch.mlpPredictMulti(model, X));
|
|
428
|
+
* }
|
|
429
|
+
* );
|
|
430
|
+
* ```
|
|
431
|
+
*/
|
|
432
|
+
mlpPredictMulti: torch_mlp_predict_multi,
|
|
433
|
+
/** Extract intermediate layer activations (embeddings) from MLP */
|
|
434
|
+
mlpEncode: torch_mlp_encode,
|
|
435
|
+
/** Decode embeddings back through decoder portion of MLP */
|
|
436
|
+
mlpDecode: torch_mlp_decode,
|
|
437
|
+
/** Type definitions */
|
|
438
|
+
Types: TorchTypes,
|
|
439
|
+
};
|
|
440
|
+
//# sourceMappingURL=torch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"torch.js","sourceRoot":"","sources":["../../../src/torch/torch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Shared type definitions for East Data Science.
|
|
7
|
+
*
|
|
8
|
+
* Provides common East type definitions used across data science modules
|
|
9
|
+
* including vectors, matrices, and scalar function types.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import { FloatType, FunctionType, VectorType } from "@elaraai/east";
|
|
14
|
+
export { ArrayType, StructType, VariantType, OptionType, FloatType, IntegerType, BooleanType, StringType, FunctionType, VectorType, MatrixType, } from "@elaraai/east";
|
|
15
|
+
/**
|
|
16
|
+
* Scalar objective function type: Vector<Float> -> Float.
|
|
17
|
+
*
|
|
18
|
+
* Used for optimization objectives, constraints, and loss functions
|
|
19
|
+
* that take a vector of decision variables and return a scalar value.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const sumSquares = East.function([VectorType(FloatType)], FloatType, ($, x) => {
|
|
24
|
+
* return x.reduce((acc, xi) => acc.add(xi.multiply(xi)), East.value(0.0));
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare const ScalarObjectiveType: FunctionType<[VectorType<FloatType>], FloatType>;
|
|
29
|
+
/**
|
|
30
|
+
* Vector objective function type: Vector<Float> -> Vector<Float>.
|
|
31
|
+
*
|
|
32
|
+
* Used for multi-output predictions and transformations.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const predict = East.function([VectorType(FloatType)], VectorType(FloatType), ($, x) => {
|
|
37
|
+
* // Return multiple predictions
|
|
38
|
+
* return $.return([...]);
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare const VectorObjectiveType: FunctionType<[VectorType<FloatType>], VectorType<FloatType>>;
|
|
43
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EACH,SAAS,EACT,YAAY,EACZ,UAAU,EACb,MAAM,eAAe,CAAC;AAGvB,OAAO,EACH,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,GACb,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,kDAAmD,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB,8DAA+D,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Shared type definitions for East Data Science.
|
|
7
|
+
*
|
|
8
|
+
* Provides common East type definitions used across data science modules
|
|
9
|
+
* including vectors, matrices, and scalar function types.
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import { FloatType, FunctionType, VectorType, } from "@elaraai/east";
|
|
14
|
+
// Re-export commonly used types for convenience
|
|
15
|
+
export { ArrayType, StructType, VariantType, OptionType, FloatType, IntegerType, BooleanType, StringType, FunctionType, VectorType, MatrixType, } from "@elaraai/east";
|
|
16
|
+
/**
|
|
17
|
+
* Scalar objective function type: Vector<Float> -> Float.
|
|
18
|
+
*
|
|
19
|
+
* Used for optimization objectives, constraints, and loss functions
|
|
20
|
+
* that take a vector of decision variables and return a scalar value.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* const sumSquares = East.function([VectorType(FloatType)], FloatType, ($, x) => {
|
|
25
|
+
* return x.reduce((acc, xi) => acc.add(xi.multiply(xi)), East.value(0.0));
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export const ScalarObjectiveType = FunctionType([VectorType(FloatType)], FloatType);
|
|
30
|
+
/**
|
|
31
|
+
* Vector objective function type: Vector<Float> -> Vector<Float>.
|
|
32
|
+
*
|
|
33
|
+
* Used for multi-output predictions and transformations.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const predict = East.function([VectorType(FloatType)], VectorType(FloatType), ($, x) => {
|
|
38
|
+
* // Return multiple predictions
|
|
39
|
+
* return $.return([...]);
|
|
40
|
+
* });
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export const VectorObjectiveType = FunctionType([VectorType(FloatType)], VectorType(FloatType));
|
|
44
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EACH,SAAS,EACT,YAAY,EACZ,UAAU,GACb,MAAM,eAAe,CAAC;AAEvB,gDAAgD;AAChD,OAAO,EACH,SAAS,EACT,UAAU,EACV,WAAW,EACX,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,GACb,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAEpF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC"}
|