Best Python code snippet using slash
Omega2dSimulator.py
Source:Omega2dSimulator.py  
...92        self.path_tail = [None]*self.path_tail_length93    def load_configs(self, config_file):94        # load some values form the config file95        self.config_reader = ConfigReader(config_file)96        self.x_lb = str2list(self.config_reader.get_value_string("system.states.first_symbol"))97        self.x_ub = str2list(self.config_reader.get_value_string("system.states.last_symbol"))98        self.x_eta = str2list(self.config_reader.get_value_string("system.states.quantizers"))99        self.u_lb = str2list(self.config_reader.get_value_string("system.controls.first_symbol"))100        self.u_ub = str2list(self.config_reader.get_value_string("system.controls.last_symbol"))101        self.u_eta = str2list(self.config_reader.get_value_string("system.controls.quantizers"))102        self.specs_formula = self.config_reader.get_value_string("specifications.ltl_formula")103        self.X_initial = self.config_reader.get_value_string("system.states.initial_set")104        self.X_initial_HR = str2hyperrects(self.X_initial)[0]105        self.SCREEN_WIDTH = int(self.config_reader.get_value_string("simulation.window_width"))106        self.SCREEN_HEIGHT = int(self.config_reader.get_value_string("simulation.window_height"))107        self.title = self.config_reader.get_value_string("simulation.widow_title")108        self.step_time = float(self.config_reader.get_value_string("system.dynamics.step_time"))109        self.skip_aps = self.config_reader.get_value_string("simulation.skip_APs").replace(" ", "").split(",")110        self.visualize_3rd_dim = ( "true" == self.config_reader.get_value_string("simulation.visualize_3rdDim"))111        self.model_image = self.config_reader.get_value_string("simulation.system_image")112        self.model_image_scale = float(self.config_reader.get_value_string("simulation.system_image_scale"))113        self.controller_file = self.config_reader.get_value_string("simulation.controller_file")114        self.use_ODE = ( "true" == self.config_reader.get_value_string("simulation.use_ode"))115        strTmp = self.config_reader.get_value_string("simulation.path_tail_length")116        if strTmp == "" or strTmp == None:117            self.path_tail_length = 0118        else:    119            self.path_tail_length = int(strTmp)120        self.model_dump_file = self.config_reader.get_value_string("simulation.model_dump_file")121        if(self.model_dump_file == "" or self.model_dump_file == None):122            self.use_model_dump = False123        else:      124            self.use_model_dump = True125        self.x_0_str = self.config_reader.get_value_string("simulation.initial_state")126        if self.x_0_str == "center":127            self.x_0 = self.X_initial_HR.get_center_element()128        elif self.x_0_str == "random":129            self.x_0 = self.X_initial_HR.get_random_element()130        else:131            self.x_0 = str2list(self.x_0_str)132        # create a quantizer and an ode solver133        self.qnt_x = Quantizer(self.x_lb, self.x_eta, self.x_ub)134        self.qnt_u = Quantizer(self.u_lb, self.u_eta, self.u_ub)135        if self.use_ODE:136            self.ode = RungeKuttaSolver(self.sys_dynamics, 5)137        # configs for the arena138        self.PADDING = 40139        self.ZERO_BASE_X = self.PADDING140        self.ZERO_BASE_Y = self.PADDING141        self.X_GRID = (self.SCREEN_WIDTH-2*self.PADDING)/self.qnt_x.get_widths()[0]142        self.Y_GRID = (self.SCREEN_HEIGHT-2*self.PADDING)/self.qnt_x.get_widths()[1]143        self.ARENA_WIDTH = (self.qnt_x.get_widths()[0])*self.X_GRID144        self.ARENA_HIGHT = (self.qnt_x.get_widths()[1])*self.Y_GRID145        self.X_SCALE_FACTOR = self.ARENA_WIDTH/(self.x_ub[0] - self.x_lb[0] + self.x_eta[0])146        self.Y_SCALE_FACTOR = self.ARENA_HIGHT/(self.x_ub[1] - self.x_lb[1] + self.x_eta[1])147        self.Z_SCALE_FACTOR = 180.0/math.pi # from rad to deg   148        self.arena_mdl_lb = self.translate_sys_to_arena(self.x_lb)149        self.arena_mdl_ub = self.translate_sys_to_arena(self.x_ub)     150        # others: subsets151        self.subset_names = self.config_reader.get_value_string("system.states.subsets.names").replace(" ","").split(",")152        self.subset_HRs = []153        for subset_name in self.subset_names:154            skip = False155            for skip_ap in self.skip_aps:156                if skip_ap == subset_name:157                    skip = True158            if skip:159                continue160            subset_str = self.config_reader.get_value_string("system.states.subsets.mapping_" + subset_name)161            if subset_str  == '':162                continue163            HRs = str2hyperrects(subset_str)164            HRs_modified = []165            for HR in HRs:166                conc_lb = HR.get_lb()167                conc_ub = HR.get_ub()168                for i in range(len(self.x_lb)):169                    if conc_lb[i] < self.x_lb[i]:170                        conc_lb[i] = self.x_lb[i] - self.x_eta[i]/2171                    if conc_ub[i] > self.x_ub[i]:172                        conc_ub[i] = self.x_ub[i] + self.x_eta[i]/2173                lb = self.translate_sys_to_arena(conc_lb)174                ub = self.translate_sys_to_arena(conc_ub)...pmml.py
Source:pmml.py  
...3"""convert LightGBM model to pmml"""4from __future__ import absolute_import5from sys import argv6from itertools import count7def get_value_string(line):8    return line[line.find('=') + 1:]9def get_array_strings(line):10    return get_value_string(line).split()11def get_array_ints(line):12    return [int(token) for token in get_array_strings(line)]13def get_field_name(node_id, prev_node_idx, is_child):14    idx = leaf_parent[node_id] if is_child else prev_node_idx15    return feature_names[split_feature[idx]]16def get_threshold(node_id, prev_node_idx, is_child):17    idx = leaf_parent[node_id] if is_child else prev_node_idx18    return threshold[idx]19def print_simple_predicate(tab_len, node_id, is_left_child, prev_node_idx, is_leaf):20    if is_left_child:21        op = 'equal' if decision_type[prev_node_idx] == 1 else 'lessOrEqual'22    else:23        op = 'notEqual' if decision_type[prev_node_idx] == 1 else 'greaterThan'24    out_('\t' * (tab_len + 1) + ("<SimplePredicate field=\"{0}\" " + " operator=\"{1}\" value=\"{2}\" />").format(25        get_field_name(node_id, prev_node_idx, is_leaf), op, get_threshold(node_id, prev_node_idx, is_leaf)))26def print_nodes_pmml(node_id, tab_len, is_left_child, prev_node_idx):27    if node_id < 0:28        node_id = ~node_id29        score = leaf_value[node_id]30        recordCount = leaf_count[node_id]31        is_leaf = True32    else:33        score = internal_value[node_id]34        recordCount = internal_count[node_id]35        is_leaf = False36    out_('\t' * tab_len + ("<Node id=\"{0}\" score=\"{1}\" " + " recordCount=\"{2}\">").format(37        next(unique_id), score, recordCount))38    print_simple_predicate(tab_len, node_id, is_left_child, prev_node_idx, is_leaf)39    if not is_leaf:40        print_nodes_pmml(left_child[node_id], tab_len + 1, True, node_id)41        print_nodes_pmml(right_child[node_id], tab_len + 1, False, node_id)42    out_('\t' * tab_len + "</Node>")43# print out the pmml for a decision tree44def print_pmml():45    # specify the objective as function name and binarySplit for46    # splitCharacteristic because each node has 2 children47    out_("\t\t\t\t<TreeModel functionName=\"regression\" splitCharacteristic=\"binarySplit\">")48    out_("\t\t\t\t\t<MiningSchema>")49    # list each feature name as a mining field, and treat all outliers as is,50    # unless specified51    for feature in feature_names:52        out_("\t\t\t\t\t\t<MiningField name=\"%s\"/>" % (feature))53    out_("\t\t\t\t\t</MiningSchema>")54    # begin printing out the decision tree55    out_("\t\t\t\t\t<Node id=\"{0}\" score=\"{1}\" recordCount=\"{2}\">".format(56        next(unique_id), internal_value[0], internal_count[0]))57    out_("\t\t\t\t\t\t<True/>")58    print_nodes_pmml(left_child[0], 6, True, 0)59    print_nodes_pmml(right_child[0], 6, False, 0)60    out_("\t\t\t\t\t</Node>")61    out_("\t\t\t\t</TreeModel>")62if len(argv) != 2:63    raise ValueError('usage: pmml.py <input model file>')64# open the model file and then process it65with open(argv[1], 'r') as model_in:66    # ignore first 6 and empty lines67    model_content = iter([line for line in model_in.read().splitlines() if line][6:])68feature_names = get_array_strings(next(model_content))69feature_infos = get_array_strings(next(model_content))70segment_id = count(1)71with open('LightGBM_pmml.xml', 'w') as pmml_out:72    def out_(string):73        pmml_out.write(string + '\n')74    out_(75        "<PMML version=\"4.3\" \n" +76        "\t\txmlns=\"http://www.dmg.org/PMML-4_3\"\n" +77        "\t\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n" +78        "\t\txsi:schemaLocation=\"http://www.dmg.org/PMML-4_3 http://dmg.org/pmml/v4-3/pmml-4-3.xsd\">")79    out_("\t<Header copyright=\"Microsoft\">")80    out_("\t\t<Application name=\"LightGBM\"/>")81    out_("\t</Header>")82    # print out data dictionary entries for each column83    out_("\t<DataDictionary numberOfFields=\"%d\">" % len(feature_names))84    # not adding any interval definition, all values are currently85    # valid86    for feature in feature_names:87        out_("\t\t<DataField name=\"" + feature + "\" optype=\"continuous\" dataType=\"double\"/>")88    out_("\t</DataDictionary>")89    out_("\t<MiningModel functionName=\"regression\">")90    out_("\t\t<MiningSchema>")91    # list each feature name as a mining field, and treat all outliers92    # as is, unless specified93    for feature in feature_names:94        out_("\t\t\t<MiningField name=\"%s\"/>" % (feature))95    out_("\t\t</MiningSchema>")96    out_("\t\t<Segmentation multipleModelMethod=\"sum\">")97    # read each array that contains pertinent information for the pmml98    # these arrays will be used to recreate the traverse the decision tree99    while True:100        tree_start = next(model_content, '')101        if not tree_start.startswith('Tree'):102            break103        out_("\t\t\t<Segment id=\"%d\">" % next(segment_id))104        out_("\t\t\t\t<True/>")105        tree_no = tree_start[5:]106        num_leaves = int(get_value_string(next(model_content)))107        split_feature = get_array_ints(next(model_content))108        split_gain = next(model_content)  # unused109        threshold = get_array_strings(next(model_content))110        decision_type = get_array_ints(next(model_content))111        left_child = get_array_ints(next(model_content))112        right_child = get_array_ints(next(model_content))113        leaf_parent = get_array_ints(next(model_content))114        leaf_value = get_array_strings(next(model_content))115        leaf_count = get_array_strings(next(model_content))116        internal_value = get_array_strings(next(model_content))117        internal_count = get_array_strings(next(model_content))118        shrinkage = get_value_string(next(model_content))119        has_categorical = get_value_string(next(model_content))120        unique_id = count(1)121        print_pmml()122        out_("\t\t\t</Segment>")123    out_("\t\t</Segmentation>")124    out_("\t</MiningModel>")...evaluator.py
Source:evaluator.py  
...43                self.result = const.PASS_STRING44            else:45                self.result = const.FAIL_STRING46    def __repr__(self):47        return "(" + self.get_value_string() + "," + str(self.criterion) + "," + self.result + ")"48    def is_testable(self):49        return self.value is not None and self.criterion.is_testable()50    def get_value_string(self):51        if self.value is None:52            return const.NA_STRING53        return str(self.value)54    def pretty_string(self):55        return "Metric \"%s\" = %s evaluated against range [%s, %s] and resulted in %s\n" \56               % (self.criterion.name,57                  self.get_value_string(),58                  self.criterion.min_string(),59                  self.criterion.max_string(),60                  self.result)61# Runs tests on given metrics against a given set of criteria62class QCEvaluator:63    def __init__(self, metrics_file_path, criteria_file_path):64        self._load_metrics(metrics_file_path)65        self._load_criteria(criteria_file_path)66    def _load_metrics(self, filename):67        cols = [const.METRIC_FILE_NAME_COLUMN, const.METRIC_FILE_VALUE_COLUMN]68        self.data = pd.read_csv(69            filename, sep=const.TSV_DELIMITER, names=cols, header=None)70    def _load_criteria(self, filename):71        cols = [const.CRITERIA_METRIC_COLUMN,72                const.CRITERIA_MIN_COLUMN, const.CRITERIA_MAX_COLUMN]73        raw_data = pd.read_csv(74            filename, sep=const.TSV_DELIMITER, names=cols, header=0)75        self.criteria = {}76        for i in range(raw_data.shape[0]):77            name = raw_data.at[i, const.CRITERIA_METRIC_COLUMN]78            min = raw_data.at[i, const.CRITERIA_MIN_COLUMN]79            max = raw_data.at[i, const.CRITERIA_MAX_COLUMN]80            self.criteria[name] = Criterion(name, min=min, max=max)81    def get_tests(self):82        tests = {}83        name_idx = self.data.columns.get_loc(const.METRIC_FILE_NAME_COLUMN)84        val_idx = self.data.columns.get_loc(const.METRIC_FILE_VALUE_COLUMN)85        for row in self.data.iterrows():86            name = row[1][name_idx]87            value = row[1][val_idx]88            if name not in self.criteria:89                tests[name] = Test(Criterion(name), value=value)90            else:91                criterion = self.criteria[name]92                tests[name] = Test(criterion, value=value)93        # Criteria that were defined but there were no metrics for94        missed_tests = [Test(self.criteria[x])95                        for x in self.criteria if x not in tests]96        for test in missed_tests:97            name = test.criterion.name98            tests[name] = test99        return tests.values()100    def write_tests(self, filename, tests):101        with open(filename, 'w') as f:102            f.write("#METRIC\tMIN\tMAX\tVALUE\tRESULT\n")103            f.writelines(["\t".join([x.criterion.name, x.criterion.min_string(...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
