quadra 2.2.1__tar.gz → 2.2.3__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.
Files changed (299) hide show
  1. {quadra-2.2.1 → quadra-2.2.3}/PKG-INFO +6 -6
  2. {quadra-2.2.1 → quadra-2.2.3}/README.md +3 -3
  3. {quadra-2.2.1 → quadra-2.2.3}/pyproject.toml +3 -3
  4. {quadra-2.2.1 → quadra-2.2.3}/quadra/__init__.py +1 -1
  5. {quadra-2.2.1 → quadra-2.2.3}/quadra/main.py +3 -0
  6. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/classification/base.py +1 -5
  7. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/classification.py +0 -1
  8. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/export.py +4 -3
  9. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/models.py +0 -1
  10. {quadra-2.2.1 → quadra-2.2.3}/LICENSE +0 -0
  11. {quadra-2.2.1 → quadra-2.2.3}/quadra/callbacks/__init__.py +0 -0
  12. {quadra-2.2.1 → quadra-2.2.3}/quadra/callbacks/anomalib.py +0 -0
  13. {quadra-2.2.1 → quadra-2.2.3}/quadra/callbacks/lightning.py +0 -0
  14. {quadra-2.2.1 → quadra-2.2.3}/quadra/callbacks/mlflow.py +0 -0
  15. {quadra-2.2.1 → quadra-2.2.3}/quadra/callbacks/scheduler.py +0 -0
  16. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/__init__.py +0 -0
  17. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/caformer_m36.yaml +0 -0
  18. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/caformer_s36.yaml +0 -0
  19. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/convnextv2_base.yaml +0 -0
  20. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/convnextv2_femto.yaml +0 -0
  21. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/convnextv2_tiny.yaml +0 -0
  22. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/dino_vitb8.yaml +0 -0
  23. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/dino_vits8.yaml +0 -0
  24. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/dinov2_vitb14.yaml +0 -0
  25. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/dinov2_vits14.yaml +0 -0
  26. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/efficientnet_b0.yaml +0 -0
  27. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/efficientnet_b1.yaml +0 -0
  28. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/efficientnet_b2.yaml +0 -0
  29. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/efficientnet_b3.yaml +0 -0
  30. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/efficientnetv2_s.yaml +0 -0
  31. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/levit_128s.yaml +0 -0
  32. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/mnasnet0_5.yaml +0 -0
  33. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/resnet101.yaml +0 -0
  34. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/resnet18.yaml +0 -0
  35. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/resnet18_ssl.yaml +0 -0
  36. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/resnet50.yaml +0 -0
  37. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/smp.yaml +0 -0
  38. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/tiny_vit_21m_224.yaml +0 -0
  39. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/unetr.yaml +0 -0
  40. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/vit16_base.yaml +0 -0
  41. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/vit16_small.yaml +0 -0
  42. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/vit16_tiny.yaml +0 -0
  43. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/backbone/xcit_tiny_24_p8_224.yaml +0 -0
  44. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/callbacks/all.yaml +0 -0
  45. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/callbacks/default.yaml +0 -0
  46. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/callbacks/default_anomalib.yaml +0 -0
  47. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/config.yaml +0 -0
  48. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/core/default.yaml +0 -0
  49. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/anomaly.yaml +0 -0
  50. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/classification.yaml +0 -0
  51. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/multilabel_classification.yaml +0 -0
  52. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/segmentation.yaml +0 -0
  53. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/segmentation_multiclass.yaml +0 -0
  54. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/sklearn_classification.yaml +0 -0
  55. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/sklearn_classification_patch.yaml +0 -0
  56. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/base/ssl.yaml +0 -0
  57. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/generic/imagenette/classification/base.yaml +0 -0
  58. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/generic/imagenette/ssl/base.yaml +0 -0
  59. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/generic/mnist/anomaly/base.yaml +0 -0
  60. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/generic/mvtec/anomaly/base.yaml +0 -0
  61. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/datamodule/generic/oxford_pet/segmentation/base.yaml +0 -0
  62. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/cfa.yaml +0 -0
  63. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/cflow.yaml +0 -0
  64. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/csflow.yaml +0 -0
  65. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/draem.yaml +0 -0
  66. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/efficient_ad.yaml +0 -0
  67. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/fastflow.yaml +0 -0
  68. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/inference.yaml +0 -0
  69. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/padim.yaml +0 -0
  70. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/anomaly/patchcore.yaml +0 -0
  71. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/classification.yaml +0 -0
  72. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/classification_evaluation.yaml +0 -0
  73. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/multilabel_classification.yaml +0 -0
  74. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/sklearn_classification.yaml +0 -0
  75. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/sklearn_classification_patch.yaml +0 -0
  76. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/sklearn_classification_patch_test.yaml +0 -0
  77. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/classification/sklearn_classification_test.yaml +0 -0
  78. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/segmentation/smp.yaml +0 -0
  79. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/segmentation/smp_evaluation.yaml +0 -0
  80. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/segmentation/smp_multiclass.yaml +0 -0
  81. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/segmentation/smp_multiclass_evaluation.yaml +0 -0
  82. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/ssl/barlow.yaml +0 -0
  83. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/ssl/byol.yaml +0 -0
  84. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/ssl/dino.yaml +0 -0
  85. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/ssl/linear_eval.yaml +0 -0
  86. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/ssl/simclr.yaml +0 -0
  87. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/base/ssl/simsiam.yaml +0 -0
  88. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/custom/cls.yaml +0 -0
  89. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/default.yaml +0 -0
  90. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/imagenette/classification/default.yaml +0 -0
  91. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/imagenette/ssl/barlow.yaml +0 -0
  92. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/imagenette/ssl/byol.yaml +0 -0
  93. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/imagenette/ssl/dino.yaml +0 -0
  94. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/imagenette/ssl/simclr.yaml +0 -0
  95. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/imagenette/ssl/simsiam.yaml +0 -0
  96. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/cfa.yaml +0 -0
  97. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/cflow.yaml +0 -0
  98. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/csflow.yaml +0 -0
  99. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/draem.yaml +0 -0
  100. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/fastflow.yaml +0 -0
  101. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/inference.yaml +0 -0
  102. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/padim.yaml +0 -0
  103. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mnist/anomaly/patchcore.yaml +0 -0
  104. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/cfa.yaml +0 -0
  105. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/cflow.yaml +0 -0
  106. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/csflow.yaml +0 -0
  107. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/draem.yaml +0 -0
  108. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/efficient_ad.yaml +0 -0
  109. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/fastflow.yaml +0 -0
  110. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/inference.yaml +0 -0
  111. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/padim.yaml +0 -0
  112. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/mvtec/anomaly/patchcore.yaml +0 -0
  113. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/experiment/generic/oxford_pet/segmentation/smp.yaml +0 -0
  114. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/export/default.yaml +0 -0
  115. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/hydra/anomaly_custom.yaml +0 -0
  116. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/hydra/default.yaml +0 -0
  117. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/inference/default.yaml +0 -0
  118. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/logger/comet.yaml +0 -0
  119. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/logger/csv.yaml +0 -0
  120. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/logger/mlflow.yaml +0 -0
  121. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/logger/tensorboard.yaml +0 -0
  122. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/asl.yaml +0 -0
  123. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/barlow.yaml +0 -0
  124. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/bce.yaml +0 -0
  125. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/byol.yaml +0 -0
  126. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/cross_entropy.yaml +0 -0
  127. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/dino.yaml +0 -0
  128. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/simclr.yaml +0 -0
  129. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/simsiam.yaml +0 -0
  130. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/smp_ce.yaml +0 -0
  131. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/smp_dice.yaml +0 -0
  132. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/smp_dice_multiclass.yaml +0 -0
  133. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/smp_mcc.yaml +0 -0
  134. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/loss/vicreg.yaml +0 -0
  135. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/cfa.yaml +0 -0
  136. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/cflow.yaml +0 -0
  137. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/csflow.yaml +0 -0
  138. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/dfm.yaml +0 -0
  139. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/draem.yaml +0 -0
  140. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/efficient_ad.yaml +0 -0
  141. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/fastflow.yaml +0 -0
  142. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/padim.yaml +0 -0
  143. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/anomalib/patchcore.yaml +0 -0
  144. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/barlow.yaml +0 -0
  145. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/byol.yaml +0 -0
  146. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/classification.yaml +0 -0
  147. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/dino.yaml +0 -0
  148. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/logistic_regression.yaml +0 -0
  149. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/multilabel_classification.yaml +0 -0
  150. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/simclr.yaml +0 -0
  151. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/simsiam.yaml +0 -0
  152. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/smp.yaml +0 -0
  153. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/smp_multiclass.yaml +0 -0
  154. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/model/vicreg.yaml +0 -0
  155. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/optimizer/adam.yaml +0 -0
  156. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/optimizer/adamw.yaml +0 -0
  157. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/optimizer/default.yaml +0 -0
  158. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/optimizer/lars.yaml +0 -0
  159. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/optimizer/sgd.yaml +0 -0
  160. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/scheduler/default.yaml +0 -0
  161. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/scheduler/rop.yaml +0 -0
  162. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/scheduler/step.yaml +0 -0
  163. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/scheduler/warmrestart.yaml +0 -0
  164. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/scheduler/warmup.yaml +0 -0
  165. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/cfa.yaml +0 -0
  166. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/cflow.yaml +0 -0
  167. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/csflow.yaml +0 -0
  168. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/draem.yaml +0 -0
  169. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/efficient_ad.yaml +0 -0
  170. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/fastflow.yaml +0 -0
  171. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/inference.yaml +0 -0
  172. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/padim.yaml +0 -0
  173. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/anomalib/patchcore.yaml +0 -0
  174. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/classification.yaml +0 -0
  175. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/classification_evaluation.yaml +0 -0
  176. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/default.yaml +0 -0
  177. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/segmentation.yaml +0 -0
  178. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/segmentation_evaluation.yaml +0 -0
  179. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/sklearn_classification.yaml +0 -0
  180. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/sklearn_classification_patch.yaml +0 -0
  181. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/sklearn_classification_patch_test.yaml +0 -0
  182. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/sklearn_classification_test.yaml +0 -0
  183. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/task/ssl.yaml +0 -0
  184. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/trainer/lightning_cpu.yaml +0 -0
  185. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/trainer/lightning_gpu.yaml +0 -0
  186. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/trainer/lightning_gpu_bf16.yaml +0 -0
  187. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/trainer/lightning_gpu_fp16.yaml +0 -0
  188. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/trainer/lightning_multigpu.yaml +0 -0
  189. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/trainer/sklearn_classification.yaml +0 -0
  190. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/byol.yaml +0 -0
  191. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/byol_no_random_resize.yaml +0 -0
  192. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/default.yaml +0 -0
  193. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/default_numpy.yaml +0 -0
  194. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/default_resize.yaml +0 -0
  195. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/dino.yaml +0 -0
  196. {quadra-2.2.1 → quadra-2.2.3}/quadra/configs/transforms/linear_eval.yaml +0 -0
  197. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/__init__.py +0 -0
  198. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/anomaly.py +0 -0
  199. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/base.py +0 -0
  200. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/classification.py +0 -0
  201. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/generic/__init__.py +0 -0
  202. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/generic/imagenette.py +0 -0
  203. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/generic/mnist.py +0 -0
  204. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/generic/mvtec.py +0 -0
  205. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/generic/oxford_pet.py +0 -0
  206. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/patch.py +0 -0
  207. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/segmentation.py +0 -0
  208. {quadra-2.2.1 → quadra-2.2.3}/quadra/datamodules/ssl.py +0 -0
  209. {quadra-2.2.1 → quadra-2.2.3}/quadra/datasets/__init__.py +0 -0
  210. {quadra-2.2.1 → quadra-2.2.3}/quadra/datasets/anomaly.py +0 -0
  211. {quadra-2.2.1 → quadra-2.2.3}/quadra/datasets/classification.py +0 -0
  212. {quadra-2.2.1 → quadra-2.2.3}/quadra/datasets/patch.py +0 -0
  213. {quadra-2.2.1 → quadra-2.2.3}/quadra/datasets/segmentation.py +0 -0
  214. {quadra-2.2.1 → quadra-2.2.3}/quadra/datasets/ssl.py +0 -0
  215. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/__init__.py +0 -0
  216. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/classification/__init__.py +0 -0
  217. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/classification/asl.py +0 -0
  218. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/classification/focal.py +0 -0
  219. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/classification/prototypical.py +0 -0
  220. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/__init__.py +0 -0
  221. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/barlowtwins.py +0 -0
  222. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/byol.py +0 -0
  223. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/dino.py +0 -0
  224. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/hyperspherical.py +0 -0
  225. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/idmm.py +0 -0
  226. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/simclr.py +0 -0
  227. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/simsiam.py +0 -0
  228. {quadra-2.2.1 → quadra-2.2.3}/quadra/losses/ssl/vicreg.py +0 -0
  229. {quadra-2.2.1 → quadra-2.2.3}/quadra/metrics/__init__.py +0 -0
  230. {quadra-2.2.1 → quadra-2.2.3}/quadra/metrics/segmentation.py +0 -0
  231. {quadra-2.2.1 → quadra-2.2.3}/quadra/models/__init__.py +0 -0
  232. {quadra-2.2.1 → quadra-2.2.3}/quadra/models/base.py +0 -0
  233. {quadra-2.2.1 → quadra-2.2.3}/quadra/models/classification/__init__.py +0 -0
  234. {quadra-2.2.1 → quadra-2.2.3}/quadra/models/classification/backbones.py +0 -0
  235. {quadra-2.2.1 → quadra-2.2.3}/quadra/models/classification/base.py +0 -0
  236. {quadra-2.2.1 → quadra-2.2.3}/quadra/models/evaluation.py +0 -0
  237. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/__init__.py +0 -0
  238. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/backbone.py +0 -0
  239. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/base.py +0 -0
  240. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/classification/__init__.py +0 -0
  241. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/__init__.py +0 -0
  242. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/barlowtwins.py +0 -0
  243. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/byol.py +0 -0
  244. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/common.py +0 -0
  245. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/dino.py +0 -0
  246. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/hyperspherical.py +0 -0
  247. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/idmm.py +0 -0
  248. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/simclr.py +0 -0
  249. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/simsiam.py +0 -0
  250. {quadra-2.2.1 → quadra-2.2.3}/quadra/modules/ssl/vicreg.py +0 -0
  251. {quadra-2.2.1 → quadra-2.2.3}/quadra/optimizers/__init__.py +0 -0
  252. {quadra-2.2.1 → quadra-2.2.3}/quadra/optimizers/lars.py +0 -0
  253. {quadra-2.2.1 → quadra-2.2.3}/quadra/optimizers/sam.py +0 -0
  254. {quadra-2.2.1 → quadra-2.2.3}/quadra/schedulers/__init__.py +0 -0
  255. {quadra-2.2.1 → quadra-2.2.3}/quadra/schedulers/base.py +0 -0
  256. {quadra-2.2.1 → quadra-2.2.3}/quadra/schedulers/warmup.py +0 -0
  257. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/__init__.py +0 -0
  258. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/anomaly.py +0 -0
  259. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/base.py +0 -0
  260. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/patch.py +0 -0
  261. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/segmentation.py +0 -0
  262. {quadra-2.2.1 → quadra-2.2.3}/quadra/tasks/ssl.py +0 -0
  263. {quadra-2.2.1 → quadra-2.2.3}/quadra/trainers/README.md +0 -0
  264. {quadra-2.2.1 → quadra-2.2.3}/quadra/trainers/__init__.py +0 -0
  265. {quadra-2.2.1 → quadra-2.2.3}/quadra/trainers/classification.py +0 -0
  266. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/__init__.py +0 -0
  267. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/anomaly.py +0 -0
  268. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/classification.py +0 -0
  269. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/deprecation.py +0 -0
  270. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/evaluation.py +0 -0
  271. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/imaging.py +0 -0
  272. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/logger.py +0 -0
  273. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/mlflow.py +0 -0
  274. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/model_manager.py +0 -0
  275. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/patch/__init__.py +0 -0
  276. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/patch/dataset.py +0 -0
  277. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/patch/metrics.py +0 -0
  278. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/patch/model.py +0 -0
  279. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/patch/visualization.py +0 -0
  280. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/resolver.py +0 -0
  281. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/segmentation.py +0 -0
  282. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/__init__.py +0 -0
  283. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/__init__.py +0 -0
  284. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/dataset/__init__.py +0 -0
  285. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/dataset/anomaly.py +0 -0
  286. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/dataset/classification.py +0 -0
  287. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/dataset/imagenette.py +0 -0
  288. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/dataset/segmentation.py +0 -0
  289. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/models/__init__.py +0 -0
  290. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/models/anomaly.py +0 -0
  291. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/models/classification.py +0 -0
  292. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/fixtures/models/segmentation.py +0 -0
  293. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/helpers.py +0 -0
  294. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/tests/models.py +0 -0
  295. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/utils.py +0 -0
  296. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/validator.py +0 -0
  297. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/visualization.py +0 -0
  298. {quadra-2.2.1 → quadra-2.2.3}/quadra/utils/vit_explainability.py +0 -0
  299. {quadra-2.2.1 → quadra-2.2.3}/quadra_hydra_plugin/hydra_plugins/quadra_searchpath_plugin.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: quadra
