scitex 2.1.1__py3-none-any.whl → 2.1.2__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.
- scitex/__version__.py +1 -1
- scitex/ai/classification/examples/timeseries_cv_demo.py +5 -5
- scitex/ai/classification/reporters/_SingleClassificationReporter.py +8 -8
- scitex/ai/classification/reporters/reporter_utils/_Plotter.py +5 -5
- scitex/ai/classification/reporters/reporter_utils/__init__.py +1 -1
- scitex/ai/classification/timeseries/README.md +7 -7
- scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py +1 -1
- scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py +1 -1
- scitex/ai/classification/timeseries/_TimeSeriesMetadata.py +1 -1
- scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py +1 -1
- scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py +1 -1
- scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py +1 -1
- scitex/ai/classification/timeseries/run_all.sh +6 -6
- scitex/ai/plt/__init__.py +3 -3
- scitex/ai/plt/_plot_conf_mat.py +4 -4
- scitex/ai/training/_EarlyStopping.py +1 -1
- scitex/ai/training/_LearningCurveLogger.py +4 -4
- scitex/ai/utils/grid_search.py +1 -1
- scitex/ai/viewed-ai.md +13 -13
- scitex/browser/ARCHITECTURE_PROPOSAL.md +4 -4
- scitex/ml/__init__.py +30 -0
- scitex/nn/_Filters.py +1 -1
- scitex/pd/_merge_columns.py +1 -1
- scitex/plt/KNOWN_ISSUES.md +4 -4
- scitex/utils/_grid.py +1 -1
- {scitex-2.1.1.dist-info → scitex-2.1.2.dist-info}/METADATA +2 -2
- {scitex-2.1.1.dist-info → scitex-2.1.2.dist-info}/RECORD +34 -33
- /scitex/{repro_rng → rng}/README.md +0 -0
- /scitex/{repro_rng → rng}/_RandomStateManager.py +0 -0
- /scitex/{repro_rng → rng}/_RandomStateManager_v01-no-verbose-options.py +0 -0
- /scitex/{repro_rng → rng}/__init__.py +0 -0
- {scitex-2.1.1.dist-info → scitex-2.1.2.dist-info}/WHEEL +0 -0
- {scitex-2.1.1.dist-info → scitex-2.1.2.dist-info}/entry_points.txt +0 -0
- {scitex-2.1.1.dist-info → scitex-2.1.2.dist-info}/licenses/LICENSE +0 -0
scitex/__version__.py
CHANGED
|
@@ -86,7 +86,7 @@ def demo_basic_splitters():
|
|
|
86
86
|
print("DEMO: Basic Time Series CV Splitters")
|
|
87
87
|
print("=" * 70)
|
|
88
88
|
|
|
89
|
-
from scitex.
|
|
89
|
+
from scitex.ai.classification import (
|
|
90
90
|
StratifiedTimeSeriesSplit,
|
|
91
91
|
BlockingTimeSeriesSplit,
|
|
92
92
|
SlidingWindowSplit
|
|
@@ -147,7 +147,7 @@ def demo_coordinator():
|
|
|
147
147
|
print("DEMO: TimeSeriesCVCoordinator (Automatic Strategy Selection)")
|
|
148
148
|
print("=" * 70)
|
|
149
149
|
|
|
150
|
-
from scitex.
|
|
150
|
+
from scitex.ai.classification import TimeSeriesCVCoordinator
|
|
151
151
|
|
|
152
152
|
scenarios = [
|
|
153
153
|
("Small dataset", 50, 5, None),
|
|
@@ -204,7 +204,7 @@ def demo_with_classifier():
|
|
|
204
204
|
print("DEMO: Integration with Classification")
|
|
205
205
|
print("=" * 70)
|
|
206
206
|
|
|
207
|
-
from scitex.
|
|
207
|
+
from scitex.ai.classification import (
|
|
208
208
|
TimeSeriesCVCoordinator,
|
|
209
209
|
SingleTaskClassificationReporter
|
|
210
210
|
)
|
|
@@ -263,7 +263,7 @@ def demo_train_val_test_split():
|
|
|
263
263
|
print("DEMO: Train/Validation/Test Splitting")
|
|
264
264
|
print("=" * 70)
|
|
265
265
|
|
|
266
|
-
from scitex.
|
|
266
|
+
from scitex.ai.classification import TimeSeriesCVCoordinator
|
|
267
267
|
|
|
268
268
|
# Generate data
|
|
269
269
|
X, y, timestamps, _ = generate_synthetic_timeseries(n_samples=1000)
|
|
@@ -309,7 +309,7 @@ def visualize_cv_splits():
|
|
|
309
309
|
print("VISUALIZATION: CV Split Strategies")
|
|
310
310
|
print("=" * 70)
|
|
311
311
|
|
|
312
|
-
from scitex.
|
|
312
|
+
from scitex.ai.classification import (
|
|
313
313
|
StratifiedTimeSeriesSplit,
|
|
314
314
|
SlidingWindowSplit,
|
|
315
315
|
TimeSeriesCVCoordinator
|
|
@@ -297,7 +297,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
297
297
|
# AUC metrics (only if probabilities available)
|
|
298
298
|
if y_proba is not None:
|
|
299
299
|
try:
|
|
300
|
-
from scitex.
|
|
300
|
+
from scitex.ai.metrics import calc_pre_rec_auc, calc_roc_auc
|
|
301
301
|
|
|
302
302
|
metrics["roc-auc"] = calc_roc_auc(
|
|
303
303
|
y_true,
|
|
@@ -348,7 +348,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
348
348
|
# Handle feature importance automatically if model provided
|
|
349
349
|
if model is not None and feature_names is not None:
|
|
350
350
|
try:
|
|
351
|
-
from scitex.
|
|
351
|
+
from scitex.ai.feature_selection import \
|
|
352
352
|
extract_feature_importance
|
|
353
353
|
|
|
354
354
|
importance_dict = extract_feature_importance(
|
|
@@ -620,7 +620,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
620
620
|
y_proba_pos = y_proba
|
|
621
621
|
|
|
622
622
|
# Normalize labels to integers for sklearn curve functions
|
|
623
|
-
from scitex.
|
|
623
|
+
from scitex.ai.metrics import _normalize_labels
|
|
624
624
|
|
|
625
625
|
y_true_norm, _, _, _ = _normalize_labels(y_true, y_true)
|
|
626
626
|
|
|
@@ -838,7 +838,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
838
838
|
)
|
|
839
839
|
|
|
840
840
|
if feature_importances_list:
|
|
841
|
-
from scitex.
|
|
841
|
+
from scitex.ai.feature_selection import (
|
|
842
842
|
aggregate_feature_importances,
|
|
843
843
|
create_feature_importance_dataframe)
|
|
844
844
|
|
|
@@ -934,7 +934,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
934
934
|
Dictionary of feature importances {feature_name: importance}
|
|
935
935
|
"""
|
|
936
936
|
# Use centralized metric calculation
|
|
937
|
-
from scitex.
|
|
937
|
+
from scitex.ai.metrics import calc_feature_importance
|
|
938
938
|
|
|
939
939
|
try:
|
|
940
940
|
importance_dict, importances = calc_feature_importance(
|
|
@@ -1031,7 +1031,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
1031
1031
|
)
|
|
1032
1032
|
|
|
1033
1033
|
# Create visualization using centralized plotting function
|
|
1034
|
-
from scitex.
|
|
1034
|
+
from scitex.ai.plt import plot_feature_importance_cv_summary
|
|
1035
1035
|
|
|
1036
1036
|
jpg_filename = FILENAME_PATTERNS[
|
|
1037
1037
|
"cv_summary_feature_importance_jpg"
|
|
@@ -1117,7 +1117,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
1117
1117
|
)
|
|
1118
1118
|
|
|
1119
1119
|
# Normalize labels to integers for sklearn curve functions in plotter
|
|
1120
|
-
from scitex.
|
|
1120
|
+
from scitex.ai.metrics import _normalize_labels
|
|
1121
1121
|
|
|
1122
1122
|
all_y_true_norm, _, label_names, _ = _normalize_labels(
|
|
1123
1123
|
all_y_true, all_y_true
|
|
@@ -1187,7 +1187,7 @@ class SingleTaskClassificationReporter(BaseClassificationReporter):
|
|
|
1187
1187
|
y_proba_pos = y_proba
|
|
1188
1188
|
|
|
1189
1189
|
# Normalize labels to integers for sklearn curve functions
|
|
1190
|
-
from scitex.
|
|
1190
|
+
from scitex.ai.metrics import _normalize_labels
|
|
1191
1191
|
|
|
1192
1192
|
y_true_norm, _, _, _ = _normalize_labels(y_true, y_true)
|
|
1193
1193
|
|
|
@@ -13,7 +13,7 @@ __DIR__ = os.path.dirname(__FILE__)
|
|
|
13
13
|
Classification Plotter - Delegates to stx.ml.plt functions.
|
|
14
14
|
|
|
15
15
|
This module provides a Plotter class that delegates to centralized
|
|
16
|
-
plotting functions in scitex.
|
|
16
|
+
plotting functions in scitex.ai.plt to maintain DRY principle.
|
|
17
17
|
|
|
18
18
|
Features:
|
|
19
19
|
- Graceful error handling
|
|
@@ -44,9 +44,9 @@ try:
|
|
|
44
44
|
|
|
45
45
|
# Import scitex plotting functions
|
|
46
46
|
import scitex as stx
|
|
47
|
-
from scitex.
|
|
48
|
-
from scitex.
|
|
49
|
-
from scitex.
|
|
47
|
+
from scitex.ai.plt.plot_conf_mat import plot_conf_mat as conf_mat
|
|
48
|
+
from scitex.ai.plt.plot_roc_curve import plot_roc_curve as roc_auc
|
|
49
|
+
from scitex.ai.plt.plot_pre_rec_curve import plot_pre_rec_curve as pre_rec_auc
|
|
50
50
|
|
|
51
51
|
PLOTTING_AVAILABLE = True
|
|
52
52
|
except ImportError:
|
|
@@ -787,7 +787,7 @@ class Plotter:
|
|
|
787
787
|
importance = feature_importance
|
|
788
788
|
|
|
789
789
|
# Delegate to centralized plotting function
|
|
790
|
-
from scitex.
|
|
790
|
+
from scitex.ai.plt import plot_feature_importance as plot_fi
|
|
791
791
|
|
|
792
792
|
fig = plot_fi(
|
|
793
793
|
importance=importance,
|
|
@@ -78,7 +78,7 @@ Legend: T=Train intervals, V=Validation intervals, S=teSt intervals
|
|
|
78
78
|
Single time series with stratification to maintain class balance and optional validation set.
|
|
79
79
|
|
|
80
80
|
```python
|
|
81
|
-
from scitex.
|
|
81
|
+
from scitex.ai.classification.timeseries import TimeSeriesStratifiedSplit
|
|
82
82
|
|
|
83
83
|
splitter = TimeSeriesStratifiedSplit(
|
|
84
84
|
n_splits=5,
|
|
@@ -98,7 +98,7 @@ for train_idx, val_idx, test_idx in splitter.split_with_val(X, y, timestamps):
|
|
|
98
98
|
Multiple independent time series (e.g., different patients/subjects) with optional validation set.
|
|
99
99
|
|
|
100
100
|
```python
|
|
101
|
-
from scitex.
|
|
101
|
+
from scitex.ai.classification.timeseries import TimeSeriesBlockingSplit
|
|
102
102
|
|
|
103
103
|
splitter = TimeSeriesBlockingSplit(
|
|
104
104
|
n_splits=3,
|
|
@@ -121,7 +121,7 @@ for train_idx, val_idx, test_idx in splitter.split_with_val(X, y, timestamps, gr
|
|
|
121
121
|
Fixed-size sliding windows through time with configurable gaps and optional validation set.
|
|
122
122
|
|
|
123
123
|
```python
|
|
124
|
-
from scitex.
|
|
124
|
+
from scitex.ai.classification.timeseries import TimeSeriesSlidingWindowSplit
|
|
125
125
|
|
|
126
126
|
splitter = TimeSeriesSlidingWindowSplit(
|
|
127
127
|
window_size=100, # 100 samples for training window
|
|
@@ -146,7 +146,7 @@ for train_idx, val_idx, test_idx in splitter.split_with_val(X, y, timestamps):
|
|
|
146
146
|
Calendar-based splitting (monthly, weekly, daily intervals) with optional validation set.
|
|
147
147
|
|
|
148
148
|
```python
|
|
149
|
-
from scitex.
|
|
149
|
+
from scitex.ai.classification.timeseries import TimeSeriesCalendarSplit
|
|
150
150
|
|
|
151
151
|
# Monthly splits
|
|
152
152
|
splitter = TimeSeriesCalendarSplit(
|
|
@@ -174,7 +174,7 @@ for train_idx, val_idx, test_idx in splitter.split_with_val(X, y, timestamps=dat
|
|
|
174
174
|
Handles various timestamp formats automatically:
|
|
175
175
|
|
|
176
176
|
```python
|
|
177
|
-
from scitex.
|
|
177
|
+
from scitex.ai.classification.timeseries import normalize_timestamp
|
|
178
178
|
|
|
179
179
|
# Convert any format to standard string
|
|
180
180
|
normalized = normalize_timestamp("2023/01/15 14:30:00", return_as="str")
|
|
@@ -200,7 +200,7 @@ All time series splitters now support optional validation sets through the `spli
|
|
|
200
200
|
### Example with Validation Sets
|
|
201
201
|
|
|
202
202
|
```python
|
|
203
|
-
from scitex.
|
|
203
|
+
from scitex.ai.classification.timeseries import TimeSeriesStratifiedSplit
|
|
204
204
|
from sklearn.ensemble import RandomForestClassifier
|
|
205
205
|
|
|
206
206
|
# Create splitter with validation
|
|
@@ -243,7 +243,7 @@ fig = splitter.plot_splits(X, y, timestamps)
|
|
|
243
243
|
All splitters integrate seamlessly with the unified ClassificationReporter:
|
|
244
244
|
|
|
245
245
|
```python
|
|
246
|
-
from scitex.
|
|
246
|
+
from scitex.ai.classification import ClassificationReporter, TimeSeriesCalendarSplit
|
|
247
247
|
from sklearn.ensemble import RandomForestClassifier
|
|
248
248
|
import pandas as pd
|
|
249
249
|
|
|
@@ -72,7 +72,7 @@ class TimeSeriesBlockingSplit(BaseCrossValidator):
|
|
|
72
72
|
|
|
73
73
|
Examples
|
|
74
74
|
--------
|
|
75
|
-
>>> from scitex.
|
|
75
|
+
>>> from scitex.ai.classification import TimeSeriesBlockingSplit
|
|
76
76
|
>>> import numpy as np
|
|
77
77
|
>>>
|
|
78
78
|
>>> # Create data: 100 samples, 4 subjects (25 samples each)
|
|
@@ -77,7 +77,7 @@ class TimeSeriesCalendarSplit(BaseCrossValidator):
|
|
|
77
77
|
|
|
78
78
|
Examples
|
|
79
79
|
--------
|
|
80
|
-
>>> from scitex.
|
|
80
|
+
>>> from scitex.ai.classification import TimeSeriesCalendarSplit
|
|
81
81
|
>>> import pandas as pd
|
|
82
82
|
>>> import numpy as np
|
|
83
83
|
>>>
|
|
@@ -50,7 +50,7 @@ class TimeSeriesMetadata:
|
|
|
50
50
|
Examples
|
|
51
51
|
--------
|
|
52
52
|
>>> import numpy as np
|
|
53
|
-
>>> from scitex.
|
|
53
|
+
>>> from scitex.ai.classification import TimeSeriesMetadata
|
|
54
54
|
>>>
|
|
55
55
|
>>> # Create metadata for a dataset
|
|
56
56
|
>>> metadata = TimeSeriesMetadata(
|
|
@@ -90,7 +90,7 @@ class TimeSeriesSlidingWindowSplit(BaseCrossValidator):
|
|
|
90
90
|
|
|
91
91
|
Examples
|
|
92
92
|
--------
|
|
93
|
-
>>> from scitex.
|
|
93
|
+
>>> from scitex.ai.classification import TimeSeriesSlidingWindowSplit
|
|
94
94
|
>>> import numpy as np
|
|
95
95
|
>>>
|
|
96
96
|
>>> X = np.random.randn(100, 10)
|
|
@@ -85,7 +85,7 @@ class TimeSeriesSlidingWindowSplit(BaseCrossValidator):
|
|
|
85
85
|
|
|
86
86
|
Examples
|
|
87
87
|
--------
|
|
88
|
-
>>> from scitex.
|
|
88
|
+
>>> from scitex.ai.classification import TimeSeriesSlidingWindowSplit
|
|
89
89
|
>>> import numpy as np
|
|
90
90
|
>>>
|
|
91
91
|
>>> X = np.random.randn(100, 10)
|
|
@@ -70,7 +70,7 @@ class TimeSeriesStratifiedSplit(BaseCrossValidator):
|
|
|
70
70
|
|
|
71
71
|
Examples
|
|
72
72
|
--------
|
|
73
|
-
>>> from scitex.
|
|
73
|
+
>>> from scitex.ai.classification import TimeSeriesStratifiedSplit
|
|
74
74
|
>>> import numpy as np
|
|
75
75
|
>>>
|
|
76
76
|
>>> X = np.random.randn(100, 10)
|
|
@@ -20,11 +20,11 @@ echo_warning() { echo -e "${YELLOW}$1${NC}"; }
|
|
|
20
20
|
echo_error() { echo -e "${RED}$1${NC}"; }
|
|
21
21
|
# ---------------------------------------
|
|
22
22
|
|
|
23
|
-
python -m scitex.
|
|
24
|
-
python -m scitex.
|
|
25
|
-
python -m scitex.
|
|
26
|
-
python -m scitex.
|
|
27
|
-
python -m scitex.
|
|
28
|
-
python -m scitex.
|
|
23
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesBlockingSplit
|
|
24
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesCalendarSplit
|
|
25
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesMetadata
|
|
26
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesSlidingWindowSplit
|
|
27
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesStrategy
|
|
28
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesStratifiedSplit
|
|
29
29
|
|
|
30
30
|
# EOF
|
scitex/ai/plt/__init__.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
"""Scitex centralized plotting module.
|
|
3
3
|
|
|
4
|
-
Note: Metric calculation functions (calc_*) are imported from scitex.
|
|
4
|
+
Note: Metric calculation functions (calc_*) are imported from scitex.ai.metrics
|
|
5
5
|
but re-exported here for backward compatibility. New code should import directly
|
|
6
|
-
from scitex.
|
|
6
|
+
from scitex.ai.metrics instead.
|
|
7
7
|
"""
|
|
8
8
|
|
|
9
9
|
from ._plot_conf_mat import calc_bACC_from_conf_mat, calc_bacc_from_conf_mat, plot_conf_mat, conf_mat
|
|
@@ -54,7 +54,7 @@ __all__ = [
|
|
|
54
54
|
"select_ticks",
|
|
55
55
|
"set_yaxis_for_acc",
|
|
56
56
|
"vline_at_epochs",
|
|
57
|
-
# Metric calculations (re-exported from scitex.
|
|
57
|
+
# Metric calculations (re-exported from scitex.ai.metrics for backward compat)
|
|
58
58
|
"calc_bACC_from_conf_mat",
|
|
59
59
|
"calc_bacc_from_conf_mat",
|
|
60
60
|
]
|
scitex/ai/plt/_plot_conf_mat.py
CHANGED
|
@@ -21,8 +21,8 @@ from mpl_toolkits.axes_grid1 import make_axes_locatable
|
|
|
21
21
|
from sklearn.metrics import balanced_accuracy_score
|
|
22
22
|
from sklearn.metrics import confusion_matrix as sklearn_confusion_matrix
|
|
23
23
|
|
|
24
|
-
# Import metric calculation from centralized location (SoC: metrics in scitex.
|
|
25
|
-
from scitex.
|
|
24
|
+
# Import metric calculation from centralized location (SoC: metrics in scitex.ai.metrics)
|
|
25
|
+
from scitex.ai.metrics import calc_bacc_from_conf_mat
|
|
26
26
|
|
|
27
27
|
# Aliases for backward compatibility
|
|
28
28
|
calc_bACC_from_conf_mat = calc_bacc_from_conf_mat
|
|
@@ -273,9 +273,9 @@ def plot_conf_mat(
|
|
|
273
273
|
conf_mat = plot_conf_mat
|
|
274
274
|
|
|
275
275
|
|
|
276
|
-
# Metric calculation functions have been moved to scitex.
|
|
276
|
+
# Metric calculation functions have been moved to scitex.ai.metrics
|
|
277
277
|
# They are imported above for use in this module
|
|
278
|
-
# This maintains SoC: plotting in scitex.
|
|
278
|
+
# This maintains SoC: plotting in scitex.ai.plt, metrics in scitex.ai.metrics
|
|
279
279
|
|
|
280
280
|
|
|
281
281
|
def main(args):
|
|
@@ -84,7 +84,7 @@ if __name__ == "__main__":
|
|
|
84
84
|
pass
|
|
85
85
|
# # starts the current fold's loop
|
|
86
86
|
# i_global = 0
|
|
87
|
-
# lc_logger = scitex.
|
|
87
|
+
# lc_logger = scitex.ai.LearningCurveLogger()
|
|
88
88
|
# early_stopping = utils.EarlyStopping(patience=50, verbose=True)
|
|
89
89
|
# for i_epoch, epoch in enumerate(tqdm(range(merged_conf["MAX_EPOCHS"]))):
|
|
90
90
|
|
|
@@ -14,14 +14,14 @@ Functionality:
|
|
|
14
14
|
- Records and visualizes learning curves during model training
|
|
15
15
|
- Supports tracking of multiple metrics across training/validation/test phases
|
|
16
16
|
- Generates plots showing training progress over iterations and epochs
|
|
17
|
-
- Delegates plotting to scitex.
|
|
17
|
+
- Delegates plotting to scitex.ai.plt.plot_learning_curve for consistency
|
|
18
18
|
|
|
19
19
|
Input:
|
|
20
20
|
- Training metrics dictionary containing loss, accuracy, predictions etc.
|
|
21
21
|
- Step information (Training/Validation/Test)
|
|
22
22
|
|
|
23
23
|
Output:
|
|
24
|
-
- Learning curve plots via scitex.
|
|
24
|
+
- Learning curve plots via scitex.ai.plt.plot_learning_curve
|
|
25
25
|
- DataFrames with recorded metrics
|
|
26
26
|
- Training progress prints
|
|
27
27
|
|
|
@@ -148,7 +148,7 @@ class LearningCurveLogger:
|
|
|
148
148
|
) -> matplotlib.figure.Figure:
|
|
149
149
|
"""Plots learning curves from logged metrics.
|
|
150
150
|
|
|
151
|
-
Delegates to scitex.
|
|
151
|
+
Delegates to scitex.ai.plt.plot_learning_curve for consistent plotting.
|
|
152
152
|
|
|
153
153
|
Parameters
|
|
154
154
|
----------
|
|
@@ -170,7 +170,7 @@ class LearningCurveLogger:
|
|
|
170
170
|
matplotlib.figure.Figure
|
|
171
171
|
Figure containing learning curves
|
|
172
172
|
"""
|
|
173
|
-
from scitex.
|
|
173
|
+
from scitex.ai.plt import plot_learning_curve
|
|
174
174
|
|
|
175
175
|
# Convert to metrics DataFrame
|
|
176
176
|
metrics_df = self.to_metrics_df()
|
scitex/ai/utils/grid_search.py
CHANGED
scitex/ai/viewed-ai.md
CHANGED
|
@@ -911,12 +911,12 @@ echo_warning() { echo -e "${YELLOW}$1${NC}"; }
|
|
|
911
911
|
echo_error() { echo -e "${RED}$1${NC}"; }
|
|
912
912
|
# ---------------------------------------
|
|
913
913
|
|
|
914
|
-
python -m scitex.
|
|
915
|
-
python -m scitex.
|
|
916
|
-
python -m scitex.
|
|
917
|
-
python -m scitex.
|
|
918
|
-
python -m scitex.
|
|
919
|
-
python -m scitex.
|
|
914
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesBlockingSplit
|
|
915
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesCalendarSplit
|
|
916
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesMetadata
|
|
917
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesSlidingWindowSplit
|
|
918
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesStrategy
|
|
919
|
+
python -m scitex.ai.classification.timeseries._TimeSeriesStratifiedSplit
|
|
920
920
|
|
|
921
921
|
# EOF
|
|
922
922
|
...
|
|
@@ -3518,9 +3518,9 @@ setup(
|
|
|
3518
3518
|
#!/usr/bin/env python3
|
|
3519
3519
|
"""Scitex centralized plotting module.
|
|
3520
3520
|
|
|
3521
|
-
Note: Metric calculation functions (calc_*) are imported from scitex.
|
|
3521
|
+
Note: Metric calculation functions (calc_*) are imported from scitex.ai.metrics
|
|
3522
3522
|
but re-exported here for backward compatibility. New code should import directly
|
|
3523
|
-
from scitex.
|
|
3523
|
+
from scitex.ai.metrics instead.
|
|
3524
3524
|
"""
|
|
3525
3525
|
|
|
3526
3526
|
from ._plot_conf_mat import calc_bACC_from_conf_mat, calc_bacc_from_conf_mat, plot_conf_mat, conf_mat
|
|
@@ -3596,8 +3596,8 @@ from mpl_toolkits.axes_grid1 import make_axes_locatable
|
|
|
3596
3596
|
from sklearn.metrics import balanced_accuracy_score
|
|
3597
3597
|
from sklearn.metrics import confusion_matrix as sklearn_confusion_matrix
|
|
3598
3598
|
|
|
3599
|
-
# Import metric calculation from centralized location (SoC: metrics in scitex.
|
|
3600
|
-
from scitex.
|
|
3599
|
+
# Import metric calculation from centralized location (SoC: metrics in scitex.ai.metrics)
|
|
3600
|
+
from scitex.ai.metrics import calc_bacc_from_conf_mat
|
|
3601
3601
|
|
|
3602
3602
|
# Aliases for backward compatibility
|
|
3603
3603
|
calc_bACC_from_conf_mat = calc_bacc_from_conf_mat
|
|
@@ -4405,14 +4405,14 @@ Functionality:
|
|
|
4405
4405
|
- Records and visualizes learning curves during model training
|
|
4406
4406
|
- Supports tracking of multiple metrics across training/validation/test phases
|
|
4407
4407
|
- Generates plots showing training progress over iterations and epochs
|
|
4408
|
-
- Delegates plotting to scitex.
|
|
4408
|
+
- Delegates plotting to scitex.ai.plt.plot_learning_curve for consistency
|
|
4409
4409
|
|
|
4410
4410
|
Input:
|
|
4411
4411
|
- Training metrics dictionary containing loss, accuracy, predictions etc.
|
|
4412
4412
|
- Step information (Training/Validation/Test)
|
|
4413
4413
|
|
|
4414
4414
|
Output:
|
|
4415
|
-
- Learning curve plots via scitex.
|
|
4415
|
+
- Learning curve plots via scitex.ai.plt.plot_learning_curve
|
|
4416
4416
|
- DataFrames with recorded metrics
|
|
4417
4417
|
- Training progress prints
|
|
4418
4418
|
|
|
@@ -4715,7 +4715,7 @@ def format_samples_for_sktime(X):
|
|
|
4715
4715
|
# Author: Yusuke Watanabe (ywata1989@gmail.com)
|
|
4716
4716
|
|
|
4717
4717
|
"""
|
|
4718
|
-
This script defines scitex.
|
|
4718
|
+
This script defines scitex.ai.utils.grid_search
|
|
4719
4719
|
"""
|
|
4720
4720
|
|
|
4721
4721
|
# Imports
|
|
@@ -647,8 +647,8 @@ async def main():
|
|
|
647
647
|
auth_strategy=DjangoAuthStrategy(
|
|
648
648
|
login_url="http://127.0.0.1:8000/auth/login/",
|
|
649
649
|
credentials={
|
|
650
|
-
'username': os.getenv('
|
|
651
|
-
'password': os.getenv('
|
|
650
|
+
'username': os.getenv('SCITEX_CLOUD_USERNAME'),
|
|
651
|
+
'password': os.getenv('SCITEX_CLOUD_PASSWORD'),
|
|
652
652
|
},
|
|
653
653
|
),
|
|
654
654
|
) as browser:
|
|
@@ -733,8 +733,8 @@ async def snap_authenticated(
|
|
|
733
733
|
"""
|
|
734
734
|
from scitex.browser.automation import AuthenticatedBrowser, DjangoAuthStrategy
|
|
735
735
|
|
|
736
|
-
username = username or os.getenv('
|
|
737
|
-
password = password or os.getenv('
|
|
736
|
+
username = username or os.getenv('SCITEX_CLOUD_USERNAME')
|
|
737
|
+
password = password or os.getenv('SCITEX_CLOUD_PASSWORD')
|
|
738
738
|
|
|
739
739
|
async with AuthenticatedBrowser(
|
|
740
740
|
auth_strategy=DjangoAuthStrategy(
|
scitex/ml/__init__.py
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
SciTeX ML Module - Alias for AI module.
|
|
4
|
+
|
|
5
|
+
This module is an alias for scitex.ai and re-exports all its contents.
|
|
6
|
+
The 'ml' name is kept for backward compatibility and convenience.
|
|
7
|
+
|
|
8
|
+
Usage:
|
|
9
|
+
from scitex.ai import classification # Same as scitex.ai.classification
|
|
10
|
+
from scitex.ai.metrics import calc_bacc # Same as scitex.ai.metrics
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
# Re-export everything from ai module
|
|
14
|
+
from ..ai import * # noqa: F403,F401
|
|
15
|
+
|
|
16
|
+
__all__ = [
|
|
17
|
+
"classification",
|
|
18
|
+
"metrics",
|
|
19
|
+
"plt",
|
|
20
|
+
"feature_selection",
|
|
21
|
+
"feature_extraction",
|
|
22
|
+
"training",
|
|
23
|
+
"clustering",
|
|
24
|
+
"loss",
|
|
25
|
+
"optim",
|
|
26
|
+
"activation",
|
|
27
|
+
"sklearn",
|
|
28
|
+
"sk",
|
|
29
|
+
"utils",
|
|
30
|
+
]
|
scitex/nn/_Filters.py
CHANGED
|
@@ -419,7 +419,7 @@ if __name__ == "__main__":
|
|
|
419
419
|
# BandPassFilter(bands, fs, xx.shape)
|
|
420
420
|
m = DifferentiableBandPassFilter(xx.shape[-1], fs).cuda()
|
|
421
421
|
|
|
422
|
-
scitex.
|
|
422
|
+
scitex.ai.utils.check_params(m)
|
|
423
423
|
# {'pha_mids': (torch.Size([30]), 'Learnable'),
|
|
424
424
|
# 'amp_mids': (torch.Size([50]), 'Learnable')}
|
|
425
425
|
|
scitex/pd/_merge_columns.py
CHANGED
|
@@ -213,7 +213,7 @@ merge_cols = merge_columns
|
|
|
213
213
|
# # df = deepcopy(_df)
|
|
214
214
|
# # merged = deepcopy(df[columns[0]]) # initialization
|
|
215
215
|
# # for c in columns[1:]:
|
|
216
|
-
# # merged = scitex.
|
|
216
|
+
# # merged = scitex.ai.utils.merge_labels(list(merged), deepcopy(df[c]))
|
|
217
217
|
# # df.loc[:, scitex.gen.connect_strs(columns)] = merged
|
|
218
218
|
# # return df
|
|
219
219
|
|
scitex/plt/KNOWN_ISSUES.md
CHANGED
|
@@ -33,7 +33,7 @@ cax = divider.append_axes("right", size="5%", pad=0.1) # ← Works
|
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
### Impact
|
|
36
|
-
- `scitex.
|
|
36
|
+
- `scitex.ai.plt.plot_conf_mat` - Cannot use stx.plt.subplots (uses divider for colorbar)
|
|
37
37
|
- Any plotting function that uses axes_grid1 features
|
|
38
38
|
|
|
39
39
|
### Root Cause
|
|
@@ -55,9 +55,9 @@ cax = divider.append_axes("right", size="5%", pad=0.1) # ← Works
|
|
|
55
55
|
Demo/test functions in plotting modules may still pass `plt` as first parameter even though it's been deprecated and moved to end as optional parameter.
|
|
56
56
|
|
|
57
57
|
### Affected
|
|
58
|
-
- `scitex.
|
|
59
|
-
- `scitex.
|
|
60
|
-
- `scitex.
|
|
58
|
+
- `scitex.ai.plt.plot_conf_mat.main()`
|
|
59
|
+
- `scitex.ai.plt.plot_roc_curve.main()`
|
|
60
|
+
- `scitex.ai.plt.plot_pre_rec_curve.main()`
|
|
61
61
|
|
|
62
62
|
### Workaround
|
|
63
63
|
Update demo functions to use new API without `plt` parameter.
|
scitex/utils/_grid.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: scitex
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.2
|
|
4
4
|
Summary: A comprehensive Python library for scientific computing and data analysis
|
|
5
5
|
Project-URL: Homepage, https://github.com/ywatanabe1989/scitex-code
|
|
6
6
|
Project-URL: Documentation, https://scitex.readthedocs.io
|
|
@@ -251,7 +251,7 @@ Requires-Dist: yq; extra == 'writer'
|
|
|
251
251
|
Description-Content-Type: text/markdown
|
|
252
252
|
|
|
253
253
|
<!-- ---
|
|
254
|
-
!-- Timestamp: 2025-
|
|
254
|
+
!-- Timestamp: 2025-11-02 12:07:30
|
|
255
255
|
!-- Author: ywatanabe
|
|
256
256
|
!-- File: /home/ywatanabe/proj/scitex-code/README.md
|
|
257
257
|
!-- --- -->
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
scitex/.mcp.json,sha256=ge1NDrBZkRIxJgx_tCS9QvcEa_P_ay8AAAafraZVRP4,1259
|
|
2
2
|
scitex/__init__.py,sha256=CYknV77HxgjGWY-JoH2cV_-1DEKQn4rLJ_UrdprU9bo,3008
|
|
3
3
|
scitex/__main__.py,sha256=Fwqh-_32e0EoiDZtwFHVH6e50lIQaLFWIvTnNqY52SU,4191
|
|
4
|
-
scitex/__version__.py,sha256=
|
|
4
|
+
scitex/__version__.py,sha256=bOiYEXqaHkkHly1CP8OB7cBYqGQbAXQPKnCyhvg4EBA,400
|
|
5
5
|
scitex/_optional_deps.py,sha256=oHwPdE6uJ4MmWNgt7JXojNtbwkUjR4c0mCCNMOK4k-w,3696
|
|
6
6
|
scitex/_sh.py,sha256=KZGuc8dfWlFmBaTBAhngV0lcMvx6ActOgQxthk9EdjM,496
|
|
7
7
|
scitex/errors.py,sha256=sgl1csU2sfHCINxO9jwPCdNA6hr-CqaT8tQMiuH93sQ,15247
|
|
@@ -9,7 +9,7 @@ scitex/units.py,sha256=2T6VCwcjHBT_zPr_DG3JhUIF7a7TU1pUxMQPDBKZNCw,10373
|
|
|
9
9
|
scitex/.claude/mcp-config.json,sha256=k1rIbdUvk2AFOkx8xSKK9wAhsQ79cnOgCFpdq2rQswE,1147
|
|
10
10
|
scitex/ai/README.md,sha256=EdRrmZRt2ARgVKQgKO2YqMktb9MIqZK35RHAu7NskmY,7060
|
|
11
11
|
scitex/ai/__init__.py,sha256=mvr435uZUE5xpsQU4vBPqWCLqJTpGL2plW7swzQ0dUc,1817
|
|
12
|
-
scitex/ai/viewed-ai.md,sha256=
|
|
12
|
+
scitex/ai/viewed-ai.md,sha256=j4mH9YHxtJvpX1OQya9fiBHSREids1o6rShpoXavMaI,130104
|
|
13
13
|
scitex/ai/_gen_ai/_Anthropic.py,sha256=MBAGaJwpDa4f57FtbGwahfo3Vx2NodpIelvIw1PAPqs,5123
|
|
14
14
|
scitex/ai/_gen_ai/_BaseGenAI.py,sha256=Vh4x97PvyLgR49BBKy3rew3Iahy-EKObHxhhwQ8BUBU,10930
|
|
15
15
|
scitex/ai/_gen_ai/_DeepSeek.py,sha256=ujZXTjowy-0gKKAB-FFQFLsYo3c4KV2HKN_lisjlkmo,4887
|
|
@@ -29,7 +29,7 @@ scitex/ai/classification/Classifier.py,sha256=Xrp-pKjTBvQrmS1lNNjHb-u1_-DcYFUsar
|
|
|
29
29
|
scitex/ai/classification/CrossValidationExperiment.py,sha256=Wd54EgArObTHKEWgGejdu0_yiAXHuCgSpPFIMgUJmhA,11138
|
|
30
30
|
scitex/ai/classification/README.md,sha256=naEqv2faftVJAa4zTO4bbVIg3fowjb6NyUctDGSJ9Mw,7112
|
|
31
31
|
scitex/ai/classification/__init__.py,sha256=ej6sJKHHYpOUw18OXzDMfdpGcXQQgNuX4hr8p53E19s,1249
|
|
32
|
-
scitex/ai/classification/examples/timeseries_cv_demo.py,sha256=
|
|
32
|
+
scitex/ai/classification/examples/timeseries_cv_demo.py,sha256=PjdvgFwkrPgoYNx5JQqF-Nr-eaImjrG9mPYatsmBPQ4,13955
|
|
33
33
|
scitex/ai/classification/examples/verify_multi/config.json,sha256=TruvfN52tdYzO2VewAr0Rsdr9JqRRb4-kDPKpzaTuwQ,205
|
|
34
34
|
scitex/ai/classification/examples/verify_multi/multi_task_comparison.md,sha256=fKU9qz3zxFRkl9LBz2RG-H5KfKVOnQJlF0mKCXHix_I,365
|
|
35
35
|
scitex/ai/classification/examples/verify_multi/multi_task_validation.json,sha256=DQkR39mAX83eL2__lw7PJaQeN42LqPNt1Gw56P1PL_s,2048
|
|
@@ -56,26 +56,26 @@ scitex/ai/classification/examples/verify_test/paper_export/summary_table.tex,sha
|
|
|
56
56
|
scitex/ai/classification/reporters/_BaseClassificationReporter.py,sha256=-7uTvmac4xTazRS70MINMHhHOPzVP7Oya7xWfGnnkLg,8907
|
|
57
57
|
scitex/ai/classification/reporters/_ClassificationReporter.py,sha256=BStYTHb9cS70vhdKOKF5dG71yV0mJdgpTB7Uww7CirQ,25542
|
|
58
58
|
scitex/ai/classification/reporters/_MultiClassificationReporter.py,sha256=SC41YaOox9wnJ2c_VIodmXG8ByG9GHVs2Q0isbopFT4,13171
|
|
59
|
-
scitex/ai/classification/reporters/_SingleClassificationReporter.py,sha256=
|
|
59
|
+
scitex/ai/classification/reporters/_SingleClassificationReporter.py,sha256=ZpdRcxuRlGxrsdWNDVmSyHOQleQMIQnG9YaGLmmnB7Y,71865
|
|
60
60
|
scitex/ai/classification/reporters/__init__.py,sha256=yqUZuF6KBFbuQaLQ90A871lbes0M3qWLINjTkWUQ3hA,350
|
|
61
|
-
scitex/ai/classification/reporters/reporter_utils/_Plotter.py,sha256=
|
|
62
|
-
scitex/ai/classification/reporters/reporter_utils/__init__.py,sha256=
|
|
61
|
+
scitex/ai/classification/reporters/reporter_utils/_Plotter.py,sha256=Vcz_2iXNQ7Xw3UgI3OSVtDt_OgqO9s1LNd6HrSXa3cI,37483
|
|
62
|
+
scitex/ai/classification/reporters/reporter_utils/__init__.py,sha256=BiOdqvDoHRHQyBFJG7zJWJSofeLDzAbBMBHpMmO9-j0,1568
|
|
63
63
|
scitex/ai/classification/reporters/reporter_utils/aggregation.py,sha256=QBgSZ9FdN2OuIvsgHs23wCK0iG21I8Hop6pVgwxqEX4,14129
|
|
64
64
|
scitex/ai/classification/reporters/reporter_utils/data_models.py,sha256=grjhoP2KsnfGM7f6SaolldyqqBo7QVYxknkkshUTAUI,11764
|
|
65
65
|
scitex/ai/classification/reporters/reporter_utils/reporting.py,sha256=-Bj9J45mh_WnuWZLHwBN0qSORZO4ehZWabSP7OGyNFs,45803
|
|
66
66
|
scitex/ai/classification/reporters/reporter_utils/storage.py,sha256=y7ScjNwTRXl-u-Wne9t7PmwymJOUNtV1R-s6sOIhnnI,6651
|
|
67
67
|
scitex/ai/classification/reporters/reporter_utils/validation.py,sha256=W_4VkVGcxQhm_sJ1NB62HFaJq-azvvHKGvV_7Fq32wU,11920
|
|
68
|
-
scitex/ai/classification/timeseries/README.md,sha256
|
|
69
|
-
scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py,sha256
|
|
70
|
-
scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py,sha256=
|
|
71
|
-
scitex/ai/classification/timeseries/_TimeSeriesMetadata.py,sha256=
|
|
72
|
-
scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py,sha256=
|
|
73
|
-
scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py,sha256=
|
|
68
|
+
scitex/ai/classification/timeseries/README.md,sha256=5cTiRJXCQO6IC0tAQGdRhFLqDgkJxozbR-YPuMoqLi0,10134
|
|
69
|
+
scitex/ai/classification/timeseries/_TimeSeriesBlockingSplit.py,sha256=-2mwimxwDXVNT5gxNAsZnW2VPjNN-G_PJruQ2HqFkJ8,21290
|
|
70
|
+
scitex/ai/classification/timeseries/_TimeSeriesCalendarSplit.py,sha256=SgOKE0RO3zAWK-mChgVI2IYJJwWhat-JsraNMD3iyUU,24178
|
|
71
|
+
scitex/ai/classification/timeseries/_TimeSeriesMetadata.py,sha256=6ZwtXqiHtCJMEIH7mFtg82y_W9ODMRcsNri_O5UB4lw,4534
|
|
72
|
+
scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit.py,sha256=UXxRWc5K98u6yvCLiD311F_4WQfKRSh6Ptdp_tfeSzo,65888
|
|
73
|
+
scitex/ai/classification/timeseries/_TimeSeriesSlidingWindowSplit_v01-not-using-n_splits.py,sha256=_eqitnVSWNAX9fVZUX-irO0Elz-lTOO1yDiTQQJuFI4,64085
|
|
74
74
|
scitex/ai/classification/timeseries/_TimeSeriesStrategy.py,sha256=IlkXV7ZrhKyF_me97vNH8uExlibiJzQ7Md_8DUDrg9U,2523
|
|
75
|
-
scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py,sha256=
|
|
75
|
+
scitex/ai/classification/timeseries/_TimeSeriesStratifiedSplit.py,sha256=ks3ZYGw9X_gs9ukGH2MZUhY-YYRr1THBiQ86PvkqhZw,23906
|
|
76
76
|
scitex/ai/classification/timeseries/__init__.py,sha256=UalgxypqSRdlYZ6373SUrw7KBV6Wl-D_14czxrVl-Ao,1163
|
|
77
77
|
scitex/ai/classification/timeseries/_normalize_timestamp.py,sha256=708sAzOiD0BHV-d8HIBHZVyFckFn6XdqF0x2Hdich9Q,11824
|
|
78
|
-
scitex/ai/classification/timeseries/run_all.sh,sha256=
|
|
78
|
+
scitex/ai/classification/timeseries/run_all.sh,sha256=nQey9mtQuusaro6L7_JKNUEigmdELZ0b3AC2GIuZtPo,1044
|
|
79
79
|
scitex/ai/clustering/__init__.py,sha256=OvB98TrqIw22aWmCDyuJaggypOd6rNC7W3a6IsEIbmQ,158
|
|
80
80
|
scitex/ai/clustering/_pca.py,sha256=Ppo7Wv2ND_4AoFb-UWFz6mmP7GOXBJoOe2-4FnO3l-Y,3222
|
|
81
81
|
scitex/ai/clustering/_umap.py,sha256=7VCeg5LLLjH6oF6MjyuTh0TEes8YW6ZGYBzqYZE2JBc,10090
|
|
@@ -113,8 +113,8 @@ scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/ranger.py,sha256=kyB4Moni6
|
|
|
113
113
|
scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/ranger2020.py,sha256=EQYQJ8uf8YzubZR0N8h7p3Jz2WoS706bZzKgKUC0jnE,9432
|
|
114
114
|
scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/ranger913A.py,sha256=gdFmSjmKa9dOYkoBtd9bx9nHKYdaSnNJK6UasW0tEFY,8449
|
|
115
115
|
scitex/ai/optim/Ranger_Deep_Learning_Optimizer/ranger/rangerqh.py,sha256=LoaP_hb50mF90TEpPuCQCOAKl8GMqrEydUCNTAS7Yd8,6990
|
|
116
|
-
scitex/ai/plt/__init__.py,sha256=
|
|
117
|
-
scitex/ai/plt/_plot_conf_mat.py,sha256=
|
|
116
|
+
scitex/ai/plt/__init__.py,sha256=pVUv13LtGBEG88MMJ_JcKKtcU5VS0ZsWtBmbnnuKg6I,1817
|
|
117
|
+
scitex/ai/plt/_plot_conf_mat.py,sha256=u5jmduZ-C-bXC_Fiv3GHo_-bnJ30sDJEoRqo19MinYE,19557
|
|
118
118
|
scitex/ai/plt/_plot_feature_importance.py,sha256=RIUSVKLVtHSBWAFz3dKeAD4H3iKG0S0vlzQQ2zb40gE,9156
|
|
119
119
|
scitex/ai/plt/_plot_learning_curve.py,sha256=oepts6ldJ33-B0-Jm_kz51UJhGLJHwAdc3GGksc80Zw,9331
|
|
120
120
|
scitex/ai/plt/_plot_optuna_study.py,sha256=xjOehhfyzKvWWYG3wN3og5wYcIi9rCQ4bJWe6gcKfaE,6758
|
|
@@ -127,8 +127,8 @@ scitex/ai/sk/_to_sktime.py,sha256=8tIcx_0GGmHkUL7c6RFbeCau98kAI09oTOj5TFmhpYM,30
|
|
|
127
127
|
scitex/ai/sklearn/__init__.py,sha256=vf7N7EvL-BWXJ2WCDodiFBsdcyh_ds3rpRfox63EU0M,728
|
|
128
128
|
scitex/ai/sklearn/clf.py,sha256=yW5fQEgQOtLyEjZj5dzh1gL6t3K9sEzeWsX0FTx6Ajc,1988
|
|
129
129
|
scitex/ai/sklearn/to_sktime.py,sha256=SXwIdBRyLI1n9Ec4OW85m8o26kL_gZZwQOemRZ74AZw,3036
|
|
130
|
-
scitex/ai/training/_EarlyStopping.py,sha256=
|
|
131
|
-
scitex/ai/training/_LearningCurveLogger.py,sha256
|
|
130
|
+
scitex/ai/training/_EarlyStopping.py,sha256=opudKQAIzFDlVZNjPns0BtYkMQKzn-34N3kjB8CxYIE,4921
|
|
131
|
+
scitex/ai/training/_LearningCurveLogger.py,sha256=i4PnfmelkPQiGBjTNIFm6id1hGFurGZRT9dYIdepZFU,15979
|
|
132
132
|
scitex/ai/training/__init__.py,sha256=1fOxy3AJZpIny044q187c8eBj_GhtLX97yjePeHwjho,198
|
|
133
133
|
scitex/ai/training/legacy/early_stopping.py,sha256=2Daxzg5ua-F0rr5znUgR_VnWirlBoLkTvwhq6Nj5gEg,4941
|
|
134
134
|
scitex/ai/training/legacy/learning_curve_logger.py,sha256=ZDjSAy0YOsqZpyJOVFfHXo31ViQTNeutRtwUQUJ--JU,17217
|
|
@@ -141,12 +141,12 @@ scitex/ai/utils/_merge_labels.py,sha256=XjGGIVF5OJ2uciz_K-ByISGbKCYyTRDDvBt1xGCc
|
|
|
141
141
|
scitex/ai/utils/_sliding_window_data_augmentation.py,sha256=80uSbUnt8LDMmxzRmjPoYGtUOb4GP8EejJ_E30RCPys,294
|
|
142
142
|
scitex/ai/utils/_under_sample.py,sha256=8BfDaou3MR890wNCV_spdrxerAjSHpBZVxxsF0t-t-0,1197
|
|
143
143
|
scitex/ai/utils/_verify_n_gpus.py,sha256=FEmnwsSNzNIdTPbftbFP68yqKtwpiPtwDlxIivhLICg,438
|
|
144
|
-
scitex/ai/utils/grid_search.py,sha256=
|
|
144
|
+
scitex/ai/utils/grid_search.py,sha256=XJ-cEsswH4B5BtmwQKQVZXc9kwFnK0Uo7FmzsEFvTMc,4646
|
|
145
145
|
scitex/benchmark/__init__.py,sha256=F1jekkZkVccR1UWBCImfmDgzrmLpW9jFV3zgbODyLrg,984
|
|
146
146
|
scitex/benchmark/benchmark.py,sha256=5WEubBdW4jqZAqd1AFrlDeKjTg15DvUc7wTjtNgL8Aw,10849
|
|
147
147
|
scitex/benchmark/monitor.py,sha256=ge7eLEl3mtLprdtIT4liWqim9cquMekgQY4xyaVlTRI,11609
|
|
148
148
|
scitex/benchmark/profiler.py,sha256=aC8Cb_AZdtTS2T-HWj3srUk-unGpZ_y4hz-6K387jcw,8633
|
|
149
|
-
scitex/browser/ARCHITECTURE_PROPOSAL.md,sha256=
|
|
149
|
+
scitex/browser/ARCHITECTURE_PROPOSAL.md,sha256=bf2M9VDCiSWLH6rFSIPopLospRAkJHj5YKPGMHcGl4w,24252
|
|
150
150
|
scitex/browser/INTERACTIVE_COLLABORATION.md,sha256=83c4vTgC1QSi1uDRZ9cX91bRFlFhMiN7JbsGPMbV74M,28841
|
|
151
151
|
scitex/browser/README.md,sha256=xpYYwib632qOyLCeAIBNtwE2o8frDiLXTyacw2fAz6k,4436
|
|
152
152
|
scitex/browser/SAFE_IMPLEMENTATION_PLAN.md,sha256=XNSAYZTJkxrkUFAItbK17YnMZKUoZAKQMU1IX64nt5w,10805
|
|
@@ -480,12 +480,13 @@ scitex/logging/_handlers.py,sha256=FI1QoP20aTQYMj0LgdYm9cyCboESpmm_zO9aIK12Sok,1
|
|
|
480
480
|
scitex/logging/_levels.py,sha256=ptKyRpbzsuCBO9z9CmfhM31BvZ9o_t-TGokzsupQcfk,871
|
|
481
481
|
scitex/logging/_logger.py,sha256=h0qMLHYKBt_ibgG4l4vgi2OAtjKHADla_cueNcM0cks,5070
|
|
482
482
|
scitex/logging/_print_capture.py,sha256=i6try-vVjmdlgIiw1_mtDor0Sl9MW8CjcqIacyhfx9s,2603
|
|
483
|
+
scitex/ml/__init__.py,sha256=Pn2HsGRzbt1sfKWVjx4OmEbym7j4uBwrP6lqR0YFDfE,673
|
|
483
484
|
scitex/nn/_AxiswiseDropout.py,sha256=JaLHFmwCGATil7QK29MGK3PNFCzbD86A0joK03InWy0,812
|
|
484
485
|
scitex/nn/_BNet.py,sha256=_fltzWo1O1Xxu_UVk9bzjKPf56jGExO9Lr6EbjWICrU,3662
|
|
485
486
|
scitex/nn/_BNet_Res.py,sha256=PWh_PMOhwxanT8JMPYax9hmd5EAqoEt2JUbo6t66Oh0,5024
|
|
486
487
|
scitex/nn/_ChannelGainChanger.py,sha256=Vq62RKHiCL16DwZQiCDDGOnXa8h7x_6ii2qAKfi6Utk,1000
|
|
487
488
|
scitex/nn/_DropoutChannels.py,sha256=HXkDSyAkyAWhmiqBtTQt6Yn1FPLLY63D9mKRVCqLofA,1327
|
|
488
|
-
scitex/nn/_Filters.py,sha256=
|
|
489
|
+
scitex/nn/_Filters.py,sha256=0hCbyJttMhdOLEre4rh8_HX1PbFevTF0lI6NIuckHt8,15727
|
|
489
490
|
scitex/nn/_FreqGainChanger.py,sha256=RHlWgmWrl16_EmmEbYqGaiqF4nzpwa3_AyG_Qms8NAQ,3121
|
|
490
491
|
scitex/nn/_GaussianFilter.py,sha256=roVPYZVfjqP8hTZt4OMY4dBw2djdoArC8aowhsHL5aA,1326
|
|
491
492
|
scitex/nn/_Hilbert.py,sha256=KpQ0z_rVvL0mfhBHJ2uIDlKsLu_cHQkcvGXrLLkCawo,2775
|
|
@@ -526,7 +527,7 @@ scitex/pd/_from_xyz.py,sha256=tyYWDBL3VlHa2degHQ3LJpoqygBBIE9ONv3Qqgdlb2Q,2056
|
|
|
526
527
|
scitex/pd/_get_unique.py,sha256=a2zu2a94DqnuUbkAqQc4BA-_92zN0PryNFgS-BaW0RU,3053
|
|
527
528
|
scitex/pd/_ignore_SettingWithCopyWarning.py,sha256=aNZfIs2dsYzswq7Cz0CICq9SwRXtb8prFKRx2Km1DCk,913
|
|
528
529
|
scitex/pd/_melt_cols.py,sha256=AhZdG6Mlp7aKSh1HZnTlp-z81ILpQxNI0398kvzPiGM,2535
|
|
529
|
-
scitex/pd/_merge_columns.py,sha256=
|
|
530
|
+
scitex/pd/_merge_columns.py,sha256=uLpEXXEXKh917UvIB12hXKLD5XzAUMPjVzySLxqN7ms,6197
|
|
530
531
|
scitex/pd/_mv.py,sha256=WpJCZIdARVe1v2xGHdJnFDAyCZJHYCvrzCp0qJ_NwRU,1705
|
|
531
532
|
scitex/pd/_replace.py,sha256=nGUYJ09MOEB1r4SswoSsbZnzBIHMjSGmHR8I38J69Pc,2032
|
|
532
533
|
scitex/pd/_round.py,sha256=0xSpB-DV2M9kEStUUrPL3OS2QvirL3Yj1pyeArSLMwo,2969
|
|
@@ -535,7 +536,7 @@ scitex/pd/_sort.py,sha256=lqA7e9eiQvPkT5CKtuF_RLwzf4QIAXqe5Lqrl7WivH4,2609
|
|
|
535
536
|
scitex/pd/_to_numeric.py,sha256=_0PzQR2j5_xHgxMH9b2gpZFg2PDWI3sNomxDFWWHTqo,1796
|
|
536
537
|
scitex/pd/_to_xy.py,sha256=LlAnNeZjXqdu_QmNE8_mQh4cjRWZp36hy4avXucgjnA,1866
|
|
537
538
|
scitex/pd/_to_xyz.py,sha256=WdtHIcAmwM7MM_2yP4MErdLrJ32XWyrbB2HuvYvZahU,3243
|
|
538
|
-
scitex/plt/KNOWN_ISSUES.md,sha256=
|
|
539
|
+
scitex/plt/KNOWN_ISSUES.md,sha256=5ct91R_Sv0jPe4UjWTbbblKtVY_y2T-1YRQ1Ln_KW3A,2227
|
|
539
540
|
scitex/plt/README.md,sha256=mQUuI5hzYogxPx19TBc0LjcMeleKXdgqFTfjsoHxJNg,58734
|
|
540
541
|
scitex/plt/TODO.md,sha256=_OYf_Hh5PL__8lCzOUhdyiktXrXbSNxh1-sTWFTEhuc,166
|
|
541
542
|
scitex/plt/__init__.py,sha256=DvsW1ikUFKnmYdyTq0TmwjKpf_mqmrBLV26vyPFM0NM,4518
|
|
@@ -673,10 +674,6 @@ scitex/project/validators.py,sha256=uHvpTyaM4gFBFfP4QrLcYP4ujqWg3TLBZ6BOdAOMHcM,
|
|
|
673
674
|
scitex/repro/__init__.py,sha256=cgIAyOS8hYIQmlw1_qJnAXp6A0WlNtWMuJW3cVeIQ74,2460
|
|
674
675
|
scitex/repro/_gen_ID.py,sha256=xaTJFFJQ8NAgCyiSUr5aguyJhnbMPe7MHReb5jt-vfg,1545
|
|
675
676
|
scitex/repro/_gen_timestamp.py,sha256=dZvoO1IK24lkQC0-urkCDyiV3VOvePTv6wsaCDsmMIw,798
|
|
676
|
-
scitex/repro_rng/README.md,sha256=Gm89pgnk7cre_syWxnf8RUztUdNArObPbRJ37d9z9JQ,5558
|
|
677
|
-
scitex/repro_rng/_RandomStateManager.py,sha256=0oG-eCf2UwOjeVrfSXoVrOi6ZuUCea3vdLMfXky1uis,17931
|
|
678
|
-
scitex/repro_rng/_RandomStateManager_v01-no-verbose-options.py,sha256=hZGUUGoHOM9f9QysfSBBSQrObw4-_NKfJdUfFL6tumk,11916
|
|
679
|
-
scitex/repro_rng/__init__.py,sha256=KSN9aNRWh6YStVbYNnF-r1CZ8yK_TIiAIDeQ8TGxelQ,1008
|
|
680
677
|
scitex/reproduce/__init__.py,sha256=xupfIx7u63UxKbH3lC1PwYKkX_lqeGEeE9KeicGhVKw,761
|
|
681
678
|
scitex/reproduce/_hash_array.py,sha256=y2YFVnVJR50QumzOoPlPi1ULasJtiJFyga388x1gQtI,596
|
|
682
679
|
scitex/resource/README.md,sha256=UO1_5-fXqCQkSd1VNmh1UKE_VUzaMLicQRbqrM7yQyg,2960
|
|
@@ -689,6 +686,10 @@ scitex/resource/_get_specs/info.yaml,sha256=EHyU3KzVZzonEWmfnWwfY7d_2nNjfQNMNAzY
|
|
|
689
686
|
scitex/resource/_get_specs/specs.yaml,sha256=ynUaIe_ntbDYZxJ1zNlEk5rC-BIIKbuB7bopJawLzvU,3450
|
|
690
687
|
scitex/resource/_utils/__init__.py,sha256=96h3EiHpNFvqKiWoIlR5_uB7KYceKjyLRlbryUHTtkk,1132
|
|
691
688
|
scitex/resource/_utils/_get_env_info.py,sha256=Yn9CkocGzWq503U5VKdExxT_ZBNqfjepi9A9c2DXJSg,15626
|
|
689
|
+
scitex/rng/README.md,sha256=Gm89pgnk7cre_syWxnf8RUztUdNArObPbRJ37d9z9JQ,5558
|
|
690
|
+
scitex/rng/_RandomStateManager.py,sha256=0oG-eCf2UwOjeVrfSXoVrOi6ZuUCea3vdLMfXky1uis,17931
|
|
691
|
+
scitex/rng/_RandomStateManager_v01-no-verbose-options.py,sha256=hZGUUGoHOM9f9QysfSBBSQrObw4-_NKfJdUfFL6tumk,11916
|
|
692
|
+
scitex/rng/__init__.py,sha256=KSN9aNRWh6YStVbYNnF-r1CZ8yK_TIiAIDeQ8TGxelQ,1008
|
|
692
693
|
scitex/scholar/.gitignore,sha256=oYROO1p7Mia9ftRowaRu3BVNm7jdMY9O4Ro1RSgSC80,381
|
|
693
694
|
scitex/scholar/CLAUDE.md,sha256=LhHw4fFEfSJNPqDTgGpE38s_ohhjY2kEXTpJOj6SPSo,14947
|
|
694
695
|
scitex/scholar/README.md,sha256=AbE7t0qIKQY11ZSGkeQXNP_qA088q-2t-oQ3W5bDvxI,3799
|
|
@@ -2866,7 +2867,7 @@ scitex/types/_is_listed_X.py,sha256=kQC_-x2OpnQN5LXUd_Ivv6R952LTCH51_WE7SeVvqZg,
|
|
|
2866
2867
|
scitex/utils/__init__.py,sha256=gzlFQ0VTvug746_rucreyaqKzFvhf3bFWbN2n2lmsc4,512
|
|
2867
2868
|
scitex/utils/_compress_hdf5.py,sha256=_pRXAD6lAPSVDvsY8r4FmaOxElQr-335k2j_QNl1xA8,4598
|
|
2868
2869
|
scitex/utils/_email.py,sha256=-iM5A8zjC2GpOTPqV_M1TZS2fH3R-LFDDzss8Qqka44,4570
|
|
2869
|
-
scitex/utils/_grid.py,sha256
|
|
2870
|
+
scitex/utils/_grid.py,sha256=7_cf2R7-frK2Htu4Dygu9cC_gFDclBh87-whKF79R2Q,4699
|
|
2870
2871
|
scitex/utils/_notify.py,sha256=I_L3zRY6oBcjD1GxrTrzkgo-fRES-fbzQFRA8jeqh54,7009
|
|
2871
2872
|
scitex/utils/_search.py,sha256=IZ4I1sjiwCURw0yjAu9MO7pYRoQuh80urUyBFRQU8_k,3948
|
|
2872
2873
|
scitex/utils/_verify_scitex_format.py,sha256=U0LVfbjeOZ9knxMeqef3rxaHvBBrTbUEg5_wGbJTn9w,17535
|
|
@@ -2919,8 +2920,8 @@ scitex/writer/utils/__init__.py,sha256=wizvQZbOWHsNnkdDsB8J4-lPInRM3gDdwOCRg1fLI
|
|
|
2919
2920
|
scitex/writer/utils/_parse_latex_logs.py,sha256=5prdAK-ZXV61S_B791Md_uVgJQqeZeDkyOyfZQJ4LC4,3146
|
|
2920
2921
|
scitex/writer/utils/_parse_script_args.py,sha256=vVMQE-AHCs2Q2uVQDuZVN8N3Eft0sxuPtNmnyPXVgnc,4625
|
|
2921
2922
|
scitex/writer/utils/_watch.py,sha256=qSBbwbeCPmXEWXn-ozCrar43rp664Wo65JzwIMWx7wE,2575
|
|
2922
|
-
scitex-2.1.
|
|
2923
|
-
scitex-2.1.
|
|
2924
|
-
scitex-2.1.
|
|
2925
|
-
scitex-2.1.
|
|
2926
|
-
scitex-2.1.
|
|
2923
|
+
scitex-2.1.2.dist-info/METADATA,sha256=pcAgGfMo_5SJv4mzBvmUlliE_y8nkrcvzo58P-20PSs,26478
|
|
2924
|
+
scitex-2.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
2925
|
+
scitex-2.1.2.dist-info/entry_points.txt,sha256=jmgM0XEEIfCoMvwDSUNwRHBHaX_cfcJWQgi-lFc-BNU,48
|
|
2926
|
+
scitex-2.1.2.dist-info/licenses/LICENSE,sha256=3_CIi-7xCaNza04OTL6-hRCOCmJJsDUymdVOy87p85U,1093
|
|
2927
|
+
scitex-2.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|