Source code for sekupy.analysis


[docs] def run_analysis(ds, default_config, default_options=dict(), name='mvpa', subdir="0_results", kind='combination'): """[summary] Parameters ---------- ds : [type] [description] default_config : [type] [description] default_options : [type] [description] name : [type] [description] subdir : str, optional [description] (the default is "0_results", which [default_description]) kind : str Indicates the type of datum given to options field. (values must be 'combination', 'list' or 'configuration') if 'combination' all possible combination of items in options will be performed as a cartesian product of lists. if 'list', elements of dictionary lists must have the same length if 'configuration' the elements are single configuration to be used 'combination' or 'list' or 'configurations' see ```sekupy.analysis.iterator.AnalysisIterator``` documentation. Returns ------- errs : list Returns the list of errors with the configuration that caused the error. """ from sekupy.analysis.configurator import AnalysisConfigurator from sekupy.analysis.iterator import AnalysisIterator from sekupy.analysis.pipeline import AnalysisPipeline import gc import sentry_sdk sentry_sdk.init( "https://f2866916959e41bc81abdfaf580f3d26@o252224.ingest.sentry.io/1439199", traces_sample_rate=1.0, ) iterator = AnalysisIterator(default_options, AnalysisConfigurator, kind=kind, config_kwargs=default_config ) errs = [] for conf in iterator: kwargs = conf._get_kwargs() try: a = AnalysisPipeline(conf, name=name).fit(ds, **kwargs) a.save(subdir=subdir) except Exception as err: errs.append([conf._default_options, err]) sentry_sdk.capture_exception(err) a = 'foo' del a gc.collect() return errs