3
- Version: 2.2.1
3
+ Version: 2.2.3
4
4
  Summary: Deep Learning experiment orchestration library
5
5
  Home-page: https://orobix.github.io/quadra
6
6
  License: Apache-2.0
@@ -21,9 +21,9 @@ Classifier: Topic :: Software Development :: Libraries
21
21
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
22
  Provides-Extra: onnx
23
23
  Requires-Dist: albumentations (>=1.3,<1.4)
24
- Requires-Dist: anomalib-orobix (==0.7.0.dev140)
24
+ Requires-Dist: anomalib-orobix (==0.7.0.dev141)
25
25
  Requires-Dist: boto3 (>=1.26,<1.27)
26
- Requires-Dist: grad_cam (==1.4.6)
26
+ Requires-Dist: grad-cam-orobix (==1.5.3.dev001)
27
27
  Requires-Dist: h5py (>=3.8,<3.9)
28
28
  Requires-Dist: hydra_colorlog (>=1.2,<1.3)
29
29
  Requires-Dist: hydra_core (>=1.3,<1.4)
@@ -235,7 +235,7 @@ On the same dataset we can run a simple SSL training using the BYOL algorithm wi
235
235
  quadra experiment=generic/imagenette/ssl/byol logger=csv
236
236
  ```
237
237
 
238
- BYOL is not the only SSL algorithm available, you can find a list of all the available algorithms under `quadra/experiment/generic/imagenette/ssl` folder.
238
+ BYOL is not the only SSL algorithm available, you can find a list of all the available algorithms under `quadra/configs/experiment/generic/imagenette/ssl` folder.
239
239
 
240
240
 
241
241
  ### Anomaly Detection Training
@@ -248,11 +248,11 @@ quadra experiment=generic/mnist/anomaly/padim logger=csv
248
248
 
249
249
  This will run an anomaly detection considering on of the classes as good (default is the number 9) and the rest as anomalies.
250
250
 
251
- This will make use of the [anomalib](https://github.com/openvinotoolkit/anomalib) library to train the model. Many different algorithms are available, you can find them under `quadra/experiment/generic/mnist/anomaly` folder.
251
+ This will make use of the [anomalib](https://github.com/openvinotoolkit/anomalib) library to train the model. Many different algorithms are available, you can find them under `quadra/configs/experiment/generic/mnist/anomaly` folder.
252
252
 
253
253
  ## Running with Custom Datasets
254
254
 
255
- Each task comes with a default configuration file that can be customized for your needs. Each example experiment we have seen so far uses a default configuration file that can be found under `quadra/experiment/base/<task>/<config_name>.yaml`.
255
+ Each task comes with a default configuration file that can be customized for your needs. Each example experiment we have seen so far uses a default configuration file that can be found under `quadra/configs/experiment/base/<task>/<config_name>.yaml`.
256
256
 
257
257
  Let's see how we can customize the configuration file to run the classification experiment on a custom dataset.
258
258
 
@@ -172,7 +172,7 @@ On the same dataset we can run a simple SSL training using the BYOL algorithm wi
172
172
  quadra experiment=generic/imagenette/ssl/byol logger=csv
173
173
  ```
