From b2ed4f21a7db4eb9a5b8666dfd918e2ffc718838 Mon Sep 17 00:00:00 2001 From: Maxim Gonchar <maxim.mg.gonchar@gmail.com> Date: Fri, 19 May 2023 12:53:03 +0300 Subject: [PATCH] feat: `storage.read_paths()` and `storage.plot()` --- model_tools/parameters_storage.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/model_tools/parameters_storage.py b/model_tools/parameters_storage.py index 43dc449..c1df67f 100644 --- a/model_tools/parameters_storage.py +++ b/model_tools/parameters_storage.py @@ -1,7 +1,8 @@ from multikeydict.nestedmkdict import NestedMKDict from multikeydict.visitor import NestedMKDictVisitor +from dagflow.output import Output -from typing import Union, Tuple, List, Optional, Dict +from typing import Union, Tuple, List, Optional from tabulate import tabulate from pandas import DataFrame @@ -18,6 +19,23 @@ def trunc(text: str, width: int) -> str: return '\n'.join(line[:width] for line in text.split('\n')) class ParametersStorage(NestedMKDict): + def read_paths(self) -> None: + for key, value in self.walkitems(): + labels = getattr(value, 'labels', None) + if labels is None: + continue + + key = '.'.join(key) + labels.setdefault('paths', []).append(key) + + def plot(self) -> None: + from dagflow.plot import plot_auto + for key, value in self.walkitems(): + if not isinstance(value, Output): + continue + + plot_auto(value) + def to_list(self, **kwargs) -> list: return self.visit(ParametersVisitor(kwargs)).data_list -- GitLab