bdext 0.1.69__tar.gz → 0.1.70__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.
- {bdext-0.1.69 → bdext-0.1.70}/PKG-INFO +1 -1
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/dl_model.py +16 -24
- {bdext-0.1.69 → bdext-0.1.70}/bdext.egg-info/PKG-INFO +1 -1
- {bdext-0.1.69 → bdext-0.1.70}/setup.py +1 -1
- {bdext-0.1.69 → bdext-0.1.70}/README.md +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/__init__.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/bdeissct_model.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/estimator.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/model_serializer.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/scaler_fitting.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/sumstat_checker.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/training.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/tree_encoder.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdeissct_dl/tree_manager.py +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdext.egg-info/SOURCES.txt +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdext.egg-info/dependency_links.txt +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdext.egg-info/entry_points.txt +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdext.egg-info/requires.txt +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/bdext.egg-info/top_level.txt +0 -0
- {bdext-0.1.69 → bdext-0.1.70}/setup.cfg +0 -0
|
@@ -4,17 +4,9 @@ from tensorflow.python.keras.utils.generic_utils import register_keras_serializa
|
|
|
4
4
|
from bdeissct_dl.bdeissct_model import F_S, UPSILON, REPRODUCTIVE_NUMBER, \
|
|
5
5
|
INFECTION_DURATION, X_S, X_C, RHO, INCUBATION_PERIOD
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
from collections import defaultdict
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
REPRODUCTIVE_NUMBER: 1,
|
|
11
|
-
INFECTION_DURATION: 1,
|
|
12
|
-
INCUBATION_PERIOD: 1,
|
|
13
|
-
F_S: 200, # as it is a value between 0 and 0.5, we multiply by 200 to scale it to [0, 100]
|
|
14
|
-
UPSILON: 100,
|
|
15
|
-
X_C: 1,
|
|
16
|
-
X_S: 1
|
|
17
|
-
}
|
|
9
|
+
LEARNING_RATE = 0.001
|
|
18
10
|
|
|
19
11
|
@register_keras_serializable(package="bdeissct_dl", name="half_sigmoid")
|
|
20
12
|
def half_sigmoid(x):
|
|
@@ -26,16 +18,17 @@ def relu_plus_one(x):
|
|
|
26
18
|
|
|
27
19
|
|
|
28
20
|
|
|
29
|
-
LOSS_FUNCTIONS =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
LOSS_FUNCTIONS = defaultdict(lambda: "mean_squared_error")
|
|
22
|
+
LOSS_FUNCTIONS.update({
|
|
23
|
+
REPRODUCTIVE_NUMBER: "mean_squared_error",
|
|
24
|
+
INFECTION_DURATION: "mean_squared_error",
|
|
25
|
+
INCUBATION_PERIOD: "mean_squared_error",
|
|
26
|
+
UPSILON: 'mean_squared_error',
|
|
27
|
+
RHO: 'mean_squared_error',
|
|
28
|
+
X_C: "mean_squared_error",
|
|
29
|
+
F_S: 'mean_squared_error',
|
|
30
|
+
X_S: "mean_squared_error",
|
|
31
|
+
})
|
|
39
32
|
|
|
40
33
|
|
|
41
34
|
def build_model(target_columns, n_x, optimizer=None, metrics=None):
|
|
@@ -63,11 +56,11 @@ def build_model(target_columns, n_x, optimizer=None, metrics=None):
|
|
|
63
56
|
outputs = {}
|
|
64
57
|
|
|
65
58
|
if REPRODUCTIVE_NUMBER in target_columns:
|
|
66
|
-
outputs[REPRODUCTIVE_NUMBER] = tf.keras.layers.Dense(1, activation="
|
|
59
|
+
outputs[REPRODUCTIVE_NUMBER] = tf.keras.layers.Dense(1, activation="relu", name=REPRODUCTIVE_NUMBER)(x) # positive values only
|
|
67
60
|
if INFECTION_DURATION in target_columns:
|
|
68
|
-
outputs[INFECTION_DURATION] = tf.keras.layers.Dense(1, activation="
|
|
61
|
+
outputs[INFECTION_DURATION] = tf.keras.layers.Dense(1, activation="relu", name=INFECTION_DURATION)(x) # positive values only
|
|
69
62
|
if INCUBATION_PERIOD in target_columns:
|
|
70
|
-
outputs[INCUBATION_PERIOD] = tf.keras.layers.Dense(1, activation="
|
|
63
|
+
outputs[INCUBATION_PERIOD] = tf.keras.layers.Dense(1, activation="relu", name=INCUBATION_PERIOD)(x) # positive values only
|
|
71
64
|
if F_S in target_columns:
|
|
72
65
|
outputs[F_S] = tf.keras.layers.Dense(1, activation=half_sigmoid, name="FS_logits")(x)
|
|
73
66
|
if X_S in target_columns:
|
|
@@ -84,6 +77,5 @@ def build_model(target_columns, n_x, optimizer=None, metrics=None):
|
|
|
84
77
|
|
|
85
78
|
model.compile(optimizer=optimizer,
|
|
86
79
|
loss={col: LOSS_FUNCTIONS[col] for col in outputs.keys()},
|
|
87
|
-
loss_weights={col: LOSS_WEIGHTS[col] for col in outputs.keys()},
|
|
88
80
|
metrics=metrics)
|
|
89
81
|
return model
|
|
@@ -21,7 +21,7 @@ setup(
|
|
|
21
21
|
'Topic :: Software Development',
|
|
22
22
|
'Topic :: Software Development :: Libraries :: Python Modules',
|
|
23
23
|
],
|
|
24
|
-
version='0.1.
|
|
24
|
+
version='0.1.70',
|
|
25
25
|
description='Estimation of BDEISS-CT parameters from phylogenetic trees.',
|
|
26
26
|
author='Anna Zhukova',
|
|
27
27
|
author_email='anna.zhukova@pasteur.fr',
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|