174
174
 
175
- BYOL is not the only SSL algorithm available, you can find a list of all the available algorithms under `quadra/experiment/generic/imagenette/ssl` folder.
175
+ BYOL is not the only SSL algorithm available, you can find a list of all the available algorithms under `quadra/configs/experiment/generic/imagenette/ssl` folder.
176
176
 
177
177
 
178
178
  ### Anomaly Detection Training
@@ -185,11 +185,11 @@ quadra experiment=generic/mnist/anomaly/padim logger=csv
185
185
 
186
186
  This will run an anomaly detection considering on of the classes as good (default is the number 9) and the rest as anomalies.
187
187
 
188
- This will make use of the [anomalib](https://github.com/openvinotoolkit/anomalib) library to train the model. Many different algorithms are available, you can find them under `quadra/experiment/generic/mnist/anomaly` folder.
188
+ This will make use of the [anomalib](https://github.com/openvinotoolkit/anomalib) library to train the model. Many different algorithms are available, you can find them under `quadra/configs/experiment/generic/mnist/anomaly` folder.
189
189
 
190
190
  ## Running with Custom Datasets
191
191
 
192
- Each task comes with a default configuration file that can be customized for your needs. Each example experiment we have seen so far uses a default configuration file that can be found under `quadra/experiment/base/<task>/<config_name>.yaml`.
192
+ Each task comes with a default configuration file that can be customized for your needs. Each example experiment we have seen so far uses a default configuration file that can be found under `quadra/configs/experiment/base/<task>/<config_name>.yaml`.
193
193
 
194
194
  Let's see how we can customize the configuration file to run the classification experiment on a custom dataset.
195
195
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "quadra"
3
- version = "2.2.1"
3
+ version = "2.2.3"
4
4
  description = "Deep Learning experiment orchestration library"
5
5
  authors = [
6
6
  "Federico Belotti <federico.belotti@orobix.com>",
@@ -60,7 +60,7 @@ python_dotenv = "~0.21"
60
60
  rich = "~13.2"
61
61
  scikit_learn = "~1.2"
62
62
  pydantic = "1.10.10"
63
- grad_cam = "1.4.6"
63
+ grad-cam-orobix = "1.5.3.dev001"
64
64
  matplotlib = "~3.6"
65
65
  seaborn = "~0.12"
66
66
  albumentations = "~1.3"
@@ -72,7 +72,7 @@ h5py = "~3.8"
72
72
  timm = "0.9.12"
73
73
 
74
74
  segmentation_models_pytorch-orobix = "0.3.3.dev1"
75
- anomalib-orobix = "0.7.0.dev140"
75
+ anomalib-orobix = "0.7.0.dev141"
76
76
  xxhash = "~3.2"
77
77
  torchinfo = "~1.8"
78
78
  typing_extensions = { version = "4.11.0", python = "<3.10" }
@@ -1,4 +1,4 @@
1
- __version__ = "2.2.1"
1
+ __version__ = "2.2.3"
2
2
 
3
3
 
4
4
  def get_version():
@@ -1,6 +1,7 @@
1
1
  import time
2
2
 
3
3
  import hydra
4
+ import matplotlib
4
5
  from omegaconf import DictConfig
5
6
  from pytorch_lightning import seed_everything
6
7
 
@@ -12,6 +13,8 @@ from quadra.utils.validator import validate_config
12
13
  load_envs()
13
14
  register_resolvers()
14
15
 
16
+
17
+ matplotlib.use("Agg")
15
18
  log = get_logger(__name__)
16
19
 
17
20
 
@@ -138,13 +138,9 @@ class ClassificationModule(BaseLightningModule):
138
138
  if isinstance(self.model.features_extractor, timm.models.resnet.ResNet):
139
139
  target_layers = [cast(BaseNetworkBuilder, self.model).features_extractor.layer4[-1]]
140
140
 
141
- # Get model current device
142
- device = next(self.model.parameters()).device
143
-
144
141
  self.cam = GradCAM(
145
142
  model=self.model,
146
143
  target_layers=target_layers,
147
- use_cuda=device.type == "cuda",
148
144
  )
149
145
  # Activating gradients
150
146
  for p in self.model.features_extractor.layer4[-1].parameters():
@@ -262,7 +258,7 @@ class MultilabelClassificationModule(BaseLightningModule):
262
258
  self.gradcam = False
263
259
  else:
264
260
  target_layers = [model[0].features_extractor.layer4[-1]]
265
- self.cam = GradCAM(model=model, target_layers=target_layers, use_cuda=torch.cuda.is_available())
261
+ self.cam = GradCAM(model=model, target_layers=target_layers)
266
262
 
267
263
  def forward(self, x):
268
264
  return self.model(x)
@@ -1138,7 +1138,6 @@ class ClassificationEvaluation(Evaluation[ClassificationDataModuleT]):
1138
1138
  self.cam = GradCAM(
1139
1139
  model=self.deployment_model.model,
1140
1140
  target_layers=target_layers,
1141
- use_cuda=(self.device != "cpu"),
1142
1141
  )
1143
1142
  for p in self.deployment_model.model.features_extractor.layer4[-1].parameters():
1144
1143
  p.requires_grad = True
@@ -7,7 +7,6 @@ from typing import Any, Literal, TypeVar, cast
7
7
  import torch
8
8
  from anomalib.models.cflow import CflowLightning
9
9
  from omegaconf import DictConfig, ListConfig, OmegaConf
10
- from onnxconverter_common import auto_convert_mixed_precision
11
10
  from torch import nn
12
11
 
13
12
  from quadra.models.base import ModelSignatureWrapper
@@ -22,6 +21,7 @@ from quadra.utils.logger import get_logger
22
21
  try:
23
22
  import onnx # noqa
24
23
  from onnxsim import simplify as onnx_simplify # noqa
24
+ from onnxconverter_common import auto_convert_mixed_precision # noqa
25
25
 
26
26
  ONNX_AVAILABLE = True
27
27
  except ImportError:
@@ -385,8 +385,9 @@ def _safe_export_half_precision_onnx(
385
385
  onnx.checker.check_model(onnx_model)
386
386
  return True
387
387
  except Exception as e:
388
- log.debug("Failed to export model with mixed precision with error: %s", e)
389
- return False
388
+ raise RuntimeError(
389
+ "Failed to export model with automatic mixed precision, check your model or disable ONNX export"
390
+ ) from e
390
391
  else:
391
392
  log.info("Exported half precision ONNX model does not contain NaN values, model is stable")
392
393
  return True
@@ -131,7 +131,6 @@ def get_feature(
131
131
  cam = GradCAM(
132
132
  model=feature_extractor,
133
133
  target_layers=target_layers,
134
- use_cuda=torch.cuda.is_available(),
135
134
  )
136
135
  for p in feature_extractor.features_extractor.layer4[-1].parameters():
137
136
  p.requires_grad = True
File without changes