oracle-ads 2.12.10rc0__py3-none-any.whl → 2.12.11__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.
- ads/aqua/__init__.py +2 -1
- ads/aqua/app.py +30 -16
- ads/aqua/client/__init__.py +3 -0
- ads/aqua/client/client.py +799 -0
- ads/aqua/evaluation/evaluation.py +20 -12
- ads/aqua/extension/aqua_ws_msg_handler.py +14 -7
- ads/aqua/extension/base_handler.py +12 -9
- ads/aqua/extension/model_handler.py +6 -1
- ads/aqua/finetuning/entities.py +3 -0
- ads/aqua/finetuning/finetuning.py +32 -1
- ads/aqua/model/entities.py +2 -1
- ads/aqua/model/model.py +136 -76
- ads/aqua/modeldeployment/deployment.py +22 -10
- ads/cli.py +16 -8
- ads/opctl/operator/lowcode/common/transformations.py +38 -3
- ads/opctl/operator/lowcode/common/utils.py +11 -1
- ads/opctl/operator/lowcode/forecast/__main__.py +10 -0
- ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py +1 -1
- ads/opctl/operator/lowcode/forecast/operator_config.py +31 -0
- ads/opctl/operator/lowcode/forecast/schema.yaml +63 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/__init__.py +7 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py +233 -0
- ads/opctl/operator/lowcode/forecast/whatifserve/score.py +238 -0
- {oracle_ads-2.12.10rc0.dist-info → oracle_ads-2.12.11.dist-info}/METADATA +3 -1
- {oracle_ads-2.12.10rc0.dist-info → oracle_ads-2.12.11.dist-info}/RECORD +28 -23
- {oracle_ads-2.12.10rc0.dist-info → oracle_ads-2.12.11.dist-info}/LICENSE.txt +0 -0
- {oracle_ads-2.12.10rc0.dist-info → oracle_ads-2.12.11.dist-info}/WHEEL +0 -0
- {oracle_ads-2.12.10rc0.dist-info → oracle_ads-2.12.11.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,238 @@
|
|
1
|
+
#!/usr/bin/env python
|
2
|
+
|
3
|
+
# Copyright (c) 2023, 2024 Oracle and/or its affiliates.
|
4
|
+
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl/
|
5
|
+
|
6
|
+
import json
|
7
|
+
import os
|
8
|
+
from joblib import load
|
9
|
+
import pandas as pd
|
10
|
+
import numpy as np
|
11
|
+
from functools import lru_cache
|
12
|
+
import logging
|
13
|
+
import ads
|
14
|
+
from ads.opctl.operator.lowcode.common.utils import load_data
|
15
|
+
from ads.opctl.operator.common.operator_config import InputData
|
16
|
+
from ads.opctl.operator.lowcode.forecast.const import SupportedModels
|
17
|
+
|
18
|
+
ads.set_auth("resource_principal")
|
19
|
+
|
20
|
+
logging.basicConfig(format='%(name)s - %(levelname)s - %(message)s', level=logging.INFO)
|
21
|
+
logger_pred = logging.getLogger('model-prediction')
|
22
|
+
logger_pred.setLevel(logging.INFO)
|
23
|
+
logger_feat = logging.getLogger('input-features')
|
24
|
+
logger_feat.setLevel(logging.INFO)
|
25
|
+
|
26
|
+
"""
|
27
|
+
Inference script. This script is used for prediction by scoring server when schema is known.
|
28
|
+
"""
|
29
|
+
|
30
|
+
|
31
|
+
@lru_cache(maxsize=10)
|
32
|
+
def load_model():
|
33
|
+
"""
|
34
|
+
Loads model from the serialized format
|
35
|
+
|
36
|
+
Returns
|
37
|
+
-------
|
38
|
+
model: a model instance on which predict API can be invoked
|
39
|
+
"""
|
40
|
+
model_dir = os.path.dirname(os.path.realpath(__file__))
|
41
|
+
contents = os.listdir(model_dir)
|
42
|
+
model_file_name = "models.pickle"
|
43
|
+
if model_file_name in contents:
|
44
|
+
with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), model_file_name), "rb") as file:
|
45
|
+
model = load(file)
|
46
|
+
else:
|
47
|
+
raise Exception('{0} is not found in model directory {1}'.format(model_file_name, model_dir))
|
48
|
+
return model
|
49
|
+
|
50
|
+
|
51
|
+
@lru_cache(maxsize=1)
|
52
|
+
def fetch_data_type_from_schema(
|
53
|
+
input_schema_path=os.path.join(os.path.dirname(os.path.realpath(__file__)), "input_schema.json")):
|
54
|
+
"""
|
55
|
+
Returns data type information fetch from input_schema.json.
|
56
|
+
|
57
|
+
Parameters
|
58
|
+
----------
|
59
|
+
input_schema_path: path of input schema.
|
60
|
+
|
61
|
+
Returns
|
62
|
+
-------
|
63
|
+
data_type: data type fetch from input_schema.json.
|
64
|
+
|
65
|
+
"""
|
66
|
+
data_type = {}
|
67
|
+
if os.path.exists(input_schema_path):
|
68
|
+
schema = json.load(open(input_schema_path))
|
69
|
+
for col in schema['schema']:
|
70
|
+
data_type[col['name']] = col['dtype']
|
71
|
+
else:
|
72
|
+
print(
|
73
|
+
"input_schema has to be passed in in order to recover the same data type. pass `X_sample` in `ads.model.framework.sklearn_model.SklearnModel.prepare` function to generate the input_schema. Otherwise, the data type might be changed after serialization/deserialization.")
|
74
|
+
return data_type
|
75
|
+
|
76
|
+
|
77
|
+
def deserialize(data, input_schema_path):
|
78
|
+
"""
|
79
|
+
Deserialize json serialization data to data in original type when sent to predict.
|
80
|
+
|
81
|
+
Parameters
|
82
|
+
----------
|
83
|
+
data: serialized input data.
|
84
|
+
input_schema_path: path of input schema.
|
85
|
+
|
86
|
+
Returns
|
87
|
+
-------
|
88
|
+
data: deserialized input data.
|
89
|
+
|
90
|
+
"""
|
91
|
+
|
92
|
+
# Add further data deserialization if needed
|
93
|
+
return data
|
94
|
+
|
95
|
+
|
96
|
+
def pre_inference(data, input_schema_path):
|
97
|
+
"""
|
98
|
+
Preprocess data
|
99
|
+
|
100
|
+
Parameters
|
101
|
+
----------
|
102
|
+
data: Data format as expected by the predict API of the core estimator.
|
103
|
+
input_schema_path: path of input schema.
|
104
|
+
|
105
|
+
Returns
|
106
|
+
-------
|
107
|
+
data: Data format after any processing.
|
108
|
+
|
109
|
+
"""
|
110
|
+
return deserialize(data, input_schema_path)
|
111
|
+
|
112
|
+
|
113
|
+
def post_inference(yhat):
|
114
|
+
"""
|
115
|
+
Post-process the model results
|
116
|
+
|
117
|
+
Parameters
|
118
|
+
----------
|
119
|
+
yhat: Data format after calling model.predict.
|
120
|
+
|
121
|
+
Returns
|
122
|
+
-------
|
123
|
+
yhat: Data format after any processing.
|
124
|
+
|
125
|
+
"""
|
126
|
+
if isinstance(yhat, pd.core.frame.DataFrame):
|
127
|
+
yhat = yhat.values
|
128
|
+
if isinstance(yhat, np.ndarray):
|
129
|
+
yhat = yhat.tolist()
|
130
|
+
return yhat
|
131
|
+
|
132
|
+
|
133
|
+
def get_forecast(future_df, model_name, series_id, model_object, date_col, target_column, target_cat_col, horizon):
|
134
|
+
date_col_name = date_col["name"]
|
135
|
+
date_col_format = date_col["format"]
|
136
|
+
future_df[target_cat_col] = future_df[target_cat_col].astype("str")
|
137
|
+
future_df[date_col_name] = pd.to_datetime(
|
138
|
+
future_df[date_col_name], format=date_col_format
|
139
|
+
)
|
140
|
+
if model_name == SupportedModels.AutoTS:
|
141
|
+
series_id_col = "Series"
|
142
|
+
full_data_indexed = future_df.rename(columns={target_cat_col: series_id_col})
|
143
|
+
additional_regressors = list(
|
144
|
+
set(full_data_indexed.columns) - {target_column, series_id_col, date_col_name}
|
145
|
+
)
|
146
|
+
future_reg = full_data_indexed.reset_index().pivot(
|
147
|
+
index=date_col_name,
|
148
|
+
columns=series_id_col,
|
149
|
+
values=additional_regressors,
|
150
|
+
)
|
151
|
+
pred_obj = model_object.predict(future_regressor=future_reg)
|
152
|
+
return pred_obj.forecast[series_id].tolist()
|
153
|
+
elif model_name == SupportedModels.Prophet and series_id in model_object:
|
154
|
+
model = model_object[series_id]
|
155
|
+
processed = future_df.rename(columns={date_col_name: 'ds', target_column: 'y'})
|
156
|
+
forecast = model.predict(processed)
|
157
|
+
return forecast['yhat'].tolist()
|
158
|
+
elif model_name == SupportedModels.NeuralProphet and series_id in model_object:
|
159
|
+
model = model_object[series_id]
|
160
|
+
model.restore_trainer()
|
161
|
+
accepted_regressors = list(model.config_regressors.regressors.keys())
|
162
|
+
data = future_df.rename(columns={date_col_name: 'ds', target_column: 'y'})
|
163
|
+
future = data[accepted_regressors + ["ds"]].reset_index(drop=True)
|
164
|
+
future["y"] = None
|
165
|
+
forecast = model.predict(future)
|
166
|
+
return forecast['yhat1'].tolist()
|
167
|
+
elif model_name == SupportedModels.Arima and series_id in model_object:
|
168
|
+
model = model_object[series_id]
|
169
|
+
future_df = future_df.set_index(date_col_name)
|
170
|
+
x_pred = future_df.drop(target_cat_col, axis=1)
|
171
|
+
yhat, conf_int = model.predict(
|
172
|
+
n_periods=horizon,
|
173
|
+
X=x_pred,
|
174
|
+
return_conf_int=True
|
175
|
+
)
|
176
|
+
yhat_clean = pd.DataFrame(yhat, index=yhat.index, columns=["yhat"])
|
177
|
+
return yhat_clean['yhat'].tolist()
|
178
|
+
elif model_name == SupportedModels.AutoMLX and series_id in model_object:
|
179
|
+
# automlx model
|
180
|
+
model = model_object[series_id]
|
181
|
+
x_pred = future_df.drop(target_cat_col, axis=1)
|
182
|
+
x_pred = x_pred.set_index(date_col_name)
|
183
|
+
forecast = model.forecast(
|
184
|
+
X=x_pred,
|
185
|
+
periods=horizon
|
186
|
+
)
|
187
|
+
return forecast[target_column].tolist()
|
188
|
+
else:
|
189
|
+
raise Exception(f"Invalid model object type: {type(model_object).__name__}.")
|
190
|
+
|
191
|
+
|
192
|
+
def predict(data, model=load_model()) -> dict:
|
193
|
+
"""
|
194
|
+
Returns prediction given the model and data to predict
|
195
|
+
|
196
|
+
Parameters
|
197
|
+
----------
|
198
|
+
model: Model instance returned by load_model API
|
199
|
+
data: Data format as expected by the predict API of the core estimator. For eg. in case of sckit models it could be numpy array/List of list/Panda DataFrame
|
200
|
+
|
201
|
+
Returns
|
202
|
+
-------
|
203
|
+
predictions: Output from scoring server
|
204
|
+
Format: { 'prediction': output from `model.predict` method }
|
205
|
+
|
206
|
+
"""
|
207
|
+
assert model is not None, "Model is not loaded"
|
208
|
+
|
209
|
+
models = model["models"]
|
210
|
+
specs = model["spec"]
|
211
|
+
horizon = specs["horizon"]
|
212
|
+
model_name = specs["model"]
|
213
|
+
date_col = specs["datetime_column"]
|
214
|
+
target_column = specs["target_column"]
|
215
|
+
target_category_column = specs["target_category_columns"][0]
|
216
|
+
|
217
|
+
try:
|
218
|
+
input_data = InputData(**data["additional_data"])
|
219
|
+
except TypeError as e:
|
220
|
+
raise ValueError(f"Validation error: {e}")
|
221
|
+
additional_data = load_data(input_data)
|
222
|
+
|
223
|
+
unique_values = additional_data[target_category_column].unique()
|
224
|
+
forecasts = {}
|
225
|
+
for key in unique_values:
|
226
|
+
try:
|
227
|
+
s_id = str(key)
|
228
|
+
filtered = additional_data[additional_data[target_category_column] == key]
|
229
|
+
future = filtered.tail(horizon)
|
230
|
+
forecast = get_forecast(future, model_name, s_id, models, date_col,
|
231
|
+
target_column, target_category_column, horizon)
|
232
|
+
forecasts[s_id] = json.dumps(forecast)
|
233
|
+
except Exception as e:
|
234
|
+
raise RuntimeError(
|
235
|
+
f"An error occurred during prediction: {e}."
|
236
|
+
f" Please ensure the input data matches the format and structure of the data used during training.")
|
237
|
+
|
238
|
+
return {'prediction': json.dumps(forecasts)}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: oracle_ads
|
3
|
-
Version: 2.12.
|
3
|
+
Version: 2.12.11
|
4
4
|
Summary: Oracle Accelerated Data Science SDK
|
5
5
|
Keywords: Oracle Cloud Infrastructure,OCI,Machine Learning,ML,Artificial Intelligence,AI,Data Science,Cloud,Oracle
|
6
6
|
Author: Oracle Data Science
|
@@ -34,6 +34,8 @@ Requires-Dist: scikit-learn>=1.0,<1.6.0
|
|
34
34
|
Requires-Dist: tabulate>=0.8.9
|
35
35
|
Requires-Dist: tqdm>=4.59.0
|
36
36
|
Requires-Dist: pydantic>=2.6.3
|
37
|
+
Requires-Dist: tenacity
|
38
|
+
Requires-Dist: httpx
|
37
39
|
Requires-Dist: oracle_ads[opctl] ; extra == "anomaly"
|
38
40
|
Requires-Dist: autots ; extra == "anomaly"
|
39
41
|
Requires-Dist: oracledb ; extra == "anomaly"
|
@@ -1,12 +1,14 @@
|
|
1
1
|
ads/__init__.py,sha256=OxHySbHbMqPgZ8sUj33Bxy-smSiNgRjtcSUV77oBL08,3787
|
2
|
-
ads/cli.py,sha256=
|
2
|
+
ads/cli.py,sha256=WkOpZv8jWgFYN9BNkt2LJBs9KzJHgFqq3pIymsqc8Q4,4292
|
3
3
|
ads/config.py,sha256=WGFgS5-dxqC9_iRJKakn-mh9545gHJpWB_Y0hT5O3ec,8016
|
4
|
-
ads/aqua/__init__.py,sha256=
|
5
|
-
ads/aqua/app.py,sha256=
|
4
|
+
ads/aqua/__init__.py,sha256=T5v0LVPaeyXuXmA-0NbH44cnR3pGmQVFwRVKxRbEI9U,1068
|
5
|
+
ads/aqua/app.py,sha256=AYTul3k06n-AN5KrtNHolv0cVkqCqLvrhPoQuIko_8c,13268
|
6
6
|
ads/aqua/cli.py,sha256=W-0kswzRDEilqHyw5GSMOrARgvOyPRtkEtpy54ew0Jo,3907
|
7
7
|
ads/aqua/constants.py,sha256=fTPrRuWaZB1_THZ2I1nOrwW1pQGpvMC44--Ok5Myr5Y,2978
|
8
8
|
ads/aqua/data.py,sha256=HfxLfKiNiPJecMQy0JAztUsT3IdZilHHHOrCJnjZMc4,408
|
9
9
|
ads/aqua/ui.py,sha256=aRVtvJslhq8Zq8B_2AQdmlFbuLWpHakFTZg6T9uvHU0,27248
|
10
|
+
ads/aqua/client/__init__.py,sha256=-46EcKQjnWEXxTt85bQzXjA5xsfoBXIGm_syKFlVL1c,178
|
11
|
+
ads/aqua/client/client.py,sha256=HiEA0XjvC7iuuz6vhiu6UG0qMd9x2t1pYwTe22N-I-U,30065
|
10
12
|
ads/aqua/common/__init__.py,sha256=rZrmh1nho40OCeabXCNWtze-mXi-PGKetcZdxZSn3_0,204
|
11
13
|
ads/aqua/common/decorator.py,sha256=JEN6Cy4DYgQbmIR3ShCjTuBMCnilDxq7jkYMJse1rcM,4112
|
12
14
|
ads/aqua/common/entities.py,sha256=UsP8CczuifLOLr_gAhulh8VmgGSFir3rli1MMQ-CZhk,537
|
@@ -28,10 +30,10 @@ ads/aqua/evaluation/__init__.py,sha256=Fd7WL7MpQ1FtJjlftMY2KHli5cz1wr5MDu3hGmV89
|
|
28
30
|
ads/aqua/evaluation/constants.py,sha256=GvcXvPIw-VDKw4a8WNKs36uWdT-f7VJrWSpnnRnthGg,1533
|
29
31
|
ads/aqua/evaluation/entities.py,sha256=pvZWrO-Hlsh0TIFnly84OijKHULRVM13D5a-4ZGxte8,5733
|
30
32
|
ads/aqua/evaluation/errors.py,sha256=qzR63YEIA8haCh4HcBHFFm7j4g6jWDfGszqrPkXx9zQ,4564
|
31
|
-
ads/aqua/evaluation/evaluation.py,sha256=
|
33
|
+
ads/aqua/evaluation/evaluation.py,sha256=Kn__jUSFwG7FE_R7GM8PGMoXNvfFuRaYgTQWAgH_7U0,59521
|
32
34
|
ads/aqua/extension/__init__.py,sha256=mRArjU6UZpZYVr0qHSSkPteA_CKcCZIczOFaK421m9o,1453
|
33
|
-
ads/aqua/extension/aqua_ws_msg_handler.py,sha256=
|
34
|
-
ads/aqua/extension/base_handler.py,sha256=
|
35
|
+
ads/aqua/extension/aqua_ws_msg_handler.py,sha256=zR7Fb3LEXzPrEICooWvuo_ahoY6KhcABpKUmYQkEpS0,3626
|
36
|
+
ads/aqua/extension/base_handler.py,sha256=s49sfCEzy_WpXsBCMilMsrp4_mKEbSGN7ajfCe0FJVo,5351
|
35
37
|
ads/aqua/extension/common_handler.py,sha256=Oz3riHDy5pFfbArLge5iaaRoK8PEAnkBvhqqVGbUsvE,4196
|
36
38
|
ads/aqua/extension/common_ws_msg_handler.py,sha256=pMX79tmJKTKog684o6vuwZkAD47l8SxtRx5TNn8se7k,2230
|
37
39
|
ads/aqua/extension/deployment_handler.py,sha256=abTwz9OFJB2_OPbRZaDvNMb3BjRmkSmNh28EtGNstg4,11287
|
@@ -40,7 +42,7 @@ ads/aqua/extension/errors.py,sha256=ojDolyr3_0UCCwKqPtiZZyMQuX35jr8h8MQRP6HcBs4,
|
|
40
42
|
ads/aqua/extension/evaluation_handler.py,sha256=fJH73fa0xmkEiP8SxKL4A4dJgj-NoL3z_G-w_WW2zJs,4353
|
41
43
|
ads/aqua/extension/evaluation_ws_msg_handler.py,sha256=dv0iwOSTxYj1kQ1rPEoDmGgFBzLUCLXq5h7rpmY2T1M,2098
|
42
44
|
ads/aqua/extension/finetune_handler.py,sha256=97obbhITswTrBvl88g7gk4GvF2SUHBGUAq4rOylFbtQ,3079
|
43
|
-
ads/aqua/extension/model_handler.py,sha256=
|
45
|
+
ads/aqua/extension/model_handler.py,sha256=NUR3PeLLAM-A1uyhwmglFhB4GgzembBY27CTPQ0Pm2Q,11682
|
44
46
|
ads/aqua/extension/models_ws_msg_handler.py,sha256=3CPfzWl1xfrE2Dpn_WYP9zY0kY5zlsAE8tU_6Y2-i18,1801
|
45
47
|
ads/aqua/extension/ui_handler.py,sha256=Q0LkrV6VtVUI4GpNgqJQt8SGzxHzp4X5hdHF6KgPp9M,11217
|
46
48
|
ads/aqua/extension/ui_websocket_handler.py,sha256=oLFjaDrqkSERbhExdvxjLJX0oRcP-DVJ_aWn0qy0uvo,5084
|
@@ -49,16 +51,16 @@ ads/aqua/extension/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
49
51
|
ads/aqua/extension/models/ws_models.py,sha256=-m6IJRS-4I6AMLDwgu19XdrvHyOStuBx9t4B0LgS07g,3348
|
50
52
|
ads/aqua/finetuning/__init__.py,sha256=vwYT5PluMR0mDQwVIavn_8Icms7LmvfV_FOrJ8fJx8I,296
|
51
53
|
ads/aqua/finetuning/constants.py,sha256=va1TIAdMD5ATOdC39PSQpLycL1N5ubIOWTWrPKQSghY,886
|
52
|
-
ads/aqua/finetuning/entities.py,sha256=
|
53
|
-
ads/aqua/finetuning/finetuning.py,sha256=
|
54
|
+
ads/aqua/finetuning/entities.py,sha256=1RRaRFuxoBtApeCIqG-0H8Iom2kz2dv7LOX6y2wWLnA,6116
|
55
|
+
ads/aqua/finetuning/finetuning.py,sha256=0GnaEXL2_tJZ5JU5T7-4bmLLpI-ZlmTGvgIrZHZ7Ko8,26329
|
54
56
|
ads/aqua/model/__init__.py,sha256=j2iylvERdANxgrEDp7b_mLcKMz1CF5Go0qgYCiMwdos,278
|
55
57
|
ads/aqua/model/constants.py,sha256=H239zDu3koa3UTdw-uQveXHX2NDwidclVcS4QIrCTJo,1593
|
56
|
-
ads/aqua/model/entities.py,sha256=
|
58
|
+
ads/aqua/model/entities.py,sha256=5XaJapNoRRxvSJCWVq7pIg_GCN_W1M1q9mxz6Cp3A28,9955
|
57
59
|
ads/aqua/model/enums.py,sha256=t8GbK2nblIPm3gClR8W31RmbtTuqpoSzoN4W3JfD6AI,1004
|
58
|
-
ads/aqua/model/model.py,sha256=
|
60
|
+
ads/aqua/model/model.py,sha256=uJ408_MZpGqea7jUxomiy5SH82CUxZyWP_42XegUlLQ,69762
|
59
61
|
ads/aqua/modeldeployment/__init__.py,sha256=RJCfU1yazv3hVWi5rS08QVLTpTwZLnlC8wU8diwFjnM,391
|
60
62
|
ads/aqua/modeldeployment/constants.py,sha256=lJF77zwxmlECljDYjwFAMprAUR_zctZHmawiP-4alLg,296
|
61
|
-
ads/aqua/modeldeployment/deployment.py,sha256=
|
63
|
+
ads/aqua/modeldeployment/deployment.py,sha256=UxyxAvte4mTkWz3Vp4-OACNKNujcZW7WvpVYIUgt_nY,31804
|
62
64
|
ads/aqua/modeldeployment/entities.py,sha256=EV7hxfKRZNY9kJDy_1IC7PoSIsRQ0yy02pll0gCsCkY,5171
|
63
65
|
ads/aqua/modeldeployment/inference.py,sha256=JPqzbHJoM-PpIU_Ft9lHudO9_1vFr7OPQ2GHjPoAufU,2142
|
64
66
|
ads/aqua/training/__init__.py,sha256=w2DNWltXtASQgbrHyvKo0gMs5_chZoG-CSDMI4qe7i0,202
|
@@ -679,8 +681,8 @@ ads/opctl/operator/lowcode/common/__init__.py,sha256=rZrmh1nho40OCeabXCNWtze-mXi
|
|
679
681
|
ads/opctl/operator/lowcode/common/const.py,sha256=1dUhgup4L_U0s6BSYmgLPpZAe6xqfSHPPoLqW0j46U8,265
|
680
682
|
ads/opctl/operator/lowcode/common/data.py,sha256=nKwE0ubF9fTHFOls5uQ3BBpcPNRtwvGW3UGK-JjAm84,4107
|
681
683
|
ads/opctl/operator/lowcode/common/errors.py,sha256=LvQ_Qzh6cqD6uP91DMFFVXPrcc3010EE8LfBH-CH0ho,1534
|
682
|
-
ads/opctl/operator/lowcode/common/transformations.py,sha256=
|
683
|
-
ads/opctl/operator/lowcode/common/utils.py,sha256=
|
684
|
+
ads/opctl/operator/lowcode/common/transformations.py,sha256=6zrrPdfbphVKDyQ8xHBbLIblpwxWP3CZzfLATka4Dc0,11226
|
685
|
+
ads/opctl/operator/lowcode/common/utils.py,sha256=d0Ex6YxVJm1s2W8tfSjy46jw0iM4ukNIw9qQKGWcGdc,9772
|
684
686
|
ads/opctl/operator/lowcode/feature_store_marketplace/MLoperator,sha256=JO5ulr32WsFnbpk1KN97h8-D70jcFt1kRQ08UMkP4rU,346
|
685
687
|
ads/opctl/operator/lowcode/feature_store_marketplace/README.md,sha256=fN9ROzOPdEZdRgSP_uYvAmD5bD983NC7Irfe_D-mvrw,1356
|
686
688
|
ads/opctl/operator/lowcode/feature_store_marketplace/__init__.py,sha256=rZrmh1nho40OCeabXCNWtze-mXi-PGKetcZdxZSn3_0,204
|
@@ -698,14 +700,14 @@ ads/opctl/operator/lowcode/feature_store_marketplace/models/serializable_yaml_mo
|
|
698
700
|
ads/opctl/operator/lowcode/forecast/MLoperator,sha256=xM8yBUQObjG_6Mg36f3Vv8b9N3L8_5RUZJE2riOjXuw,5981
|
699
701
|
ads/opctl/operator/lowcode/forecast/README.md,sha256=kbCCEdo-0pwKlZp9ctnWUK6Z31n69IsnG0i26b202Zg,9768
|
700
702
|
ads/opctl/operator/lowcode/forecast/__init__.py,sha256=sAqmLhogrLXb3xI7dPOj9HmSkpTnLh9wkzysuGd8AXk,204
|
701
|
-
ads/opctl/operator/lowcode/forecast/__main__.py,sha256=
|
703
|
+
ads/opctl/operator/lowcode/forecast/__main__.py,sha256=2NmZ4Z-Hu9ViuH6LOQ27ciVN7uryho9Fxs3adfWQkbk,2894
|
702
704
|
ads/opctl/operator/lowcode/forecast/cmd.py,sha256=uwU-QvnYwxoRFXZv7_JFkzAUnjTNoSsHEme2FF-9Rl0,1151
|
703
705
|
ads/opctl/operator/lowcode/forecast/const.py,sha256=XEH74IeAJ89_wCOXWuIrAWl5Rwjzfadl7aSsmLSMZk4,2695
|
704
706
|
ads/opctl/operator/lowcode/forecast/environment.yaml,sha256=eVMf9pcjADI14_GRGdZOB_gK5_MyG_-cX037TXqzFho,330
|
705
707
|
ads/opctl/operator/lowcode/forecast/errors.py,sha256=X9zuV2Lqb5N9FuBHHshOFYyhvng5r9KGLHnQijZ5b8c,911
|
706
708
|
ads/opctl/operator/lowcode/forecast/model_evaluator.py,sha256=IutyI2bo_aFopHsWlJ3z7TcBPXs6G3NufdIaXBUD6Tw,9352
|
707
|
-
ads/opctl/operator/lowcode/forecast/operator_config.py,sha256=
|
708
|
-
ads/opctl/operator/lowcode/forecast/schema.yaml,sha256=
|
709
|
+
ads/opctl/operator/lowcode/forecast/operator_config.py,sha256=fcq0WrqW4AYkcW6d_L1lPETj95zjboZRmVGvAXxDQu4,7618
|
710
|
+
ads/opctl/operator/lowcode/forecast/schema.yaml,sha256=nDrY-8Qyv-_6Olxi4CoUgyQe65h7I9CPYghtSVGIxVE,12437
|
709
711
|
ads/opctl/operator/lowcode/forecast/utils.py,sha256=0ssrXBAEL5hjQX4avLPkSwFp3sKE8QV5M3K5InqvzYg,14137
|
710
712
|
ads/opctl/operator/lowcode/forecast/model/__init__.py,sha256=sAqmLhogrLXb3xI7dPOj9HmSkpTnLh9wkzysuGd8AXk,204
|
711
713
|
ads/opctl/operator/lowcode/forecast/model/arima.py,sha256=sWGTUxisV8ytUA-_MK54bdP2FVO_9BMD8-EsulJEYxE,11430
|
@@ -713,10 +715,13 @@ ads/opctl/operator/lowcode/forecast/model/automlx.py,sha256=lXJoeMFHapyd5aYLi81T
|
|
713
715
|
ads/opctl/operator/lowcode/forecast/model/autots.py,sha256=RyLeD3dwMfrb6St-QFoH2MM8vH3inepVamRRovI-bwM,13086
|
714
716
|
ads/opctl/operator/lowcode/forecast/model/base_model.py,sha256=h0PGYUKfO2CSH34EK3YtYnZHnpiRJThvIkwyIiKqxDI,33531
|
715
717
|
ads/opctl/operator/lowcode/forecast/model/factory.py,sha256=hSRPPWdpIRSMYPUFMIUuxc2TPZt-SG18MiqhtdfL3mg,3488
|
716
|
-
ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py,sha256=
|
718
|
+
ads/opctl/operator/lowcode/forecast/model/forecast_datasets.py,sha256=BFZL-F2pec5Gb5UTRcFlNPi3LT65z4pGzRJvhgxK0TE,16562
|
717
719
|
ads/opctl/operator/lowcode/forecast/model/ml_forecast.py,sha256=NSZ2L6gRw4S68BUF0Vyu-cUPSsq8LRxgoVajW9Ra63k,9640
|
718
720
|
ads/opctl/operator/lowcode/forecast/model/neuralprophet.py,sha256=URtnP4oEMP7tGwe0WfWtfMFftAXQzN3K9RurAv_cgnY,19251
|
719
721
|
ads/opctl/operator/lowcode/forecast/model/prophet.py,sha256=yiCIP0bR0jg-b2XHVJSfO7CFZ3_GXEnpLkW_MkV45Jo,14983
|
722
|
+
ads/opctl/operator/lowcode/forecast/whatifserve/__init__.py,sha256=JNDDjLrNorKXMHUuXMifqXea3eheST-lnrcwCl2bWrk,242
|
723
|
+
ads/opctl/operator/lowcode/forecast/whatifserve/deployment_manager.py,sha256=fTu5h18dyNi61wX4u0bcevBVd5QCx2avpW4g1Ry-xwM,11168
|
724
|
+
ads/opctl/operator/lowcode/forecast/whatifserve/score.py,sha256=KpWx7fGFGPb5VUKIoMpEDbUs6q9j3hT-Zax7rsbfYuw,8172
|
720
725
|
ads/opctl/operator/lowcode/pii/MLoperator,sha256=GKCuiXRwfGLyBqELbtgtg-kJPtNWNVA-kSprYTqhF64,6406
|
721
726
|
ads/opctl/operator/lowcode/pii/README.md,sha256=2P3tpKv6v__Eehj6iLfTXgyDhS4lmi1BTfEdmJhT0K4,9237
|
722
727
|
ads/opctl/operator/lowcode/pii/__init__.py,sha256=sAqmLhogrLXb3xI7dPOj9HmSkpTnLh9wkzysuGd8AXk,204
|
@@ -836,8 +841,8 @@ ads/type_discovery/unknown_detector.py,sha256=yZuYQReO7PUyoWZE7onhhtYaOg6088wf1y
|
|
836
841
|
ads/type_discovery/zipcode_detector.py,sha256=3AlETg_ZF4FT0u914WXvTT3F3Z6Vf51WiIt34yQMRbw,1421
|
837
842
|
ads/vault/__init__.py,sha256=x9tMdDAOdF5iDHk9u2di_K-ze5Nq068x25EWOBoWwqY,245
|
838
843
|
ads/vault/vault.py,sha256=hFBkpYE-Hfmzu1L0sQwUfYcGxpWmgG18JPndRl0NOXI,8624
|
839
|
-
oracle_ads-2.12.
|
840
|
-
oracle_ads-2.12.
|
841
|
-
oracle_ads-2.12.
|
842
|
-
oracle_ads-2.12.
|
843
|
-
oracle_ads-2.12.
|
844
|
+
oracle_ads-2.12.11.dist-info/entry_points.txt,sha256=9VFnjpQCsMORA4rVkvN8eH6D3uHjtegb9T911t8cqV0,35
|
845
|
+
oracle_ads-2.12.11.dist-info/LICENSE.txt,sha256=zoGmbfD1IdRKx834U0IzfFFFo5KoFK71TND3K9xqYqo,1845
|
846
|
+
oracle_ads-2.12.11.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
847
|
+
oracle_ads-2.12.11.dist-info/METADATA,sha256=oRryfiayUyY7iM-nFKSi1Ual55JEZpbExLXezXBwmAs,16280
|
848
|
+
oracle_ads-2.12.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|