aspect-stable 0.7.dev1__tar.gz → 0.7.dev2__tar.gz
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.
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/PKG-INFO +1 -1
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/pyproject.toml +1 -1
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/__init__.py +6 -4
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/aspect.toml +8 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/io.py +1 -1
- aspect_stable-0.7.dev2/src/aspect/models/classifier-v12-MLP_min-max-log_12-pixels.joblib +0 -0
- aspect_stable-0.7.dev2/src/aspect/models/classifier-v12-MLP_min-max-log_12-pixels.toml +30 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/workflow.py +8 -3
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect_stable.egg-info/PKG-INFO +1 -1
- aspect_stable-0.7.dev2/src/aspect_stable.egg-info/SOURCES.txt +22 -0
- aspect_stable-0.7.dev1/src/aspect_stable.egg-info/SOURCES.txt +0 -20
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/README.rst +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/setup.cfg +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/changelog.txt +0 -0
- /aspect_stable-0.7.dev1/src/aspect/models/aspect_min-max-log_12_pixels_v10_model.joblib → /aspect_stable-0.7.dev2/src/aspect/models/classifier-v10-RF_min-max-log_12-pixels.joblib +0 -0
- /aspect_stable-0.7.dev1/src/aspect/models/aspect_min-max-log_12_pixels_v10_model.toml → /aspect_stable-0.7.dev2/src/aspect/models/classifier-v10-RF_min-max-log_12-pixels.toml +0 -0
- /aspect_stable-0.7.dev1/src/aspect/models/aspect_min-max-log_12_pixels_v12_randomforest_model.joblib → /aspect_stable-0.7.dev2/src/aspect/models/classifier-v12-RF_min-max-log_12-pixels.joblib +0 -0
- /aspect_stable-0.7.dev1/src/aspect/models/aspect_min-max-log_12_pixels_v12_randomforest_model.toml → /aspect_stable-0.7.dev2/src/aspect/models/classifier-v12-RF_min-max-log_12-pixels.toml +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/plots.py +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/tools.py +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect/trainer.py +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect_stable.egg-info/dependency_links.txt +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect_stable.egg-info/requires.txt +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect_stable.egg-info/top_level.txt +0 -0
- {aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/tests/test_tools.py +0 -0
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from pathlib import Path
|
|
3
3
|
from aspect.io import cfg, load_cfg, load_model
|
|
4
|
-
|
|
5
|
-
from aspect.plots import decision_matrix_plot
|
|
6
|
-
from aspect.trainer import components_trainer
|
|
4
|
+
|
|
7
5
|
|
|
8
6
|
try:
|
|
9
7
|
import tomllib
|
|
@@ -23,4 +21,8 @@ with open(_conf_path, mode="rb") as fp:
|
|
|
23
21
|
__version__ = _setup_cfg['metadata']['version']
|
|
24
22
|
|
|
25
23
|
# Invert the dictionary of categories number
|
|
26
|
-
cfg['number_shape'] = {v: k for k, v in cfg['shape_number'].items()}
|
|
24
|
+
cfg['number_shape'] = {v: k for k, v in cfg['shape_number'].items()}
|
|
25
|
+
|
|
26
|
+
from aspect.workflow import ComponentsDetector, model_mgr, CHOICE_DM, TIME_DM
|
|
27
|
+
from aspect.plots import decision_matrix_plot
|
|
28
|
+
from aspect.trainer import components_trainer
|
|
@@ -3,6 +3,12 @@ name = 'aspect-stable'
|
|
|
3
3
|
version = '0.7.dev1'
|
|
4
4
|
category_order = ['undefined', 'white-noise', 'continuum', 'emission', 'cosmic-ray', 'broad', 'doublet-em', 'peak',
|
|
5
5
|
'absorption', 'dead-pixel', 'doublet-abs', 'trough']
|
|
6
|
+
default_model = 'classifier_v10_RF'
|
|
7
|
+
|
|
8
|
+
[models]
|
|
9
|
+
classifier_v10_RF = 'classifier-v10-RF_min-max-log_12-pixels.joblib'
|
|
10
|
+
classifier_v12_RF = 'classifier-v12-RF_min-max-log_12-pixels.joblib'
|
|
11
|
+
classifier_v12_MLP ='classifier-v12-MLP_min-max-log_12-pixels.joblib'
|
|
6
12
|
|
|
7
13
|
[shape_number]
|
|
8
14
|
undefined = 0
|
|
@@ -32,6 +38,8 @@ dead-pixel = '#8788EE' # Purple
|
|
|
32
38
|
trough = "#33937F" # Dark Emerald
|
|
33
39
|
doublet-abs = '#A330C9' # Dark magenta
|
|
34
40
|
|
|
41
|
+
|
|
42
|
+
|
|
35
43
|
[decision_matrices]
|
|
36
44
|
|
|
37
45
|
# Orange Blue
|
|
@@ -23,7 +23,7 @@ with open(_CONF_FILE, mode="rb") as fp:
|
|
|
23
23
|
cfg = tomllib.load(fp)
|
|
24
24
|
|
|
25
25
|
# Default feature detection model
|
|
26
|
-
DEFAULT_MODEL_ADDRESS = Path(_MODEL_FOLDER/'
|
|
26
|
+
# DEFAULT_MODEL_ADDRESS = Path(_MODEL_FOLDER/'classifier-v10-RF_min-max-log_12-pixels.joblib')
|
|
27
27
|
|
|
28
28
|
def read_trained_model(file_address):
|
|
29
29
|
|
|
Binary file
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
[resuts]
|
|
2
|
+
f1 = 0.984128204164804
|
|
3
|
+
precision = 0.9842391985355154
|
|
4
|
+
Recall = 0.984132699154136
|
|
5
|
+
confusion_matrix = [ [ "0.12191329812026794", "0.0030832019843171745", "0.0", "0.0", "3.2940192140140753e-06", "0.0", "0.0", "0.0",], [ "0.0025874520926080563", "0.12195776737965712", "0.00030799079651031605", "2.799916331911964e-05", "3.2940192140140753e-06", "9.717356681341523e-05", "9.882057642042226e-06", "8.235048035035188e-06",], [ "0.0", "0.00028328565240521046", "0.12127919942157023", "0.0034373090498236876", "0.0", "0.0", "0.0", "0.0",], [ "0.0", "9.882057642042226e-06", "0.0007889176017563711", "0.12420099446440071", "0.0", "0.0", "0.0", "0.0",], [ "0.0", "0.0", "0.0", "0.0", "0.12499979412379912", "0.0", "0.0", "0.0",], [ "0.0", "5.2704307424225205e-05", "0.0", "0.0", "0.0", "0.12098438470191597", "0.003962705114458932", "0.0",], [ "0.0", "1.6470096070070377e-06", "0.0", "0.0", "0.0", "0.0012006700035081305", "0.123799124120291", "0.0",], [ "0.0", "1.6470096070070377e-06", "0.0", "0.0", "0.0", "0.0", "0.0", "0.12499814711419212",],]
|
|
6
|
+
fit_time = "46.44"
|
|
7
|
+
|
|
8
|
+
[properties]
|
|
9
|
+
box_size = 12
|
|
10
|
+
sample_size = 650000
|
|
11
|
+
test_sample_size_fraction = 0.1
|
|
12
|
+
categories = [ "white-noise", "continuum", "cosmic-ray", "emission", "doublet-em", "dead-pixel", "absorption", "doublet-abs",]
|
|
13
|
+
scale = "min-max-log"
|
|
14
|
+
|
|
15
|
+
[properties.estimator]
|
|
16
|
+
module = "sklearn.neural_network"
|
|
17
|
+
class = "MLPClassifier"
|
|
18
|
+
|
|
19
|
+
[properties.estimator_params]
|
|
20
|
+
hidden_layer_sizes = [ 256, 128, 64,]
|
|
21
|
+
activation = "relu"
|
|
22
|
+
solver = "adam"
|
|
23
|
+
learning_rate_init = 0.001
|
|
24
|
+
max_iter = 200
|
|
25
|
+
early_stopping = true
|
|
26
|
+
validation_fraction = 0.1
|
|
27
|
+
n_iter_no_change = 15
|
|
28
|
+
batch_size = 1024
|
|
29
|
+
random_state = 42
|
|
30
|
+
verbose = true
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import numpy as np
|
|
2
|
-
from aspect.io import read_trained_model,
|
|
2
|
+
from aspect.io import read_trained_model, cfg, Aspect_Error, _MODEL_FOLDER
|
|
3
3
|
from aspect.tools import monte_carlo_expansion, white_noise_scale, scale_min_max
|
|
4
4
|
from aspect.plots import plot_comps_detect
|
|
5
5
|
# from matplotlib import pyplot as plt
|
|
@@ -8,7 +8,7 @@ from pathlib import Path
|
|
|
8
8
|
|
|
9
9
|
CHOICE_DM = np.array(cfg['decision_matrices']['choice'])
|
|
10
10
|
TIME_DM = np.array(cfg['decision_matrices']['time'])
|
|
11
|
-
|
|
11
|
+
DEFAULT_MODEL_ADDRESS = _MODEL_FOLDER/cfg['models'][cfg['metadata']['default_model']]
|
|
12
12
|
|
|
13
13
|
def flux_to_image(flux_array, approximation, model_2D):
|
|
14
14
|
|
|
@@ -164,7 +164,12 @@ class ModelManager:
|
|
|
164
164
|
|
|
165
165
|
return
|
|
166
166
|
|
|
167
|
-
def reload_model(self, model_address=None, n_jobs=None):
|
|
167
|
+
def reload_model(self, model_address=None, model_key=None, n_jobs=None):
|
|
168
|
+
|
|
169
|
+
# Use model address or model reference otherwise reload the model
|
|
170
|
+
if (model_address is None) and (model_key is not None):
|
|
171
|
+
assert model_key in cfg['models'], 'Input reference not found in aspect configuration'
|
|
172
|
+
model_address = _MODEL_FOLDER / cfg['models'][model_key]
|
|
168
173
|
|
|
169
174
|
# Call the constructor again
|
|
170
175
|
self.__init__(model_address, n_jobs)
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
README.rst
|
|
2
|
+
pyproject.toml
|
|
3
|
+
src/aspect/__init__.py
|
|
4
|
+
src/aspect/aspect.toml
|
|
5
|
+
src/aspect/changelog.txt
|
|
6
|
+
src/aspect/io.py
|
|
7
|
+
src/aspect/plots.py
|
|
8
|
+
src/aspect/tools.py
|
|
9
|
+
src/aspect/trainer.py
|
|
10
|
+
src/aspect/workflow.py
|
|
11
|
+
src/aspect/models/classifier-v10-RF_min-max-log_12-pixels.joblib
|
|
12
|
+
src/aspect/models/classifier-v10-RF_min-max-log_12-pixels.toml
|
|
13
|
+
src/aspect/models/classifier-v12-MLP_min-max-log_12-pixels.joblib
|
|
14
|
+
src/aspect/models/classifier-v12-MLP_min-max-log_12-pixels.toml
|
|
15
|
+
src/aspect/models/classifier-v12-RF_min-max-log_12-pixels.joblib
|
|
16
|
+
src/aspect/models/classifier-v12-RF_min-max-log_12-pixels.toml
|
|
17
|
+
src/aspect_stable.egg-info/PKG-INFO
|
|
18
|
+
src/aspect_stable.egg-info/SOURCES.txt
|
|
19
|
+
src/aspect_stable.egg-info/dependency_links.txt
|
|
20
|
+
src/aspect_stable.egg-info/requires.txt
|
|
21
|
+
src/aspect_stable.egg-info/top_level.txt
|
|
22
|
+
tests/test_tools.py
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
README.rst
|
|
2
|
-
pyproject.toml
|
|
3
|
-
src/aspect/__init__.py
|
|
4
|
-
src/aspect/aspect.toml
|
|
5
|
-
src/aspect/changelog.txt
|
|
6
|
-
src/aspect/io.py
|
|
7
|
-
src/aspect/plots.py
|
|
8
|
-
src/aspect/tools.py
|
|
9
|
-
src/aspect/trainer.py
|
|
10
|
-
src/aspect/workflow.py
|
|
11
|
-
src/aspect/models/aspect_min-max-log_12_pixels_v10_model.joblib
|
|
12
|
-
src/aspect/models/aspect_min-max-log_12_pixels_v10_model.toml
|
|
13
|
-
src/aspect/models/aspect_min-max-log_12_pixels_v12_randomforest_model.joblib
|
|
14
|
-
src/aspect/models/aspect_min-max-log_12_pixels_v12_randomforest_model.toml
|
|
15
|
-
src/aspect_stable.egg-info/PKG-INFO
|
|
16
|
-
src/aspect_stable.egg-info/SOURCES.txt
|
|
17
|
-
src/aspect_stable.egg-info/dependency_links.txt
|
|
18
|
-
src/aspect_stable.egg-info/requires.txt
|
|
19
|
-
src/aspect_stable.egg-info/top_level.txt
|
|
20
|
-
tests/test_tools.py
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aspect_stable-0.7.dev1 → aspect_stable-0.7.dev2}/src/aspect_stable.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|