stouputils 1.14.3__py3-none-any.whl → 1.15.1__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.
Files changed (80) hide show
  1. stouputils/data_science/config/get.py +51 -51
  2. stouputils/data_science/data_processing/image/__init__.py +66 -66
  3. stouputils/data_science/data_processing/image/auto_contrast.py +79 -79
  4. stouputils/data_science/data_processing/image/axis_flip.py +58 -58
  5. stouputils/data_science/data_processing/image/bias_field_correction.py +74 -74
  6. stouputils/data_science/data_processing/image/binary_threshold.py +73 -73
  7. stouputils/data_science/data_processing/image/blur.py +59 -59
  8. stouputils/data_science/data_processing/image/brightness.py +54 -54
  9. stouputils/data_science/data_processing/image/canny.py +110 -110
  10. stouputils/data_science/data_processing/image/clahe.py +92 -92
  11. stouputils/data_science/data_processing/image/common.py +30 -30
  12. stouputils/data_science/data_processing/image/contrast.py +53 -53
  13. stouputils/data_science/data_processing/image/curvature_flow_filter.py +74 -74
  14. stouputils/data_science/data_processing/image/denoise.py +378 -378
  15. stouputils/data_science/data_processing/image/histogram_equalization.py +123 -123
  16. stouputils/data_science/data_processing/image/invert.py +64 -64
  17. stouputils/data_science/data_processing/image/laplacian.py +60 -60
  18. stouputils/data_science/data_processing/image/median_blur.py +52 -52
  19. stouputils/data_science/data_processing/image/noise.py +59 -59
  20. stouputils/data_science/data_processing/image/normalize.py +65 -65
  21. stouputils/data_science/data_processing/image/random_erase.py +66 -66
  22. stouputils/data_science/data_processing/image/resize.py +69 -69
  23. stouputils/data_science/data_processing/image/rotation.py +80 -80
  24. stouputils/data_science/data_processing/image/salt_pepper.py +68 -68
  25. stouputils/data_science/data_processing/image/sharpening.py +55 -55
  26. stouputils/data_science/data_processing/image/shearing.py +64 -64
  27. stouputils/data_science/data_processing/image/threshold.py +64 -64
  28. stouputils/data_science/data_processing/image/translation.py +71 -71
  29. stouputils/data_science/data_processing/image/zoom.py +83 -83
  30. stouputils/data_science/data_processing/image_augmentation.py +118 -118
  31. stouputils/data_science/data_processing/image_preprocess.py +183 -183
  32. stouputils/data_science/data_processing/prosthesis_detection.py +359 -359
  33. stouputils/data_science/data_processing/technique.py +481 -481
  34. stouputils/data_science/dataset/__init__.py +45 -45
  35. stouputils/data_science/dataset/dataset.py +292 -292
  36. stouputils/data_science/dataset/dataset_loader.py +135 -135
  37. stouputils/data_science/dataset/grouping_strategy.py +296 -296
  38. stouputils/data_science/dataset/image_loader.py +100 -100
  39. stouputils/data_science/dataset/xy_tuple.py +696 -696
  40. stouputils/data_science/metric_dictionnary.py +106 -106
  41. stouputils/data_science/mlflow_utils.py +206 -206
  42. stouputils/data_science/models/abstract_model.py +149 -149
  43. stouputils/data_science/models/all.py +85 -85
  44. stouputils/data_science/models/keras/all.py +38 -38
  45. stouputils/data_science/models/keras/convnext.py +62 -62
  46. stouputils/data_science/models/keras/densenet.py +50 -50
  47. stouputils/data_science/models/keras/efficientnet.py +60 -60
  48. stouputils/data_science/models/keras/mobilenet.py +56 -56
  49. stouputils/data_science/models/keras/resnet.py +52 -52
  50. stouputils/data_science/models/keras/squeezenet.py +233 -233
  51. stouputils/data_science/models/keras/vgg.py +42 -42
  52. stouputils/data_science/models/keras/xception.py +38 -38
  53. stouputils/data_science/models/keras_utils/callbacks/__init__.py +20 -20
  54. stouputils/data_science/models/keras_utils/callbacks/colored_progress_bar.py +219 -219
  55. stouputils/data_science/models/keras_utils/callbacks/learning_rate_finder.py +148 -148
  56. stouputils/data_science/models/keras_utils/callbacks/model_checkpoint_v2.py +31 -31
  57. stouputils/data_science/models/keras_utils/callbacks/progressive_unfreezing.py +249 -249
  58. stouputils/data_science/models/keras_utils/callbacks/warmup_scheduler.py +66 -66
  59. stouputils/data_science/models/keras_utils/losses/__init__.py +12 -12
  60. stouputils/data_science/models/keras_utils/losses/next_generation_loss.py +56 -56
  61. stouputils/data_science/models/keras_utils/visualizations.py +416 -416
  62. stouputils/data_science/models/sandbox.py +116 -116
  63. stouputils/data_science/range_tuple.py +234 -234
  64. stouputils/data_science/utils.py +285 -285
  65. stouputils/decorators.py +53 -39
  66. stouputils/decorators.pyi +2 -2
  67. stouputils/installer/__init__.py +18 -18
  68. stouputils/installer/linux.py +144 -144
  69. stouputils/installer/main.py +223 -223
  70. stouputils/installer/windows.py +136 -136
  71. stouputils/io.py +16 -9
  72. stouputils/parallel.py +88 -2
  73. stouputils/parallel.pyi +21 -1
  74. stouputils/print.py +229 -2
  75. stouputils/print.pyi +90 -1
  76. stouputils/py.typed +1 -1
  77. {stouputils-1.14.3.dist-info → stouputils-1.15.1.dist-info}/METADATA +1 -1
  78. {stouputils-1.14.3.dist-info → stouputils-1.15.1.dist-info}/RECORD +80 -80
  79. {stouputils-1.14.3.dist-info → stouputils-1.15.1.dist-info}/WHEEL +1 -1
  80. {stouputils-1.14.3.dist-info → stouputils-1.15.1.dist-info}/entry_points.txt +0 -0
