def check_search_params()

in Project-BasicAlgorithm/core/training/params.py [0:0]


    def check_search_params(self, cls, search_params):
        # check and adaptive parameter type for search_params
        search_params = self.parse_param_str(search_params)
        default_params = self.load_cls_default_params(cls)
        for key, values in search_params.items():
            try:
                values = eval(values)
            except Exception as _:
                warnings.warn(f"value : {values} error, is must be list of something")
                continue
            parse_func = getattr(self, key, None)

            new_values = []
            for value in values:
                if parse_func:
                    value = parse_func(value)
                elif key in default_params:
                    value = self.match_type(default_params[key], value)

                new_values.append(value)
            search_params[key] = new_values
        return search_params