monai-weekly 1.5.dev2443__py3-none-any.whl → 1.5.dev2444__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.
- monai/__init__.py +1 -1
- monai/_version.py +3 -3
- monai/handlers/mlflow_handler.py +4 -2
- monai/handlers/stats_handler.py +2 -3
- monai/networks/utils.py +6 -7
- monai/utils/__init__.py +1 -0
- monai/utils/misc.py +13 -0
- {monai_weekly-1.5.dev2443.dist-info → monai_weekly-1.5.dev2444.dist-info}/METADATA +1 -1
- {monai_weekly-1.5.dev2443.dist-info → monai_weekly-1.5.dev2444.dist-info}/RECORD +12 -12
- {monai_weekly-1.5.dev2443.dist-info → monai_weekly-1.5.dev2444.dist-info}/WHEEL +1 -1
- {monai_weekly-1.5.dev2443.dist-info → monai_weekly-1.5.dev2444.dist-info}/LICENSE +0 -0
- {monai_weekly-1.5.dev2443.dist-info → monai_weekly-1.5.dev2444.dist-info}/top_level.txt +0 -0
monai/__init__.py
CHANGED
monai/_version.py
CHANGED
@@ -8,11 +8,11 @@ import json
|
|
8
8
|
|
9
9
|
version_json = '''
|
10
10
|
{
|
11
|
-
"date": "2024-
|
11
|
+
"date": "2024-11-03T02:29:11+0000",
|
12
12
|
"dirty": false,
|
13
13
|
"error": null,
|
14
|
-
"full-revisionid": "
|
15
|
-
"version": "1.5.
|
14
|
+
"full-revisionid": "c70fbd8ff919cabaacfabcbdbf28aa435ae622f9",
|
15
|
+
"version": "1.5.dev2444"
|
16
16
|
}
|
17
17
|
''' # END VERSION_JSON
|
18
18
|
|
monai/handlers/mlflow_handler.py
CHANGED
@@ -22,7 +22,7 @@ import torch
|
|
22
22
|
from torch.utils.data import Dataset
|
23
23
|
|
24
24
|
from monai.apps.utils import get_logger
|
25
|
-
from monai.utils import CommonKeys, IgniteInfo, ensure_tuple, min_version, optional_import
|
25
|
+
from monai.utils import CommonKeys, IgniteInfo, ensure_tuple, flatten_dict, min_version, optional_import
|
26
26
|
|
27
27
|
Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events")
|
28
28
|
mlflow, _ = optional_import("mlflow", descriptor="Please install mlflow before using MLFlowHandler.")
|
@@ -303,7 +303,9 @@ class MLFlowHandler:
|
|
303
303
|
|
304
304
|
run_id = self.cur_run.info.run_id
|
305
305
|
timestamp = int(time.time() * 1000)
|
306
|
-
metrics_arr = [
|
306
|
+
metrics_arr = [
|
307
|
+
mlflow.entities.Metric(key, value, timestamp, step or 0) for key, value in flatten_dict(metrics).items()
|
308
|
+
]
|
307
309
|
self.client.log_batch(run_id=run_id, metrics=metrics_arr, params=[], tags=[])
|
308
310
|
|
309
311
|
def _parse_artifacts(self):
|
monai/handlers/stats_handler.py
CHANGED
@@ -19,7 +19,7 @@ from typing import TYPE_CHECKING, Any
|
|
19
19
|
import torch
|
20
20
|
|
21
21
|
from monai.apps import get_logger
|
22
|
-
from monai.utils import IgniteInfo, is_scalar, min_version, optional_import
|
22
|
+
from monai.utils import IgniteInfo, flatten_dict, is_scalar, min_version, optional_import
|
23
23
|
|
24
24
|
Events, _ = optional_import("ignite.engine", IgniteInfo.OPT_IMPORT_VERSION, min_version, "Events")
|
25
25
|
if TYPE_CHECKING:
|
@@ -211,8 +211,7 @@ class StatsHandler:
|
|
211
211
|
|
212
212
|
"""
|
213
213
|
current_epoch = self.global_epoch_transform(engine.state.epoch)
|
214
|
-
|
215
|
-
prints_dict = engine.state.metrics
|
214
|
+
prints_dict = flatten_dict(engine.state.metrics)
|
216
215
|
if prints_dict is not None and len(prints_dict) > 0:
|
217
216
|
out_str = f"Epoch[{current_epoch}] Metrics -- "
|
218
217
|
for name in sorted(prints_dict):
|
monai/networks/utils.py
CHANGED
@@ -16,6 +16,7 @@ from __future__ import annotations
|
|
16
16
|
|
17
17
|
import io
|
18
18
|
import re
|
19
|
+
import tempfile
|
19
20
|
import warnings
|
20
21
|
from collections import OrderedDict
|
21
22
|
from collections.abc import Callable, Mapping, Sequence
|
@@ -688,16 +689,17 @@ def convert_to_onnx(
|
|
688
689
|
onnx_inputs = (inputs,)
|
689
690
|
else:
|
690
691
|
onnx_inputs = tuple(inputs)
|
691
|
-
|
692
|
+
temp_file = None
|
692
693
|
if filename is None:
|
693
|
-
|
694
|
+
temp_file = tempfile.NamedTemporaryFile()
|
695
|
+
f = temp_file.name
|
694
696
|
else:
|
695
697
|
f = filename
|
696
698
|
|
697
699
|
torch.onnx.export(
|
698
700
|
mode_to_export,
|
699
701
|
onnx_inputs,
|
700
|
-
f=f,
|
702
|
+
f=f,
|
701
703
|
input_names=input_names,
|
702
704
|
output_names=output_names,
|
703
705
|
dynamic_axes=dynamic_axes,
|
@@ -705,10 +707,7 @@ def convert_to_onnx(
|
|
705
707
|
do_constant_folding=do_constant_folding,
|
706
708
|
**torch_versioned_kwargs,
|
707
709
|
)
|
708
|
-
|
709
|
-
onnx_model = onnx.load_model_from_string(f.getvalue())
|
710
|
-
else:
|
711
|
-
onnx_model = onnx.load(filename)
|
710
|
+
onnx_model = onnx.load(f)
|
712
711
|
|
713
712
|
if do_constant_folding and polygraphy_imported:
|
714
713
|
from polygraphy.backend.onnx.loader import fold_constants
|
monai/utils/__init__.py
CHANGED
monai/utils/misc.py
CHANGED
@@ -916,3 +916,16 @@ def unsqueeze_right(arr: NT, ndim: int) -> NT:
|
|
916
916
|
def unsqueeze_left(arr: NT, ndim: int) -> NT:
|
917
917
|
"""Prepend 1-sized dimensions to `arr` to create a result with `ndim` dimensions."""
|
918
918
|
return arr[(None,) * (ndim - arr.ndim)]
|
919
|
+
|
920
|
+
|
921
|
+
def flatten_dict(metrics: dict[str, Any]) -> dict[str, Any]:
|
922
|
+
"""
|
923
|
+
Flatten the nested dictionary to a flat dictionary.
|
924
|
+
"""
|
925
|
+
result = {}
|
926
|
+
for key, value in metrics.items():
|
927
|
+
if isinstance(value, dict):
|
928
|
+
result.update(flatten_dict(value))
|
929
|
+
else:
|
930
|
+
result[key] = value
|
931
|
+
return result
|
@@ -1,5 +1,5 @@
|
|
1
|
-
monai/__init__.py,sha256=
|
2
|
-
monai/_version.py,sha256=
|
1
|
+
monai/__init__.py,sha256=ysop022HrpjMOa3OOXOxu9wMEzBaWZ-pmyPSSp1xhGA,4095
|
2
|
+
monai/_version.py,sha256=HNl2ruiDvEKUYXx2U5fo82JGZpufk97ds-8BJeV011g,503
|
3
3
|
monai/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
4
|
monai/_extensions/__init__.py,sha256=NEBPreRhQ8H9gVvgrLr_y52_TmqB96u_u4VQmeNT93I,642
|
5
5
|
monai/_extensions/loader.py,sha256=7SiKw36q-nOzH8CRbBurFrz7GM40GCu7rc93Tm8XpnI,3643
|
@@ -178,7 +178,7 @@ monai/handlers/mean_iou.py,sha256=-4vDqYx-Zd77PcR2-Wg6X-M35n13sMV5VysGiDCvjbQ,28
|
|
178
178
|
monai/handlers/metric_logger.py,sha256=Zk55yO5PlwM7WhHPelHPfv3WLuJycxLrtQMwjEJ_7FQ,5453
|
179
179
|
monai/handlers/metrics_reloaded_handler.py,sha256=9JtfWeDvjrdKNMKpRJQBu0k6XGxg8hfOm6224sB4A6E,6195
|
180
180
|
monai/handlers/metrics_saver.py,sha256=ltXaaj3C4Vzv3VEWT4O7wlmuYs7JHi7qCkXXfVBgPb8,8559
|
181
|
-
monai/handlers/mlflow_handler.py,sha256=
|
181
|
+
monai/handlers/mlflow_handler.py,sha256=AhPtZtuV06jt8EaMvM3et6MMJoSqYBBAYV3uipdalG4,23259
|
182
182
|
monai/handlers/nvtx_handlers.py,sha256=cD-nYVaJ7fUEUmr5zLU9-s867SqUwP64R3i4Rui5MGU,6795
|
183
183
|
monai/handlers/panoptic_quality.py,sha256=Dr_cMANJne1Cvc_pnI33QAUMAVKbkO4NBfTFjedGZOE,3651
|
184
184
|
monai/handlers/parameter_scheduler.py,sha256=JMVMEWnF0sUejynB_J_2fL9OKJT_s-ZbaYEucTeb1Hk,7095
|
@@ -187,7 +187,7 @@ monai/handlers/probability_maps.py,sha256=ggvgebTlx-r5BmcpiYu5MTF00AMtSMghRA8Orw
|
|
187
187
|
monai/handlers/regression_metrics.py,sha256=PaL8AXLhl7Aw5C1_VSPIAt2C8H781ek_sPD_xFZgWPA,8457
|
188
188
|
monai/handlers/roc_auc.py,sha256=0A_Y1bvRpkBY0l5HyTRKopUUupq0cMGubnqgflHXA2g,2744
|
189
189
|
monai/handlers/smartcache_handler.py,sha256=PwWmLYKBWFTkOdcQXlML18AESWtQnPJl9Ici9djvdTE,3027
|
190
|
-
monai/handlers/stats_handler.py,sha256=
|
190
|
+
monai/handlers/stats_handler.py,sha256=8sOWdi-8-OllSYPRd6yYLqn5hv00wvYeajHRPij3MSs,14144
|
191
191
|
monai/handlers/surface_distance.py,sha256=HKQrRGy08uWNr9X-mJ1IhMwV_ndZOijEJS7TYL9KQsg,3327
|
192
192
|
monai/handlers/tensorboard_handlers.py,sha256=3nju_xEJeOpCtObrIfuWc1u8dSRwjs-26tyh06FP8wg,22591
|
193
193
|
monai/handlers/trt_handler.py,sha256=uWFdgC8QKRkcNwWfKIbQMdK6-MX_1ON0mKabeIn1ltI,2329
|
@@ -242,7 +242,7 @@ monai/metrics/utils.py,sha256=eQ9QGGvuNmYFrgtVFNiA44pBhaHLCkmpyeK2FcK_2Pc,46941
|
|
242
242
|
monai/metrics/wrapper.py,sha256=c1zg-xcypQyZ840TEuhhLgr4sClYMWTxlv1OieJTtvE,11781
|
243
243
|
monai/networks/__init__.py,sha256=ZzU2Qo8gDXNiRBF0JapIo3xlecZHjXsJuarF0IKVKKY,1086
|
244
244
|
monai/networks/trt_compiler.py,sha256=Du9lmYQAQgY31fydNZ7yUz712ZCODqMDhTjt0kxP0Bc,22728
|
245
|
-
monai/networks/utils.py,sha256=
|
245
|
+
monai/networks/utils.py,sha256=PKnqerrzBknEqzWFlYRzf6JVv0uz30say03GMqY4unY,56835
|
246
246
|
monai/networks/blocks/__init__.py,sha256=-LMGPMN-eHzwsjkb88H66kImpr4v2hYATZ2y-mRm_K0,2264
|
247
247
|
monai/networks/blocks/acti_norm.py,sha256=bVGXbTZ_ssRvmED5R7LOQ7jj4V6WbVFl8JMO-4iZ2Dk,4275
|
248
248
|
monai/networks/blocks/activation.py,sha256=S5k3zcP2PsHBkeIxgWgNg8ppW80tTResVP2j9ZsvTFw,5839
|
@@ -394,14 +394,14 @@ monai/transforms/spatial/functional.py,sha256=IwS0witCqbGkyuxzu_R4Ztp90S0pg9hY1i
|
|
394
394
|
monai/transforms/utility/__init__.py,sha256=s9djSd6kvViPnFvMR11Dgd30Lv4oY6FaPJr4ZZJZLq0,573
|
395
395
|
monai/transforms/utility/array.py,sha256=MCkoccxLStPX2e0bJv6WZzDsGE3Wwf1DaxU1MZwDp08,78086
|
396
396
|
monai/transforms/utility/dictionary.py,sha256=N6E230-g2zupG63oCsAXWgkdfZmF---TZbvk7p5FQU8,78079
|
397
|
-
monai/utils/__init__.py,sha256=
|
397
|
+
monai/utils/__init__.py,sha256=yccUiicRQmjXTTEplVMZt_hoA3GFfTF_MYoUakZA73k,3761
|
398
398
|
monai/utils/component_store.py,sha256=Fe9jbHgwwBBAeJAw0nI02Ae13v17wlwF6N9uUue8tJg,4525
|
399
399
|
monai/utils/decorators.py,sha256=qhhdmJMjMfZIUM6x_VGUGF7kaq2cBUAam8WymAU_mhw,3156
|
400
400
|
monai/utils/deprecate_utils.py,sha256=gKeEV4MsI51qeQ5gci2me_C-0e-tDwa3VZzd3XPQqLk,14759
|
401
401
|
monai/utils/dist.py,sha256=7brB42CvdS8Jvr8Y7hfqov1uk6NNnYea9dYfgMYy0BY,8578
|
402
402
|
monai/utils/enums.py,sha256=orCV7SGDajYtl3DhTTjbLDbayr6WxkMSw_bZ6yeGGTY,19513
|
403
403
|
monai/utils/jupyter_utils.py,sha256=kQqfLTLAre3TLzXTt091X_XeWy5K0QKAcTuYlJ8BOag,15650
|
404
|
-
monai/utils/misc.py,sha256
|
404
|
+
monai/utils/misc.py,sha256=R-sCS5u7SA8hX6e7x6WSc8FgLcNpqKFRRDMWxUd2wCo,31759
|
405
405
|
monai/utils/module.py,sha256=qmnsEGMg3kvNmVeFqeH8CZ3BAZxnATrwxrSBgdJyBG4,24319
|
406
406
|
monai/utils/nvtx.py,sha256=i9JBxR1uhW1ZCgLPLlTx8b907QlXkFzJyTBLMlFjhtU,6876
|
407
407
|
monai/utils/ordering.py,sha256=0nlA5b5QpVCHbtiCbTC-YsqjTmjm0bub0IeJhGFBOes,8270
|
@@ -416,8 +416,8 @@ monai/visualize/img2tensorboard.py,sha256=NnMcyfIFqX-jD7TBO3Rn02zt5uug79d_7pIIaV
|
|
416
416
|
monai/visualize/occlusion_sensitivity.py,sha256=OQHEJLyIhB8zWqQsfKaX-1kvCjWFVYtLfS4dFC0nKFI,18160
|
417
417
|
monai/visualize/utils.py,sha256=B-MhTVs7sQbIqYS3yPnpBwPw2K82rE2PBtGIfpwZtWM,9894
|
418
418
|
monai/visualize/visualizer.py,sha256=qckyaMZCbezYUwE20k5yc-Pb7UozVavMDbrmyQwfYHY,1377
|
419
|
-
monai_weekly-1.5.
|
420
|
-
monai_weekly-1.5.
|
421
|
-
monai_weekly-1.5.
|
422
|
-
monai_weekly-1.5.
|
423
|
-
monai_weekly-1.5.
|
419
|
+
monai_weekly-1.5.dev2444.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
420
|
+
monai_weekly-1.5.dev2444.dist-info/METADATA,sha256=UKkqg6jOWMKDCIMTI1GY6Di4GUlQwONJBARo04lFseY,11187
|
421
|
+
monai_weekly-1.5.dev2444.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
422
|
+
monai_weekly-1.5.dev2444.dist-info/top_level.txt,sha256=UaNwRzLGORdus41Ip446s3bBfViLkdkDsXDo34J2P44,6
|
423
|
+
monai_weekly-1.5.dev2444.dist-info/RECORD,,
|
File without changes
|
File without changes
|