@@ -1,56 +1,56 @@
1
-
2
- # pyright: reportUnknownMemberType=false
3
- # pyright: reportUnknownVariableType=false
4
- # pyright: reportUnknownArgumentType=false
5
- # pyright: reportMissingTypeStubs=false
6
- # pyright: reportAssignmentType=false
7
-
8
- # Imports
9
- import tensorflow as tf
10
- from keras.losses import Loss
11
-
12
-
13
- class NextGenerationLoss(Loss):
14
- """ Next Generation Loss with alpha = 2.4092.
15
-
16
- Sources:
17
- - Code: https://github.com/ZKI-PH-ImageAnalysis/Next-Generation-Loss/blob/main/NGL_torch.py
18
- - Next Generation Loss Function for Image Classification: https://arxiv.org/pdf/2404.12948
19
- """
20
-
21
- def __init__(self, alpha: float = 2.4092, name: str = "ngl_loss"):
22
- """ Initialize the Next Generation Loss.
23
-
24
- Args:
25
- alpha (float): The alpha parameter.
26
- name (str): The name of the loss function.
27
- """
28
- super().__init__(name=name)
29
- self.name: str = name
30
- """ The name of the loss function. """
31
- self.alpha: float = alpha
32
- """ The alpha parameter. """
33
-
34
- def call(self, y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor:
35
- """ Compute the NGL loss.
36
-
37
- Args:
38
- y_true (tf.Tensor): The true labels.
39
- y_pred (tf.Tensor): The predicted labels.
40
- Returns:
41
- tf.Tensor: The computed NGL loss.
42
- """
43
- # Cast to float32
44
- y_pred = tf.cast(y_pred, tf.float32)
45
- y_true = tf.cast(y_true, tf.float32)
46
-
47
- # Apply softmax to predictions
48
- y_pred = tf.nn.softmax(y_pred, axis=-1)
49
-
50
- # Compute the NGL loss using the alpha parameter (default 2.4092)
51
- loss: tf.Tensor = tf.reduce_mean(
52
- tf.math.exp(self.alpha - y_pred - y_pred * y_true) -
53
- tf.math.cos(tf.math.cos(tf.math.sin(y_pred)))
54
- )
55
- return loss
56
-
1
+
2
+ # pyright: reportUnknownMemberType=false
3
+ # pyright: reportUnknownVariableType=false
4
+ # pyright: reportUnknownArgumentType=false
5
+ # pyright: reportMissingTypeStubs=false
6
+ # pyright: reportAssignmentType=false
7
+
8
+ # Imports
9
+ import tensorflow as tf
10
+ from keras.losses import Loss
11
+
12
+
13
+ class NextGenerationLoss(Loss):
14
+ """ Next Generation Loss with alpha = 2.4092.
15
+
16
+ Sources:
17
+ - Code: https://github.com/ZKI-PH-ImageAnalysis/Next-Generation-Loss/blob/main/NGL_torch.py
18
+ - Next Generation Loss Function for Image Classification: https://arxiv.org/pdf/2404.12948
19
+ """
20
+
21
+ def __init__(self, alpha: float = 2.4092, name: str = "ngl_loss"):
22
+ """ Initialize the Next Generation Loss.
23
+
24
+ Args:
25
+ alpha (float): The alpha parameter.
26
+ name (str): The name of the loss function.
27
+ """
28
+ super().__init__(name=name)
29
+ self.name: str = name
30
+ """ The name of the loss function. """
31
+ self.alpha: float = alpha
32
+ """ The alpha parameter. """
33
+
34
+ def call(self, y_true: tf.Tensor, y_pred: tf.Tensor) -> tf.Tensor:
35
+ """ Compute the NGL loss.
36
+
37
+ Args:
38
+ y_true (tf.Tensor): The true labels.
39
+ y_pred (tf.Tensor): The predicted labels.
40
+ Returns:
41
+ tf.Tensor: The computed NGL loss.
42
+ """
43
+ # Cast to float32
44
+ y_pred = tf.cast(y_pred, tf.float32)
45
+ y_true = tf.cast(y_true, tf.float32)
46
+
47
+ # Apply softmax to predictions
48
+ y_pred = tf.nn.softmax(y_pred, axis=-1)
49
+
50
+ # Compute the NGL loss using the alpha parameter (default 2.4092)
51
+ loss: tf.Tensor = tf.reduce_mean(
52
+ tf.math.exp(self.alpha - y_pred - y_pred * y_true) -
53
+ tf.math.cos(tf.math.cos(tf.math.sin(y_pred)))
54
+ )
55
+ return loss
56
+