// ta_Dump File v3.0 -- code v7.0.1.0 rev7464 LeabraProject .projects["BG_1_"] { Doc_Group @.docs = [1] { taDoc @["ProjectDocs"] { UserDataItem_List @*(.user_data_) { UserDataItem @["user_pinned"] { }; }; }; }; Wizard_Group @.wizards = [1] { LeabraWizard @["LeabraWizard_2"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NO_CLIP"] { }; }; }; }; ControlPanel_Group @.ctrl_panels = [2] { ControlPanel @["MasterControl"] { UserDataItem_List @*(.user_data_) { UserDataItem @["user_pinned"] { }; }; EditMbrItem_Group @.mbrs = [7] { EditMbrItem @[0] { }; EditMbrItem @[1] { }; EditMbrItem @[2] { }; EditMbrItem @[3] { }; EditMbrItem @[4] { }; EditMbrItem @[5] { }; EditMbrItem @[6] { }; }; EditMthItem_Group @.mths = [4] { EditMthItem @[0] { }; EditMthItem @[1] { }; EditMthItem @[2] { }; EditMthItem @[3] { }; }; }; ClusterRun @["ClusterRun"] { UserDataItem_List @*(.user_data_) { UserDataItem @["user_pinned"] { }; }; EditMbrItem_Group @.mbrs = [0] { }; EditMthItem_Group @.mths = [0] { }; DataTableCols @.jobs_running.data = [26] { String_Data @["tag"] { }; String_Data @["notes"] { }; String_Data @["params"] { }; String_Data @["status"] { }; String_Data @["status_info"] { }; String_Data @["submit_time"] { }; String_Data @["start_time"] { }; String_Data @["end_time"] { }; String_Data @["job_no"] { }; String_Data @["job_out"] { }; String_Data @["job_out_file"] { }; String_Data @["dat_files"] { }; String_Data @["other_files"] { }; int_Data @["command_id"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["command"] { }; String_Data @["repo_url"] { }; String_Data @["cluster"] { }; String_Data @["queue"] { }; String_Data @["run_time"] { }; int_Data @["ram_gb"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["n_threads"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["mpi_nodes"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["pb_batches"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["pb_nodes"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["submit_svn"] { }; String_Data @["submit_job"] { }; }; DataTableCols @.jobs_done.data = [26] { String_Data @["tag"] { }; String_Data @["notes"] { }; String_Data @["params"] { }; String_Data @["status"] { }; String_Data @["status_info"] { }; String_Data @["submit_time"] { }; String_Data @["start_time"] { }; String_Data @["end_time"] { }; String_Data @["job_no"] { }; String_Data @["job_out"] { }; String_Data @["job_out_file"] { }; String_Data @["dat_files"] { }; String_Data @["other_files"] { }; int_Data @["command_id"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["command"] { }; String_Data @["repo_url"] { }; String_Data @["cluster"] { }; String_Data @["queue"] { }; String_Data @["run_time"] { }; int_Data @["ram_gb"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["n_threads"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["mpi_nodes"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["pb_batches"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["pb_nodes"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["submit_svn"] { }; String_Data @["submit_job"] { }; }; DataTableCols @.jobs_archive.data = [26] { String_Data @["tag"] { }; String_Data @["notes"] { }; String_Data @["params"] { }; String_Data @["status"] { }; String_Data @["status_info"] { }; String_Data @["submit_time"] { }; String_Data @["start_time"] { }; String_Data @["end_time"] { }; String_Data @["job_no"] { }; String_Data @["job_out"] { }; String_Data @["job_out_file"] { }; String_Data @["dat_files"] { }; String_Data @["other_files"] { }; int_Data @["command_id"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["command"] { }; String_Data @["repo_url"] { }; String_Data @["cluster"] { }; String_Data @["queue"] { }; String_Data @["run_time"] { }; int_Data @["ram_gb"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["n_threads"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["mpi_nodes"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["pb_batches"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["pb_nodes"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["submit_svn"] { }; String_Data @["submit_job"] { }; }; DataTableCols @.file_list.data = [9] { String_Data @["file_name"] { }; String_Data @["tag"] { }; String_Data @["size"] { }; String_Data @["kind"] { }; String_Data @["date_modified"] { }; String_Data @["date_created"] { }; String_Data @["svn_file_path"] { }; String_Data @["proj_file_path"] { }; String_Data @["file_path"] { }; }; DataTableCols @.cluster_info.data = [6] { String_Data @["queue"] { }; String_Data @["job_no"] { }; String_Data @["user"] { }; String_Data @["state"] { }; String_Data @["procs"] { }; String_Data @["start_time"] { }; }; ParamSearchAlgo_List @.search_algos = [0] { }; }; }; DataTable_Group @.data = [0] { DataTable_Group @.gp["InputData"] = [2] { DataTable @["StdInputData"] { DataTableCols @.data = [8] { String_Data @["Name"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Motor_Cortex"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Output"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Input"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Context"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["SNc2"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["SNc"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; int_Data @["Name_No"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; }; }; DataTable @["TransferInputData"] { DataTableCols @.data = [8] { String_Data @["Name"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Motor_Cortex"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Output"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Input"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Context"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["SNc2"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["SNc"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; int_Data @["Name_No"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; }; }; }; DataTable_Group @.gp["OutputData"] = [3] { DataTable @["TrialOutputData"] { DataTableCols @.data = [8] { int_Data @["batch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; String_Data @["trial_name"] { }; float_Data @["minus_cycles"] { }; int_Data @["r1"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["r2"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["r3"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["r4"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; }; }; DataTable @["EpochOutputData"] { DataTableCols @.data = [6] { int_Data @["batch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["avg_sse"] { }; float_Data @["cnt_err"] { }; float_Data @["avg_ext_rew"] { }; float_Data @["avg_cycles"] { }; }; }; DataTable @["CycleOutputData"] { DataTableCols @.data = [17] { int_Data @["batch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; int_Data @["trial"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; String_Data @["trial_name"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; String_Data @["group_name"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; int_Data @["phase_no"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; int_Data @["cycle"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["sse"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["ext_rew"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["STN_acts_avg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["PMC_acts_avg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Thalam_acts_avg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["GP_Int_acts_avg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["GP_Ext_acts_avg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Output_act"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["Output_units_0_act"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["SNc_acts_avg"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; }; }; }; DataTable_Group @.gp["AnalysisData"] = [4] { DataTable @["TrialOutputData_Group"] { DataTableCols @.data = [6] { String_Data @["trial_name_group"] { }; int_Data @["batch_group"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r1_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r2_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r3_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r4_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; }; }; DataTable @["trl_group"] { DataTableCols @.data = [10] { String_Data @["trial_name_group"] { }; int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r1_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r2_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r3_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r4_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["minus_cycles_mean"] { }; float_Data @["r1_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r3_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["minus_cycles_sem"] { }; }; }; DataTable @["Stats"] { DataTableCols @.data = [9] { String_Data @["trial_name_group_group"] { }; float_Data @["r1_mean_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r1_mean_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r2_mean_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r2_mean_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r3_mean_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r3_mean_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r4_mean_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; float_Data @["r4_mean_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; }; }; }; }; DataTable @["EpochOutputData_Group"] { DataTableCols @.data = [11] { int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["batch_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["batch_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["NARROW"] { }; UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["avg_sse_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["avg_sse_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["cnt_err_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["cnt_err_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["avg_ext_rew_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["avg_ext_rew_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["avg_cycles_mean"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; float_Data @["avg_cycles_sem"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_wd"] { }; }; }; }; }; }; }; Program_TopGroup @.programs = [0] { Program_Group @.gp["LeabraAll_Std"] = [13] { Program @["LeabraBatch"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [3] { ProgVar @["FlatNetwork"] { }; ProgVar @["input_data"] { }; ProgVar @["NLoops"] { }; }; ProgVar_List @.vars = [10] { ProgVar @["network"] { }; ProgVar @["batch"] { }; ProgVar @["meds"] { }; ProgVar @["DA_dip_val"] { }; ProgVar @["trl_out_data"] { }; ProgVar @["trl_group"] { }; ProgVar @["trl_group2"] { }; ProgVar @["stats"] { }; ProgVar @["max_batch"] { }; ProgVar @["num_intact_snc_units"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [6] { NetCounterInit @[0] { }; If @[1] { ProgEl_List @.true_code = [2] { AssignExpr @[0] { }; OtherProgramVar @[1] { }; }; }; Else @[2] { ProgEl_List @.else_code = [2] { AssignExpr @[0] { }; OtherProgramVar @[1] { }; }; }; ResetDataRows @[3] { }; ResetDataRows @[4] { }; ResetDataRows @[5] { }; }; ProgEl_List @.prog_code = [6] { NetCounterInit @[0] { }; WhileLoop @[1] { ProgEl_List @.loop_code = [2] { ProgramCall @[0] { ProgArg_List @.prog_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; NetCounterIncr @[1] { }; }; }; DataSelectRowsProg @[2] { DataOpList @.select_spec.ops = [1] { DataSelectEl @["minus_cycles_LESSTHAN__0"] { }; }; }; DataGroupProg @[3] { DataOpList @.group_spec.ops = [6] { DataGroupEl @["trial_name_GROUP_0"] { }; DataGroupEl @["batch_GROUP_1"] { }; DataGroupEl @["r1_MEAN_2"] { }; DataGroupEl @["r2_MEAN_3"] { }; DataGroupEl @["r3_MEAN_4"] { }; DataGroupEl @["r4_MEAN_5"] { }; }; }; DataGroupProg @[4] { DataOpList @.group_spec.ops = [9] { DataGroupEl @["trial_name_group_GROUP_0"] { }; DataGroupEl @["r1_mean_MEAN_1"] { }; DataGroupEl @["r1_mean_SEM_2"] { }; DataGroupEl @["r2_mean_MEAN_3"] { }; DataGroupEl @["r2_mean_SEM_4"] { }; DataGroupEl @["r3_mean_MEAN_5"] { }; DataGroupEl @["r3_mean_SEM_6"] { }; DataGroupEl @["r4_mean_MEAN_7"] { }; DataGroupEl @["r4_mean_SEM_8"] { }; }; }; DataGroupProg @[5] { DataOpList @.group_spec.ops = [10] { DataGroupEl @["trial_name_GROUP_0"] { }; DataGroupEl @["epoch_GROUP_1"] { }; DataGroupEl @["r1_MEAN_2"] { }; DataGroupEl @["r2_MEAN_3"] { }; DataGroupEl @["r3_MEAN_4"] { }; DataGroupEl @["r4_MEAN_5"] { }; DataGroupEl @["minus_cycles_MEAN_6"] { }; DataGroupEl @["r1_SEM_7"] { }; DataGroupEl @["r3_SEM_8"] { }; DataGroupEl @["minus_cycles_SEM_9"] { }; }; }; }; }; Program @["LeabraTrain"] { ProgObjList @.objs = [1] { RndSeed @["rnd_seed"] { }; }; ProgType_List @.types = [1] { DynEnumType @["RndInitType"] { DynEnumItem_List @.enums = [2] { DynEnumItem @["OLD_SEED"] { }; DynEnumItem @["NEW_SEED"] { }; }; }; }; ProgVar_List @.args = [4] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; ProgVar @["FlatNetwork"] { }; ProgVar @["no_prompts"] { }; }; ProgVar_List @.vars = [23] { ProgVar @["max_epoch"] { }; ProgVar @["max_epoch_reel"] { }; ProgVar @["train_mode"] { }; ProgVar @["test_mode"] { }; ProgVar @["rnd_init"] { }; ProgVar @["epoch"] { }; ProgVar @["inside_epoch"] { }; ProgVar @["err_stopcrit"] { }; ProgVar @["rnd_seed"] { }; ProgVar @["Test"] { }; ProgVar @["train_timer"] { }; ProgVar @["j"] { }; ProgVar @["i"] { }; ProgVar @["periode"] { }; ProgVar @["num_intact_snc_units"] { }; ProgVar @["snc_size"] { }; ProgVar @["SNc"] { }; ProgVar @["StdInputData"] { }; ProgVar @["SuccessiveCor"] { }; ProgVar @["d2"] { }; ProgVar @["d1"] { }; ProgVar @["inGo"] { }; ProgVar @["inNoGO"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [7] { AssignExpr @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; AssignExpr @[2] { }; NetCounterInit @[3] { }; If @[4] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; Else @[5] { ProgEl_List @.else_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; IfGuiPrompt @[6] { ProgEl_List @.yes_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; PrintExpr @[1] { }; }; }; }; ProgEl_List @.prog_code = [21] { LocalVars @[0] { ProgVar_List @.local_vars = [5] { ProgVar @["d2_acq"] { }; ProgVar @["d1_acq"] { }; ProgVar @["d2_perf"] { }; ProgVar @["d1_perf"] { }; ProgVar @["d2_acq_4"] { }; }; }; AssignExpr @[1] { }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; NetCounterInit @[3] { }; MemberAssign @[4] { }; If @[5] { ProgEl_List @.true_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; PrintExpr @[1] { }; }; }; AssignExpr @[6] { }; OtherProgramVar @[7] { }; OtherProgramVar @[8] { }; AssignExpr @[9] { }; AssignExpr @[10] { }; MemberAssign @[11] { }; MemberAssign @[12] { }; MemberAssign @[13] { }; MemberAssign @[14] { }; WhileLoop @[15] { ProgEl_List @.loop_code = [7] { MemberAssign @[0] { }; AssignExpr @[1] { }; ProgramCall @[2] { ProgArg_List @.prog_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; NetCounterIncr @[3] { }; If @[4] { ProgEl_List @.true_code = [1] { AssignExpr @[0] { }; }; }; Else @[5] { ProgEl_List @.else_code = [1] { AssignExpr @[0] { }; }; }; MemberAssign @[6] { }; }; }; MemberAssign @[16] { }; MemberAssign @[17] { }; WhileLoop @[18] { ProgEl_List @.loop_code = [5] { MemberAssign @[0] { }; AssignExpr @[1] { }; ProgramCall @[2] { ProgArg_List @.prog_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; NetCounterIncr @[3] { }; MemberAssign @[4] { }; }; }; OtherProgramVar @[19] { }; MethodCall @[20] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraEpoch"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [4] { ProgVar @["network"] { }; ProgVar @["periode"] { }; ProgVar @["FlatNetwork"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [6] { ProgVar @["data_loop_order"] { }; ProgVar @["trial"] { }; ProgVar @["trial_mon_data"] { }; ProgVar @["epoch_timer"] { }; ProgVar @["data_loop_index"] { }; ProgVar @["NLoops"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [2] { NetCounterInit @[0] { }; AssignExpr @[1] { }; }; ProgEl_List @.prog_code = [9] { NetCounterInit @[0] { }; AssignExpr @[1] { }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; NetDataLoop @[4] { ProgEl_List @.loop_code = [2] { ProgramCall @[0] { ProgArg_List @.prog_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; If @[1] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; }; }; If @[5] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; MethodCall @[6] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[7] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[8] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraTrial"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [3] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; ProgVar @["FlatNetwork"] { }; }; ProgVar_List @.vars = [19] { ProgVar @["phase_no"] { }; ProgVar @["update_net_view"] { }; ProgVar @["NLoops"] { }; ProgVar @["actM0"] { }; ProgVar @["Motor_Cortex"] { }; ProgVar @["actM1"] { }; ProgVar @["actM2"] { }; ProgVar @["actM3"] { }; ProgVar @["actM4"] { }; ProgVar @["actM5"] { }; ProgVar @["actM6"] { }; ProgVar @["actM7"] { }; ProgVar @["action"] { }; ProgVar @["r1"] { }; ProgVar @["r2"] { }; ProgVar @["r3"] { }; ProgVar @["r4"] { }; ProgVar @["Output"] { }; ProgVar @["bias"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { NetCounterInit @[0] { }; }; ProgEl_List @.prog_code = [20] { NetCounterInit @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; WhileLoop @[2] { ProgEl_List @.loop_code = [3] { ProgramCall @[0] { ProgArg_List @.prog_args = [3] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; }; }; NetCounterIncr @[1] { }; MethodCall @[2] { ProgArg_List @.meth_args = [0] { }; }; }; }; AssignExpr @[3] { }; AssignExpr @[4] { }; AssignExpr @[5] { }; AssignExpr @[6] { }; AssignExpr @[7] { }; AssignExpr @[8] { }; AssignExpr @[9] { }; AssignExpr @[10] { }; AssignExpr @[11] { }; AssignExpr @[12] { }; AssignExpr @[13] { }; AssignExpr @[14] { }; AssignExpr @[15] { }; If @[16] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; }; }; Else @[1] { ProgEl_List @.else_code = [2] { If @[0] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; }; }; Else @[1] { ProgEl_List @.else_code = [2] { If @[0] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; }; }; Else @[1] { ProgEl_List @.else_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; }; }; }; }; }; }; }; }; MethodCall @[17] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[18] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; NetUpdateView @[19] { }; }; }; Program @["LeabraSettle"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [3] { ProgVar @["network"] { }; ProgVar @["FlatNetwork"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [6] { ProgVar @["cycle"] { }; ProgVar @["min_cycles"] { }; ProgVar @["update_net_view"] { }; ProgVar @["Output"] { }; ProgVar @["Thal"] { }; ProgVar @["NLoops"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [1] { NetCounterInit @[0] { }; }; ProgEl_List @.prog_code = [16] { NetCounterInit @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; ProgramCall @[4] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; ProgramCall @[5] { ProgArg_List @.prog_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; If @[6] { ProgEl_List @.true_code = [1] { MemberAssign @[0] { }; }; }; Else @[7] { ProgEl_List @.else_code = [1] { MemberAssign @[0] { }; }; }; MethodCall @[8] { ProgArg_List @.meth_args = [0] { }; }; If @[9] { ProgEl_List @.true_code = [1] { AssignExpr @[0] { }; }; }; Else @[10] { ProgEl_List @.else_code = [1] { AssignExpr @[0] { }; }; }; WhileLoop @[11] { ProgEl_List @.loop_code = [7] { ProgramCall @[0] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; NetCounterIncr @[1] { }; IfContinue @[2] { }; IfBreak @[3] { }; If @[4] { ProgEl_List @.true_code = [2] { PrintExpr @[0] { }; PrintExpr @[1] { }; }; }; IfBreak @[5] { }; IfBreak @[6] { }; }; }; MethodCall @[12] { ProgArg_List @.meth_args = [0] { }; }; If @[13] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; If @[14] { ProgEl_List @.true_code = [1] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; }; }; NetUpdateView @[15] { }; }; }; Program @["LeabraCycle"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [2] { ProgVar @["update_net_view"] { }; ProgVar @["i"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [5] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; NetUpdateView @[1] { }; If @[2] { ProgEl_List @.true_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [2] { MemberAssign @[0] { }; PrintExpr @[1] { }; }; }; }; }; Else @[3] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [0] { }; }; }; }; ProgramCall @[4] { ProgArg_List @.prog_args = [1] { ProgArg @[0] { }; }; }; }; }; Program @["ApplyInput1"] { ProgObjList @.objs = [1] { LayerWriter @["LayerWriter_0"] { LayerDataEl_List @.layer_data = [6] { LayerWriterEl @[0] { }; LayerWriterEl @[1] { }; LayerWriterEl @[2] { }; LayerWriterEl @[3] { }; LayerWriterEl @[4] { }; LayerWriterEl @[5] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [1] { ProgVar @["LayerWriter_0"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [2] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraTrialMonitor"] { ProgObjList @.objs = [1] { NetMonitor @["trial_netmon"] { NetMonItem_List @.items = [8] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["trial_name"] { }; NetMonItem @["minus_cycles"] { }; NetMonItem @["r1"] { }; NetMonItem @["r2"] { }; NetMonItem @["r3"] { }; NetMonItem @["r4"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [2] { ProgVar @["trial_mon_data"] { }; ProgVar @["trial_netmon"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [3] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [4] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[2] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[3] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; }; }; Program @["Cycle_Monitor"] { ProgObjList @.objs = [1] { NetMonitor @["cycle_netmon"] { NetMonItem_List @.items = [17] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["trial"] { }; NetMonItem @["trial_name"] { }; NetMonItem @["group_name"] { }; NetMonItem @["phase_no"] { }; NetMonItem @["cycle"] { }; NetMonItem @["sse"] { }; NetMonItem @["ext_rew"] { }; NetMonItem @["STN_acts_avg"] { }; NetMonItem @["Motor__acts_avg"] { }; NetMonItem @["Thalam_acts_avg"] { }; NetMonItem @["GP_Int_acts_avg"] { }; NetMonItem @["GP_Ext_acts_avg"] { }; NetMonItem @["Output_act"] { }; NetMonItem @["Output_units_0_act"] { }; NetMonItem @["SNc_acts_avg"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [2] { ProgVar @["cycle_mon_data"] { }; ProgVar @["cycle_netmon"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [3] { MethodCall @[0] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[1] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [5] { IfReturn @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[2] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[4] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; }; }; Program @["LeabraEpochMonitor"] { ProgObjList @.objs = [1] { NetMonitor @["epoch_netmon"] { NetMonItem_List @.items = [6] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["avg_sse"] { }; NetMonItem @["cnt_err"] { }; NetMonItem @["avg_ext_rew"] { }; NetMonItem @["avg_cycles"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["FlatNetwork"] { }; }; ProgVar_List @.vars = [3] { ProgVar @["epoch_mon_data"] { }; ProgVar @["epoch_netmon"] { }; ProgVar @["epoch_timer"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [4] { AssignExpr @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[3] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [4] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; AssignExpr @[2] { }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["LeabraEpochMonitor_10"] { ProgObjList @.objs = [1] { NetMonitor @["epoch_netmon"] { NetMonItem_List @.items = [6] { NetMonItem @["batch"] { }; NetMonItem @["epoch"] { }; NetMonItem @["avg_sse"] { }; NetMonItem @["cnt_err"] { }; NetMonItem @["avg_ext_rew"] { }; NetMonItem @["avg_cycles"] { }; }; }; }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["FlatNetwork"] { }; }; ProgVar_List @.vars = [3] { ProgVar @["epoch_mon_data"] { }; ProgVar @["epoch_netmon"] { }; ProgVar @["epoch_timer"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [4] { AssignExpr @[0] { }; MethodCall @[1] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MethodCall @[2] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; MethodCall @[3] { ProgArg_List @.meth_args = [1] { ProgArg @[0] { }; }; }; }; ProgEl_List @.prog_code = [4] { MethodCall @[0] { ProgArg_List @.meth_args = [0] { }; }; MethodCall @[1] { ProgArg_List @.meth_args = [0] { }; }; AssignExpr @[2] { }; MethodCall @[3] { ProgArg_List @.meth_args = [0] { }; }; }; }; Program @["SaveWeights"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [1] { ProgVar @["network"] { }; }; ProgVar_List @.vars = [6] { ProgVar @["tag"] { }; ProgVar @["wts_subdir"] { }; ProgVar @["fname"] { }; ProgVar @["epoch_str"] { }; ProgVar @["batch_str"] { }; ProgVar @["final_tag"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [6] { IfReturn @[0] { }; MiscCall @[1] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; MiscCall @[2] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; AssignExpr @[3] { }; MethodCall @[4] { ProgArg_List @.meth_args = [4] { ProgArg @[0] { }; ProgArg @[1] { }; ProgArg @[2] { }; ProgArg @[3] { }; }; }; MethodCall @[5] { ProgArg_List @.meth_args = [2] { ProgArg @[0] { }; ProgArg @[1] { }; }; }; }; }; Program @["DA_Rew_Punish"] { ProgObjList @.objs = [0] { }; ProgType_List @.types = [0] { }; ProgVar_List @.args = [2] { ProgVar @["network"] { }; ProgVar @["input_data"] { }; }; ProgVar_List @.vars = [28] { ProgVar @["num_intact_snc_units"] { }; ProgVar @["snc_size"] { }; ProgVar @["k"] { }; ProgVar @["sse"] { }; ProgVar @["bias"] { }; ProgVar @["act0"] { }; ProgVar @["act1"] { }; ProgVar @["actM0"] { }; ProgVar @["actM1"] { }; ProgVar @["actM2"] { }; ProgVar @["actM3"] { }; ProgVar @["actM4"] { }; ProgVar @["actM5"] { }; ProgVar @["actM6"] { }; ProgVar @["actM7"] { }; ProgVar @["SNc"] { }; ProgVar @["Output"] { }; ProgVar @["Motor_Cortex"] { }; ProgVar @["i"] { }; ProgVar @["TS"] { }; ProgVar @["action"] { }; ProgVar @["tonic_DA"] { }; ProgVar @["op_sse"] { }; ProgVar @["DA_dip_val"] { }; ProgVar @["DA_burst_val"] { }; ProgVar @["biasValue"] { }; ProgVar @["biasInHid"] { }; ProgVar @["cycle"] { }; }; Function_List @.functions = [0] { }; ProgEl_List @.init_code = [0] { }; ProgEl_List @.prog_code = [8] { AssignExpr @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; AssignExpr @[4] { }; AssignExpr @[5] { }; If @[6] { ProgEl_List @.true_code = [21] { AssignExpr @[0] { }; AssignExpr @[1] { }; AssignExpr @[2] { }; AssignExpr @[3] { }; AssignExpr @[4] { }; AssignExpr @[5] { }; AssignExpr @[6] { }; AssignExpr @[7] { }; MemberAssign @[8] { }; MemberAssign @[9] { }; MemberAssign @[10] { }; MemberAssign @[11] { }; MemberAssign @[12] { }; MemberAssign @[13] { }; MemberAssign @[14] { }; MemberAssign @[15] { }; ForLoop @[16] { ProgEl_List @.loop_code = [1] { CssExpr @[0] { }; }; }; AssignExpr @[17] { }; If @[18] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [3] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; }; }; Else @[1] { ProgEl_List @.else_code = [2] { If @[0] { ProgEl_List @.true_code = [3] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; }; }; Else @[1] { ProgEl_List @.else_code = [2] { If @[0] { ProgEl_List @.true_code = [3] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; }; }; Else @[1] { ProgEl_List @.else_code = [3] { CssExpr @[0] { }; CssExpr @[1] { }; AssignExpr @[2] { }; }; }; }; }; }; }; }; }; If @[19] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [2] { If @[0] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; }; }; Else @[20] { ProgEl_List @.else_code = [1] { If @[0] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [2] { If @[0] { ProgEl_List @.true_code = [2] { If @[0] { ProgEl_List @.true_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; Else @[1] { ProgEl_List @.else_code = [1] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; }; }; }; }; }; }; Else @[7] { ProgEl_List @.else_code = [6] { ForLoop @[0] { ProgEl_List @.loop_code = [1] { CssExpr @[0] { }; }; }; If @[1] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; CssExpr @[2] { }; CssExpr @[3] { }; }; }; If @[2] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; CssExpr @[2] { }; CssExpr @[3] { }; }; }; If @[3] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; If @[2] { ProgEl_List @.true_code = [2] { CssExpr @[0] { }; CssExpr @[1] { }; }; }; Else @[3] { ProgEl_List @.else_code = [2] { CssExpr @[0] { }; CssExpr @[1] { }; }; }; }; }; If @[4] { ProgEl_List @.true_code = [4] { CssExpr @[0] { }; CssExpr @[1] { }; If @[2] { ProgEl_List @.true_code = [2] { CssExpr @[0] { }; CssExpr @[1] { }; }; }; Else @[3] { ProgEl_List @.else_code = [2] { CssExpr @[0] { }; CssExpr @[1] { }; }; }; }; }; ForLoop @[5] { ProgEl_List @.loop_code = [1] { MemberAssign @[0] { }; }; }; }; }; }; }; }; }; taViewer_List @.viewers = [1] { MainWindowViewer @["Browser"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_win_lft"] { }; UserDataItem @["view_win_top"] { }; UserDataItem @["view_win_wd"] { }; UserDataItem @["view_win_ht"] { }; UserDataItem @["view_win_iconified"] { }; UserDataItem @["view_splitter_state"] { }; }; ToolBar_List @.toolbars = [1] { ToolBar @["Application"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_win_visible"] { }; }; }; }; FrameViewer_List @.frames = [3] { BrowseViewerTaBase @["Tree"] { }; PanelViewer @["Panels"] { }; T3PanelViewer @["T3Frames"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_panel_selected"] { }; }; T3Panel_List @.panels = [3] { T3Panel @["BGLoop1"] { T3DataView_List @.root_view.children = [1] { NetView @["BG_4s_View"] { T3Annotation_List @.annotations = [0] { }; T3DataView_List @.annote_children = [0] { }; ScaleRange_List @.scale_ranges = [11] { ScaleRange @[0] { }; ScaleRange @[1] { }; ScaleRange @[2] { }; ScaleRange @[3] { }; ScaleRange @[4] { }; ScaleRange @[5] { }; ScaleRange @[6] { }; ScaleRange @[7] { }; ScaleRange @[8] { }; ScaleRange @[9] { }; ScaleRange @[10] { }; }; }; }; T3SavedView_List @.saved_views = [10] { T3SavedView @["Vw_0"] { }; T3SavedView @["Vw_1"] { }; T3SavedView @["Vw_2"] { }; T3SavedView @["Vw_3"] { }; T3SavedView @["Vw_4"] { }; T3SavedView @["Vw_5"] { }; T3SavedView @["Vw_6"] { }; T3SavedView @["Vw_7"] { }; T3SavedView @["Vw_8"] { }; T3SavedView @["Vw_9"] { }; }; }; T3Panel @["Stats"] { T3DataView_List @.root_view.children = [1] { GraphTableView @["Stats_Graph"] { T3DataView_List @.children = [9] { GraphColView @["trial_name_group_group"] { }; GraphColView @["r1_mean_mean"] { }; GraphColView @["r1_mean_sem"] { }; GraphColView @["r2_mean_mean"] { }; GraphColView @["r2_mean_sem"] { }; GraphColView @["r3_mean_mean"] { }; GraphColView @["r3_mean_sem"] { }; GraphColView @["r4_mean_mean"] { }; GraphColView @["r4_mean_sem"] { }; }; T3Annotation_List @.annotations = [0] { }; T3DataView_List @.annote_children = [0] { }; GraphPlotView_List @.plots = [16] { GraphPlotView @["Stats_Graph_plot_1"] { }; GraphPlotView @["Stats_Graph_plot_2"] { }; GraphPlotView @["Stats_Graph_plot_3"] { }; GraphPlotView @["Stats_Graph_plot_4"] { }; GraphPlotView @["Stats_Graph_plot_5"] { }; GraphPlotView @["Stats_Graph_plot_6"] { }; GraphPlotView @["Stats_Graph_plot_7"] { }; GraphPlotView @["Stats_Graph_plot_8"] { }; GraphPlotView @["Stats_Graph_plot_9"] { }; GraphPlotView @["Stats_Graph_plot_10"] { }; GraphPlotView @["Stats_Graph_plot_11"] { }; GraphPlotView @["Stats_Graph_plot_12"] { }; GraphPlotView @["Stats_Graph_plot_13"] { }; GraphPlotView @["Stats_Graph_plot_14"] { }; GraphPlotView @["Stats_Graph_plot_15"] { }; GraphPlotView @["Stats_Graph_plot_16"] { }; }; GraphPlotView_List @.errbars = [16] { GraphPlotView @["Stats_Graph_err_1"] { }; GraphPlotView @["Stats_Graph_err_2"] { }; GraphPlotView @["Stats_Graph_err_3"] { }; GraphPlotView @["Stats_Graph_err_4"] { }; GraphPlotView @["Stats_Graph_err_5"] { }; GraphPlotView @["Stats_Graph_err_6"] { }; GraphPlotView @["Stats_Graph_err_7"] { }; GraphPlotView @["Stats_Graph_err_8"] { }; GraphPlotView @["Stats_Graph_err_9"] { }; GraphPlotView @["Stats_Graph_err_10"] { }; GraphPlotView @["Stats_Graph_err_11"] { }; GraphPlotView @["Stats_Graph_err_12"] { }; GraphPlotView @["Stats_Graph_err_13"] { }; GraphPlotView @["Stats_Graph_err_14"] { }; GraphPlotView @["Stats_Graph_err_15"] { }; GraphPlotView @["Stats_Graph_err_16"] { }; }; }; }; T3SavedView_List @.saved_views = [10] { T3SavedView @["Vw_0"] { }; T3SavedView @["Vw_1"] { }; T3SavedView @["Vw_2"] { }; T3SavedView @["Vw_3"] { }; T3SavedView @["Vw_4"] { }; T3SavedView @["Vw_5"] { }; T3SavedView @["Vw_6"] { }; T3SavedView @["Vw_7"] { }; T3SavedView @["Vw_8"] { }; T3SavedView @["Vw_9"] { }; }; }; T3Panel @["trl_group"] { T3DataView_List @.root_view.children = [1] { GraphTableView @["trl_group2_Graph"] { T3DataView_List @.children = [10] { GraphColView @["trial_name_group"] { }; GraphColView @["epoch_group"] { }; GraphColView @["r1_mean"] { }; GraphColView @["r2_mean"] { }; GraphColView @["r3_mean"] { }; GraphColView @["r4_mean"] { }; GraphColView @["minus_cycles_mean"] { }; GraphColView @["r1_sem"] { }; GraphColView @["r3_sem"] { }; GraphColView @["minus_cycles_sem"] { }; }; T3Annotation_List @.annotations = [0] { }; T3DataView_List @.annote_children = [0] { }; GraphPlotView_List @.plots = [16] { GraphPlotView @["trl_group2_Graph_plot_1"] { }; GraphPlotView @["trl_group2_Graph_plot_2"] { }; GraphPlotView @["trl_group2_Graph_plot_3"] { }; GraphPlotView @["trl_group2_Graph_plot_4"] { }; GraphPlotView @["trl_group2_Graph_plot_5"] { }; GraphPlotView @["trl_group2_Graph_plot_6"] { }; GraphPlotView @["trl_group2_Graph_plot_7"] { }; GraphPlotView @["trl_group2_Graph_plot_8"] { }; GraphPlotView @["trl_group2_Graph_plot_9"] { }; GraphPlotView @["trl_group2_Graph_plot_10"] { }; GraphPlotView @["trl_group2_Graph_plot_11"] { }; GraphPlotView @["trl_group2_Graph_plot_12"] { }; GraphPlotView @["trl_group2_Graph_plot_13"] { }; GraphPlotView @["trl_group2_Graph_plot_14"] { }; GraphPlotView @["trl_group2_Graph_plot_15"] { }; GraphPlotView @["trl_group2_Graph_plot_16"] { }; }; GraphPlotView_List @.errbars = [16] { GraphPlotView @["trl_group2_Graph_err_1"] { }; GraphPlotView @["trl_group2_Graph_err_2"] { }; GraphPlotView @["trl_group2_Graph_err_3"] { }; GraphPlotView @["trl_group2_Graph_err_4"] { }; GraphPlotView @["trl_group2_Graph_err_5"] { }; GraphPlotView @["trl_group2_Graph_err_6"] { }; GraphPlotView @["trl_group2_Graph_err_7"] { }; GraphPlotView @["trl_group2_Graph_err_8"] { }; GraphPlotView @["trl_group2_Graph_err_9"] { }; GraphPlotView @["trl_group2_Graph_err_10"] { }; GraphPlotView @["trl_group2_Graph_err_11"] { }; GraphPlotView @["trl_group2_Graph_err_12"] { }; GraphPlotView @["trl_group2_Graph_err_13"] { }; GraphPlotView @["trl_group2_Graph_err_14"] { }; GraphPlotView @["trl_group2_Graph_err_15"] { }; GraphPlotView @["trl_group2_Graph_err_16"] { }; }; }; }; T3SavedView_List @.saved_views = [10] { T3SavedView @["Vw_0"] { }; T3SavedView @["Vw_1"] { }; T3SavedView @["Vw_2"] { }; T3SavedView @["Vw_3"] { }; T3SavedView @["Vw_4"] { }; T3SavedView @["Vw_5"] { }; T3SavedView @["Vw_6"] { }; T3SavedView @["Vw_7"] { }; T3SavedView @["Vw_8"] { }; T3SavedView @["Vw_9"] { }; }; }; }; }; }; DockViewer_List @.docks = [1] { ToolBoxDockViewer @["Tools"] { UserDataItem_List @*(.user_data_) { UserDataItem @["view_win_lft"] { }; UserDataItem @["view_win_top"] { }; UserDataItem @["view_win_wd"] { }; UserDataItem @["view_win_ht"] { }; UserDataItem @["view_win_iconified"] { }; UserDataItem @["view_visible"] { }; }; }; }; }; }; Network_Group @.networks = [1] { LeabraNetwork @["BG_4s"] { UserDataItem_List @*(.user_data_) { UserDataItem @["trial_cos_diff"] { }; UserDataItem @["avg_act_diff"] { }; UserDataItem @["cos_diff"] { }; UserDataItem @["cos_err"] { }; UserDataItem @["norm_err"] { }; UserDataItem @["ext_rew"] { }; UserDataItem @["maxda"] { }; UserDataItem @["minus_output_name"] { }; UserDataItem @["minus_cycles"] { }; UserDataItem @["ct_cycle"] { }; UserDataItem @["phase_no"] { }; UserDataItem @["phase"] { }; UserDataItem @["sse"] { }; UserDataItem @["output_name"] { }; UserDataItem @["trial_name"] { }; UserDataItem @["group_name"] { }; UserDataItem @["time"] { }; UserDataItem @["cycle"] { }; UserDataItem @["tick"] { }; UserDataItem @["trial"] { }; UserDataItem @["group"] { }; UserDataItem @["epoch"] { }; UserDataItem @["batch"] { }; }; BaseSpec_Group @.specs = [3] { ConSpec @["ConSpec_0"] { BaseSpec_Group @.children = [0] { }; }; UniformRndPrjnSpec @["STN_GPe_RndPrjnSpec_0"] { BaseSpec_Group @.children = [0] { }; }; UniformRndPrjnSpec @["GPe_STN_RndPrjnSpec_1"] { BaseSpec_Group @.children = [0] { }; }; BaseSpec_Group @.gp["LeabraPrjns"] = [20] { FullPrjnSpec @["FullPrjnSpec_0"] { BaseSpec_Group @.children = [0] { }; }; OneToOnePrjnSpec @["OneToOne"] { BaseSpec_Group @.children = [0] { }; }; TesselPrjnSpec @["Striatum_GPext"] { BaseSpec_Group @.children = [1] { TesselPrjnSpec @["PFC_Act_Deep"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; TesselPrjnSpec @["Striatum2_GPext2"] { BaseSpec_Group @.children = [1] { TesselPrjnSpec @["PFC_Act_Deep"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; TesselPrjnSpec @["dMatrosomesGP"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [9] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; }; }; TesselPrjnSpec @["SNc_GO"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [12] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; }; }; TesselPrjnSpec @["SNc_GO2"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [12] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; }; }; TesselPrjnSpec @["Context_TS_1"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [6] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; }; }; TesselPrjnSpec @["Context_TS_2"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [6] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; }; }; TesselPrjnSpec @["Context_TS_3"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [6] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; }; }; TesselPrjnSpec @["MotorCortex_Striatum"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [2] { TessEl @[0] { }; TessEl @[1] { }; }; }; TesselPrjnSpec @["SNc_NOGO"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [12] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; }; }; TesselPrjnSpec @["SNc_NOGO2"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [12] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; }; }; TesselPrjnSpec @["Striatum_GPInt"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [18] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; TessEl @[6] { }; TessEl @[7] { }; TessEl @[8] { }; TessEl @[9] { }; TessEl @[10] { }; TessEl @[11] { }; TessEl @[12] { }; TessEl @[13] { }; TessEl @[14] { }; TessEl @[15] { }; TessEl @[16] { }; TessEl @[17] { }; }; }; TesselPrjnSpec @["Fm_Stimuli_To_MC"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [6] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; TessEl @[4] { }; TessEl @[5] { }; }; }; TesselPrjnSpec @["MotorCortex2_NoGoStriatum2"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [4] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; }; }; TesselPrjnSpec @["MotorCortex_NoGoStriatum"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [4] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; }; }; TesselPrjnSpec @["Fm_Output2_To_InputHidden"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [4] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; }; }; TesselPrjnSpec @["Fm_Output2_To_InputHiddenB"] { BaseSpec_Group @.children = [0] { }; TessEl_List @.send_offs = [4] { TessEl @[0] { }; TessEl @[1] { }; TessEl @[2] { }; TessEl @[3] { }; }; }; OneToOnePrjnSpec @["OneToOne_2"] { BaseSpec_Group @.children = [0] { }; }; }; BaseSpec_Group @.gp["Connections"] = [13] { LeabraBiasSpec @["LearnBias"] { BaseSpec_Group @.children = [1] { LeabraBiasSpec @["FixedBias"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["FixedFull"] { BaseSpec_Group @.children = [1] { LeabraConSpec @["InhibCons"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["FixedFull2"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["FixedFull3"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["FixedHalf"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["GPeGPiInhib"] { BaseSpec_Group @.children = [4] { LeabraConSpec @["ThalInhib"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["ThalInhib2"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Inhib_Learn"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Inhib_Learn2"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Fixed"] { BaseSpec_Group @.children = [13] { LeabraConSpec @["STNcons"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["MotorCortex_Striatum"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["MotorCortex2_Striatum2"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Motor_NoGo"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Motor_NoGo2"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Input_Motor_Prepotent_"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Context_Motor_prepotent"] { BaseSpec_Group @.children = [1] { LeabraConSpec @["C_TS"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["InputStriatum"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["inNoGO"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["ContextStriatum"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["MC2_Striatum"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["STN_GPi"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Mtr_STNcons"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Dopamine_D1_"] { BaseSpec_Group @.children = [1] { LeabraConSpec @["D1_Stronger"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["SNc_Inhib_D2_"] { BaseSpec_Group @.children = [1] { LeabraConSpec @["D2_Stronger"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["Inhib"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["NoGo_inhib_Go"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["InhibInhib"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; LeabraConSpec @["FBtoInhib"] { BaseSpec_Group @.children = [1] { LeabraConSpec @["FFtoInhib"] { BaseSpec_Group @.children = [0] { }; Schedule @.lrate_sched = [0] { }; }; }; Schedule @.lrate_sched = [0] { }; }; }; BaseSpec_Group @.gp["Units"] = [3] { LeabraUnitSpec @["FixedBiasUnitSpec"] { BaseSpec_Group @.children = [7] { LeabraUnitSpec @["GPExt_UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["OutputUnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["Output3UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["Thalamus"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["LearnBiasUnitSpec"] { BaseSpec_Group @.children = [4] { LeabraUnitSpec @["matrisom_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["Motor_Cortex_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [4] { SchedItem @[0] { }; SchedItem @[1] { }; SchedItem @[2] { }; SchedItem @[3] { }; }; }; LeabraUnitSpec @["Motor_Cortex_1_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [4] { SchedItem @[0] { }; SchedItem @[1] { }; SchedItem @[2] { }; SchedItem @[3] { }; }; }; LeabraUnitSpec @["STN_unitspec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["GPInt_UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["InhibUnits"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["SNc_UnitSpec"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; LeabraUnitSpec @["SNc_UnitSpec_slower"] { BaseSpec_Group @.children = [0] { }; Schedule @.noise_sched = [0] { }; }; }; BaseSpec_Group @.gp["LayerSpecs"] = [5] { LeabraLayerSpec @["LayerSpec_0"] { BaseSpec_Group @.children = [9] { LeabraLayerSpec @["Matrisome_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["GP_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Thalamus_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Output_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["InputLayer"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["SNc_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["MCLayerSpec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["MC2LayerSpec"] { BaseSpec_Group @.children = [0] { }; }; }; }; LeabraLayerSpec @["inhidden"] { BaseSpec_Group @.children = [7] { LeabraLayerSpec @["Matrisome_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["GP_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Thalamus_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Output_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["InputLayer"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["SNc_layerspec"] { BaseSpec_Group @.children = [0] { }; }; }; }; LeabraLayerSpec @["LayerSpec_1"] { BaseSpec_Group @.children = [7] { LeabraLayerSpec @["Matrisome_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["GP_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Thalamus_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["Output_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["InputLayer"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["SNc_layerspec"] { BaseSpec_Group @.children = [0] { }; }; }; }; LeabraLayerSpec @["NoDecayLayers"] { BaseSpec_Group @.children = [2] { LeabraLayerSpec @["STN"] { BaseSpec_Group @.children = [0] { }; }; LeabraLayerSpec @["PFCIn_layerspec"] { BaseSpec_Group @.children = [0] { }; }; }; }; LeabraLayerSpec @["InhibLayers"] { BaseSpec_Group @.children = [0] { }; }; }; }; Layer_Group @.layers = [8] { LeabraLayer @["Input"] { Projection_Group @.projections = [0] { }; Unit_Group @.units = [18] { }; }; LeabraLayer @["GP_Int"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_Go"] { }; LeabraPrjn @["Fm_GP_Ext"] { }; }; Unit_Group @.units = [8] { }; }; LeabraLayer @["GP_Ext"] { Projection_Group @.projections = [1] { LeabraPrjn @["Fm_NoGo"] { }; }; Unit_Group @.units = [4] { }; }; LeabraLayer @["Thalamus"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_GP_Int"] { }; LeabraPrjn @["Fm_PMC"] { }; }; Unit_Group @.units = [4] { }; }; LeabraLayer @["PMC"] { Projection_Group @.projections = [3] { LeabraPrjn @["Fm_Thalamus"] { }; LeabraPrjn @["Fm_ctxt"] { }; LeabraPrjn @["Fm_Input"] { }; }; Unit_Group @.units = [8] { }; }; LeabraLayer @["Output"] { Projection_Group @.projections = [2] { LeabraPrjn @["Fm_PMC"] { }; LeabraPrjn @["Fm_PMC_1"] { }; }; Unit_Group @.units = [4] { }; }; LeabraLayer @["SNc"] { Projection_Group @.projections = [0] { }; Unit_Group @.units = [4] { }; }; LeabraLayer @["ctxt"] { Projection_Group @.projections = [0] { }; Unit_Group @.units = [18] { }; }; Layer_Group @.gp["Striatum"] = [3] { LeabraLayer @["Go"] { Projection_Group @.projections = [6] { LeabraPrjn @["Fm_Input"] { }; LeabraPrjn @["Fm_ctxt"] { }; LeabraPrjn @["Fm_Striatum_Inhib"] { }; LeabraPrjn @["Fm_SNc"] { }; LeabraPrjn @["Fm_PMC"] { }; LeabraPrjn @["Fm_NoGo"] { }; }; Unit_Group @.units = [36] { }; }; LeabraLayer @["NoGo"] { Projection_Group @.projections = [5] { LeabraPrjn @["Fm_Input"] { }; LeabraPrjn @["Fm_ctxt"] { }; LeabraPrjn @["Fm_Striatum_Inhib"] { }; LeabraPrjn @["Fm_SNc"] { }; LeabraPrjn @["Fm_PMC"] { }; }; Unit_Group @.units = [36] { }; }; LeabraLayer @["Striatum_Inhib"] { Projection_Group @.projections = [7] { LeabraPrjn @["Fm_Input"] { }; LeabraPrjn @["Fm_ctxt"] { }; LeabraPrjn @["Fm_SNc"] { }; LeabraPrjn @["Fm_PMC"] { }; LeabraPrjn @["Fm_Striatum_Inhib"] { }; LeabraPrjn @["Fm_Go"] { }; LeabraPrjn @["Fm_NoGo"] { }; }; Unit_Group @.units = [16] { }; }; }; }; Weights_List @.weights = [0] { }; }; }; }; LeabraProject .projects["BG_1_"] { name="BG_1_"; desc="mtrNoGoGlut: stronger glutamate projns from ctx to NoGo (mGluR!) nodecMat = no decay b/w phases in matrix, so can learn about recently active synapse"; tags=; version { major=0; minor=0; step=0; }; license { owner=; license=NO_LIC; org=; year="2011"; custom=; }; wiki_url { sync=0; wiki=; url=; }; docs { name="docs"; el_typ=taDoc; el_def=0; taDoc @["ProjectDocs"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["user_pinned"] { name="user_pinned"; value 1 0=1; val_type_fixed=0; }; }; name="ProjectDocs"; desc=; web_doc=1; wiki="CCN"; url="CCNBook/Sims/Motor/BG"; full_url="http://grey.colorado.edu/CompCogNeuro/index.php/CCNBook/Sims/Motor/BG"; text_size=1; text=; html_text=" CCNBook/Sims/Motor/BG - Computational Cognitive Neuroscience Wiki

CCNBook/Sims/Motor/BG

From Computational Cognitive Neuroscience Wiki
Jump to: navigation, search

Action Selection and Probabilistic Reinforcement Learning in the Basal Ganglia

(click and Save As to download, then open in Emergent)

Project Documentation

This simplified basal ganglia (BG) network considers learning and action selection among just two alternative responses (but see Frank (2006) for a model with four alternative choices and also explores the function of the subthalamic nucleus and the 'hyperdirect' pathway).

? It is recommended that you click here to undock this document from the main project window. Use the Window menu to find this window if you lose it, and you can always return to this document by browsing to this document from the docs section in the left browser panel of the project's main window.

The BG circuitry is notoriously complex and counterintuitive, involving a combination between excitatory and inhibitory projections and multiple pathways. Given a sensory stimulus, the pre/motor cortex generates candidate motor actions, and then the BG selectively \"gate\" one of these actions to be executed while suppressing the other action. This gating process occurs via a sequence of steps from the Striatum through two opposing pathways (the direct and indirect pathways) to the output nucleus, the Thalamus, and back up to cortex. The BG learn which actions to select and which to suppress as a function of reinforcement signals encoded by dopamine. That is, unlike the error-driven *supervised* learning mechanisms in other task learning simulations, this network learns to make responses based purely on an unsupervised reinforcement signal conveying the reward value of outcomes that follow actions, and is never 'told' which response it should have made.

? As usual begin by inspecting the pattern of weights in the network.
? To get a sense of how the dynamics of action selection work in more detail, step through a single trial a few cycles at a time. Click Init, and then Cycle on the MasterControl panel. (You can choose to step 5 Cycles at a time instead of clicking this button for every cycle by checking off the '5' box next to Step). During the initial cycles of settling you can observe the basic \"default\" function of the BG to suppress responses. A stimulus input pattern is presented, and both competing responses initially become noisily activated (or \"considered\") in pre/motor cortex. (This noise is helpful for producing exploratory motor actions before learning has occurred). In the absence of Striatum activity, neurons in the GP_Int (globus pallidus internal segment, the output nucleus of the BG) are tonically active (this is due to a reverse leak current in which positive ions leak into the cell rather than out of it as usual). Importantly, the projections from GP_Int units to the Thalamus are inhibitory, so that GP_Int activation chronically suppresses the Thalamus. Because bottom-up thalamic-cortical activity is required for a motor response to become sufficiently activated, this thalamic inhibition prevents all responses from getting executed, leading to only noisy cortical activity and no action selection.
? Click a few more cycles until you see activity in the Striatum in response to the Input pattern. The Striatum is divided into two layers, with \"Go\" units in the left layer, and \"NoGo\" units in the right, and separate columns for each response. The first column of Go units receives input from the first column of motor units (which we will call R1), whereas the second column receives input from the second column (R2), and similarly for NoGo units (columns 1 and 2 of the Nogo Layer are NoGo-R1 and NoGo-R2). However, the particular Go or NoGo units within a column that get active depend also on the sensory stimulus Input. Thus the striatal units encode conjunctions between stimulus input and actions that are considered in motor cortex, so that some units represent Go-R1 for a particular stimulus, whereas others may become active for another stimulus. If a particular column of Go units is more active than the NoGo units, it will tend to inhibit the corresponding column of the GP_Int, which ultimately will allow that action to be executed.
? Step through a few more cycles until you see this inhibition of a column in GP_Int. You should see that as the GP_Int units become inhibited, the Thalamus is no longer suppressed. This process is referred to as \"disinhibition\" because the effect of the striatal Go activation is not to directly excite, but only to remove inhibition of GP_Int onto Thalamus. The corresponding column of Thalamus will become excited only if it also receives top down activation from motor units in the same column. It is this property that makes the BG contribution to action selection a *gating* process: noisy striatal activity would not by itself select an action unless the motor cortex was already 'considering' that action as a plausible candidate. Similarly, in some cases both responses may get a similar level of Go activity in striatum initially, and in this case only the one also having greater cortical activity will be gated.

You should see that once a Thalamic unit is active, the corresponding column of cortical motor units (PMC) quickly becomes maximally active, while the competing motor column is inhibited. (There is lateral inhibition between the competing motor responses, and the thalamic activation gives the winning column sufficient activity so that the other column is completely inhibited).

? Once you are finished watching the network activations evolve in this trial, switch to stepping by Settle instead of Cycle. Step through a few trials in the same way. You may also see some NoGo activity (in the right half of striatal units), which would serve to prevent selection of the corresponding response, because NoGo units project to and inhibit the external segment of the globus pallidus (GP_Ext), which in turn send inhibitory projections to the GP_Int. Thus whereas Go activity disinhibits the Thalamus, NoGo activity has the opposite effect, further activating GP_Int so that the Thalamus remains inhibited. Before learning. whether Go or NoGo activity for a given response predominates is somewhat arbitrary (related to random synaptic weights and overall dopamine levels), but informative differences will emerge with learning.

Each trial consists of two settling phases: one in which the network selects a response, and another in which it receives dopaminergic feedback about whether the outcome was good or bad. You should also see that depending on whether the network responded correctly or not (in the task described below), there will be either a dopamine burst (SNc units completely activated) or dip (complete inhibition). This reinforcement forms the basis for learning in the model, as described next.

Learning

Dopamine (DA) from the SNc modulates the relative balance of activity in Go versus NoGo units via simulated D1 and D2 receptors. Dopamine effects are greatest on those striatal units that are already activated by corticostriatal glutamatergic input. Go units activated by the current stimulus and motor response are further excited by D1 receptor stimulation. In contrast, DA is uniformally inhibitory on NoGo units via D2 receptors. This differential effect of DA on Go and NoGo units, via D1 and D2 receptors, affects performance (i.e more tonic DA leads to more Go and associated response vigor, faster reaction times) and, critically, learning.

Specifically, when the network selects the 'correct' response, a dopamine burst subsequently reinforces the response, further exciting Go units and inhibiting NoGo units. Learning occurs during this phasic DA signal, so that synapses between active cortical and striatal Go units are strengthened, whereas those for NoGo units are weakened. This learning allows the striatum to facilitate selection of the rewarding response in future presentations of the same stimulus. In contrast, if the network selects the incorrect response, DA units cease firing, and the associated dip in DA activity allows NoGo units (which were previously inhibited by DA) to become excited. The resulting increase in activity is also associated with strengthening of synapses from active cortical cells. With learning, NoGo cells differentially respond to stimulus-response combinations that have negative value, so that non-rewarding responses are likely to be suppressed. The mechanisms by which DA affects activity and plasticity are motivated by several biological experiments and are consistent with effects of dopamine D1 and D2 pharmacological agents on activity and long term plasticity (see Wiecki & Frank, 2010 for a recent review).

The net result is that the BG selects one response if a particular \"Go\" signal in the striatum is stronger than its corresponding \"NoGo\" signal, while concurrently suppressing alternative responses. Because direct and indirect pathway cells compete at BG output, the action most likely to be gated is a function of the difference in activity in these pathways for each action in parallel.

Training the model in probabilistic reinforcement tasks

Now that we've seen how the dynamics of action selection and learning work, let's put the mechanisms to a test, and see how they are sensitive to dopamine manipulations as in empirical studies. Specifically, many studies implicate the basal ganglia dopamine system in reinforcement learning in probabilistic environments. In these tasks, multiple stimuli are presented on different trials, and participants have to learn by trial and error which response to make. The difficulty is not only that there is no clear underlying 'rule' for determining which response to make (it is determined arbitrarily), but also that there is no absolute answer that will always work. However, certain responses are reinforced on a greater proportion of trials than others, so that people have to learn to integrate the reinforcement history across multiple instances to determine the optimal response.

This project simulates the role of the basal ganglia dopamine system in learning and reward-based decision making. We focus here on effects of Parkinson's disease in the probabilistic selection task (Frank et al 2004). The task is simulated here such that when a stimulus S1 is presented, the network can respond by choosing A (selecting Response R1), or choosing B (selecting R2). When A is chosen, it will be rewarded (dopamine burst) on 80% of trials, and punished (dopamine dip) on the remaining 20%. The reverse is true when the network chooses B (it is punished on 80% of trials). Note that as in the human task, choice of A/R1 can result due to the network relying on Go R1 and/or from NoGo R2. The task includes a transfer phase which is designed to test which of these associations was better learned, that is, whether choices are primarily determined by positive or negative outcomes. The below simulations also allow us to investigate separable effects of dopamine manipulations on learning (modulations of dopamine during acquisition of reinforcement contingencies) vs. the expression of learning (decision making after learning has occurred).

Here, we simulate the task in a four response network. The procedure is as follows. When S1 is presented, the model selects between R1 and R2 (these responses are provided with some bias in the cortical activity to ensure that R3 and R4 are not eligible in these trials). These other responses, representing choice of C or D, become eligible in other trials when the corresponding stimulus represention S2 is active in the input. The discrimination to be learned in these trials is more tricky: C is rewarded on 60% of trials, and punished on 40%, and vice-versa for D.

After this learning phase, a \"transfer phase\" ensues in which we allow the model to choose between paired combinations of all the responses (with a composite of S1 and S2 presented in the input layer). The following choices are made available to the network, again by simply biasing the activity of the eligible motor cortical units):

i) R1 vs. either R3 or R4. Thus the network chooses between A (which had been rewarded on 80% of trials) and C or D (on some trials C is eligible and on some trials D is eligible), which had both been rewarded less often (60 or 40 %, so on average these alternative responses have 50% neutral value, as in the human task).

ii) R2 vs either R3 or R4. Here the network chooses between B (which had been punished on 80% of trials), and the same other more neutral ones.

Thus case i) is equivalent to \"choose-A\" in the probabilistic selection task, wheras case ii) is equivalent to \"avoid-B\". No reinforcement feedback is given during this phase, so choices reflect only performance based on past learning.

To run a batch of intact networks, on the MasterControl panel make sure num_intact_snc_units is set to 4. Then just click Init and Run, which will run a batch of 50 networks for 30 epochs of training and 30 epochs of testing (repeated presentations of test trials without learning to get sufficient statistics on choice accuracy for each network). You may want to uncheck the display box on the network so that it runs faster (it takes time to update the cycle by cycle activations on the network view).

  • After the batch of networks is finished (you will have to wait a while for 50 networks to finish), the average learning curves, divided into difficulty (80 vs 60% reinforcement contingencies) are shown on the .T3Tab.trl_group graph. The black curve shows accuracy in AB (how often R1 is selected), and the red curve shows accuracy in CD (how often R3 is selected), as a function of training epochs. You can also see a measure of response time (RT, in terms of the number of cycles before a response was selected) for the different conditions, plotted in blue (note the alternate y axis for RT in cycles).

Question BG.1 : Are there differences in the learning curves for the two discriminations? Explain. Also note that if there are differences in the blue curves for RT. Can you think why there might be differences in the time the network takes to make a choice between these conditions?

Next, check out the Stats bar graph on the right panel, which presents summary statistics of choices made across all networks in the transfer phase, as a function of trial type. On the left side of the graph labeled \"comboA\", the mean percentage choice of R1 is plotted in black across all of the choose-A trials. The networks should choose R1 over R3 or R4. You should see that r1_mean is indeed high (substantially above 0.5), indicating that networks do tend to choose A on most of these trials. The bar for r2_mean will be zero for \"comboA\" as the R2 cannot be selected during these trials.

In the B trials, the network should *avoid* R2 when paired with either R3 and R4. Thus good performance here is indicated by a low red bar: you should see that r2_mean is indeed less than 0.5 i (closer to 0 means better avoidance and more selection of the alternative choices; thus 'avoid-B' accuracy is (1-r2_mean)). (If you want to more closely examine the relative choices of R3 and R4, you can do so in the Stats datatable under AnalysisData, and you should see that choices in suboptimal trials nevertheless occur in proportion to their relative values - r3 should be selected more consistently than r4. This is the basic prediction of the softmax logistic function often used to summarize BG choice -- that choices are made probabilistically as a function of the relative difference in values between alternative responses).

Simulating Parkinson's disease and dopamine medications

Empirical studies testing the predictions of this model have shown that patients with Parkinson's disease (PD) show different patterns of Go or NoGo learning impairments depending on whether they are medicated or not (Frank et al, 2004; 2007; Palminteri et al, 2009, Bodi et al, 2010, etc).

? To simulate Parkinson's disease (PD), set the number of intact DA units to 2 in the .PanelTab.MasterControl control panel. This sets the number of SNc units that are connected to the Striatum to 2 (out of 4, i.e. 50% DA damage - you can also go all the way down to 1 but this can lead to very degraded overall performance). This reduction in number of intact DA units leads to effectively reduced tonic and phasic DA levels in the Striatum.

You can step through a few trials to examine network dynamics under this dopamine depleted state. You might see overall greater levels of NoGo activation, which also produces general slowing in action selection (i.e. akinesia as in the disease). If you look at the network as it settles, you'll likely see that in the beginning of training the network has difficulty gating a response at all -- a cardinal symptom of PD - but nevertheless, the noise in motor cortex allows it to pick something randomly. The networks can still benefit from reinforcement at this stage and eventually do learn to gate responses with the BG, once the Go weights are sufficiently strong (you can see this if you look at settling later on during training).


Question BG.2 : Run a full batch of networks in this PD state across the task. What happens to choose-A and avoid-B performance? Explain any differences from the intact state (and between performance in the two test conditiosn) in terms of the mechanisms in this model.

This avoidance bias is similar to what is observed empirically with this task, and has also been shown in both the model and in animal studies to underly a progressive development of Parkinsonian symptoms in motor skill learning: essentially the network learns to avoid selecting actions with experience, because the DA-depleted BG is biased to interpret them as having negative outcomes (see Wiecki & Frank 2010, Beeler et al 2012 for empirical demonstration).

You can also run an intermediate case of num_intact_snc_units =3. You should see that relative performance in choose-A vs avoid-B is greater than with more damage (snc=2 or 1) and less than that with higher dopamine levels (snc =4). Thus these simulations capture the basic dissociation seen in the empirical studies in terms of choice performance on these test trials as a function of dopamine depletion and stimulation.

You can also simulate effects of DA medication given to PD patients: set the number of intact DA units back to 4 units (to simulate the increase in DA synthesis due to levodopa, the main form of medication). But in addition to allowing for more dopamine availability, medications also continually stimulate dopamine D2 receptors. To capture this effect, increase d2_acq (which reflects the impact of dopamine onto D2 receptors) from the default of 0.1 to 0.15. This will make it harder for NoGo units to respond to negative outcomes during DA dips (which requires less D2 stimulation; see Frank 2005). Note that for this demonstration (to show clearly that it is a learning effect), the D2 stimulation is returned to the intact state during the transfer phase (to rule out an effect of this D2 stimulation during choices in the test phase itself, i.e. a 'performance effect' that could have explained the results).

Hit Init and Run.


Question BG.3 : What happens to avoid-B performance during the transfer phase after this manipulation (ie increasing D2 stimulation during acquisition only)? Compare this performance to those you observed in intact networks (with default levels of D2 stimulation (0.1)), and explain any differences in terms of the mechanisms in this model

Note that the ability to choose-A should also depend on 'Go learning' that A is rewarding in the first place, so sufficient phasic DA should be needed during the training phase. Thus in order for a PD network to express any Go activity to rewarding choices, it must have had sufficient phasic increases to drive some Go learning (which may be just prevented from being expressed by the overactive NoGo pathway in the absence of sufficient D2 stimulation).

To test this idea, you can reduce the magnitude of phasic bursts (in addition to the general DA neuronal degradation associated with eliminating half of the units). To do this, change the DA_burst value in the control panel from 1 (maximal 100% firing) to .04 (this translates to roughly 70% maximal firing of SNc units during bursts: .04 is simply the external net input applied to these units which corresponds to that firing rate due to the nonlinearity of the activation function). If you set snc = 2 you are now simulating Parkinson's with depleted tonic DA levels and even more depleted phasic levels than usual.

You should see that now the PD network, regardless of whether D2 agonists are added during the test phase, is impaired (near chance) at choose-A performance while still showing relatively good performance at avoid-B.

Notably, levodopa, the most common medication used to treat PD, by acting as a DA precursor increases the phasic spike-dependent release of dopamine. This contrasts with the D2 agonist mechanism which only tonically stimulates D2 receptors and thus inhibits NoGo units, but does not increase phasic release needed for Go learning.

Learning habits in the cortico-cortical pathway

The corticostriatal pathway and reinforcement learning is not the only form of learning in this model. There is also unsupervised Hebbian learning that occurs directly from sensory to motor cortex. This pathway learns the statistics of its own actions -- when a particular stimulus is presented, on average which action did it select in the past? As long as this learning is slower than that in the BG, the actions that had been most frequently selected for this stimulus will be those that were most often reinforced (Frank, 2005; Frank & Claus 2006). This learning provides a mechanism by which the development and learning of habits is initially dependent on BG and dopamine function, but their later expression is not: once these mappings are strong enough, the network can rapidly activate only the most appropriate response and is not dependent on BG gating. This provides a natural explanation for the following observations: (i) While learning of simple instrumental actions are initially BG and DA-dependent, their later expression is not (Smith-Roe & Kelley, 2000), (ii) in well-learned tasks, striatal activation is sometimes seen *after* motor unit activation and the onset of movement (Alexander & Crutcher, 1990) and (iii) Parkinson's patients have much less difficulty executing well learned motor actions.

To see this in the model, change the Input_Motor_lrate from 0 (this learning has been turned off in this network so far) to a .001 (it is important that Hebbian learning is slow relative to reinforcement learning, so that the habits ingrained in cortex stamp-in the ones that have been selected based on reward!). Make sure the network is in the intact state (4 SNc units, DA burst val =1). With the network display turned on, run a single network from the LeabraTrain program and stop it near the end of training (e.g., after 25 epochs) and just step through a few trials and observe the network activity in the motor cortex. You should see that well before the BG gates an action, the motor cortex now preferentially activates a single response to the stimulus, which will be the one it most often has activated in the past (and if the RL process worked well in the BG, it will also be the more rewarding response). Thus this provides a simple demonstration that the motor cortex can first generate the candidate actions based on their prior probability of selection in the current sensory context, and if more than one of these actions is a suitable candidate, the BG can select between them. Also, if you let the network run a full set of batches, you should see that by the end of training they more reliably learn the difficult 60/40 discrimination (see trl_group panel): corticocortical learning forces it to more robustly stick with the action that works the most frequently and not be subject to a string of a few bad outcomes.

For several other demonstrations using this model and extensions thereof, see the \"BG Projects\" link on Michael Frank's website.

A few technical details

Although previous simulations have shown the effects of dopaminergic manipulations on \"Go\" vs \"NoGo\" learning in this task using a network with 2 motor responses, these have involved recording internal striatal valuation signals (assessed by Go/NoGo activations for stimulus-response combinations that had been primarily associated with positive or negative outcomes). Intact networks showed relatively greater Go than NoGo activity for positive S-R combinations and greater NoGo activity for negative combinations. Simulated DA depletion as in Parkinson's disease resulted in a bias, with stronger NoGo-negative striatal valuation signals than Go-positive ones, and simulated DA medications reversed this bias.

However, these prior simulations did not show that these striatal valuation signals translate to effects on actual choice (action selection). The reason for this is that there is no visual object recognition system in the network and hence it is not possible for the network to separately encode two stimuli presented in parallel (as any number of units presented in the input layer would be interpreted as one representation). Therefore the task is simulated by presenting a single stimulus (made up of four units), and differentially reinforcing responses.

Note that all accuracy analysis occur after filtering out trials in which a response was not gated by the maximum 150 cycles of each trial (otherwise choices selected in these trials are random, due only to motor cortical noise).

Also, unlike the original model, this particular version of the model uses a population of inhibitory interneurons to regulate striatal activity rather than the simplified k-winner take all (kWTA) approximation (the basic effects of DA manipulation apply also in the basic model). (The inhibitory interneurons are active in this network but iconified to minimize the amount you have to look at - feel free to click on that layer and de-iconify it to watch those dynamics!) The original simplification did not permit independent manipulation of the D2 inhibitory projections, because kWTA 'hijacks' the inhibitory currents in each unit. In earlier simulations the effects of DA were therefore always simultaneously affecting GO and NoGo cells -- more DA was associated with more Go excitation via D1 projection -- whereas here we can independently manipulate D2 receptor strength or blockade etc (by varying the strength of the inhibitory weight scale from DA units to NoGo cells) separately from general inhibitory effects within striatum (implemented with inhibitory interneurons that contribute to inhibitory currents in striatal cells but do not hijack them entirely) . Including inhibitory interneurons is somewhat more realistic (GABAergic neurons regulate spiny neuron activity in striatum), but the main reason for this is to enable other manipulations of D2 receptor inhibitory effects independently from inhibitory regulation of striatal cells in general (both Go and NoGo) based on inhibitory neuron activity. (see technical note 4 at the bottom for more details). This allows us to explore effects of D2 receptor sensitivity, blockade etc.


? You may now close the project (use the window manager close button on the project window or File/Close Project menu item) and then open a new one, or just quit emergent entirely by doing Quit emergent menu option or clicking the close button on the root window.

Navigation menu

Personal tools

Namespaces

Variants

Actions

"; }; }; wizards { name="wizards"; el_typ=LeabraWizard; el_def=0; LeabraWizard @["LeabraWizard_2"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItemBase; el_def=0; UserDataItem @["NO_CLIP"] { name="NO_CLIP"; value 1 0=1; val_type_fixed=0; }; }; name="LeabraWizard_2"; }; }; ctrl_panels { name="ctrl_panels"; el_typ=ControlPanel; el_def=0; ControlPanel @["MasterControl"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["user_pinned"] { name="user_pinned"; value 1 0=1; val_type_fixed=0; }; }; name="MasterControl"; running_updt=0; desc=; mbrs { name="mbrs"; el_typ=EditMbrItem; el_def=0; EditMbrItem @[0] { label="DA_burst_"; desc=" real value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["DA_burst_val"]$$; mbr=ProgVar::real_val; is_numeric=1; is_single=1; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[1] { label="DA_dip_"; desc=" real value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["DA_dip_val"]$$; mbr=ProgVar::real_val; is_numeric=1; is_single=1; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[2] { label="num_intact_snc_units"; desc=" integer value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["num_intact_snc_units"]$$; mbr=ProgVar::int_val; is_numeric=1; is_single=1; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[3] { label="burst_pause_duration_"; desc=" the expression to compute and assign to the member
: enter the expression here -- use Ctrl-L to pull up a lookup dialog for members, methods, types, etc -- or you can just type in names of program variables or literal values. enclose strings in double quotes. variable names will be checked and automatically updated
var lookup: lookup a program variable and add it to the current expression (this field then returns to empty/NULL)"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].prog_code[6].true_code[0]$$; mbr=MemberAssign::expr; is_numeric=0; is_single=0; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[4] { label="d2_acq"; desc=" real value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].prog_code[0].local_vars["d2_acq"]$$; mbr=ProgVar::real_val; is_numeric=1; is_single=1; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[5] { label="d2_perf"; desc=" real value -- this is the current actual value of the variable at all times for global variables, and is used as an initialization value for local variables (they start with this value, but what you see here is NOT their current value as the program runs)"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].prog_code[0].local_vars["d2_perf"]$$; mbr=ProgVar::real_val; is_numeric=1; is_single=1; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; EditMbrItem @[6] { label="Input_Motor_lrate"; desc="[Default: 0.01;0.02] [0.01 for std Leabra, .02 for CtLeabra] learning rate -- how fast do the weights change per experience"; cust_desc=0; base=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["Input_Motor_Prepotent_"]$$; mbr=LeabraConSpec::lrate; is_numeric=1; is_single=1; param_search { srch=NO; min_val=0; max_val=1; next_val=0; incr=0.1; }; }; }; mths { name="mths"; el_typ=EditMthItem; el_def=0; group_type=GT_BUTTONS; EditMthItem @[0] { label="Init"; desc=" set the program state back to the beginning"; cust_desc=0; base=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$$; mth=Program::Init; }; EditMthItem @[1] { label="Run"; desc=" run the program -- if not yet Init, will run Init first"; cust_desc=0; base=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; mth=Program::Run_Gui; }; EditMthItem @[2] { label="Step"; desc=" step the program at the level of the given program -- if NULL then step_prog default value will be used"; cust_desc=0; base=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; mth=Program::Step_Gui; }; EditMthItem @[3] { label="Stop"; desc=" stop the current program at its next natural stopping point (i.e., cleanly stopping when appropriate chunks of computation have completed)"; cust_desc=0; base=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"]$; mth=Program::Stop; }; }; }; ClusterRun @["ClusterRun"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["user_pinned"] { name="user_pinned"; value 1 0=1; val_type_fixed=0; }; }; name="ClusterRun"; running_updt=0; desc=; mbrs { name="mbrs"; el_typ=EditMbrItem; el_def=0; }; mths { name="mths"; el_typ=EditMthItem; el_def=0; group_type=GT_BUTTONS; }; jobs_running { name="jobs_running"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["tag"] { name="tag"; desc="unique tag id for this job -- all files etc are named according to this tag"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["notes"] { name="notes"; desc="notes for the job -- describe any specific information about the model configuration etc -- can use this for searching and sorting results"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["params"] { name="params"; desc="emergent parameters based on currently selected items in the ClusterRun"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["status"] { name="status"; desc="status of job: REQUESTED, CANCELLED, SUBMITTED, QUEUED, RUNNING, DONE, KILLED"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["status_info"] { name="status_info"; desc="more detailed information about status"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_time"] { name="submit_time"; desc="when was the job submitted (tracks time from emergent client submission)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["start_time"] { name="start_time"; desc="when did the job actually start running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["end_time"] { name="end_time"; desc="when did the job finish running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_no"] { name="job_no"; desc="job number on cluster -- assigned once the job is submitted to the cluster"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_out"] { name="job_out"; desc="job output information -- contains (top of) the job standard output and standard error output as the job is running (truncated to top 2048 characters if longer than that) -- full information available in job_out_file"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_out_file"] { name="job_out_file"; desc="job output file -- file name containing full job output information -- file name should be tag.out"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["dat_files"] { name="dat_files"; desc="list of data table output (results) files generated by model (space separated) -- these files have the tag in their name, and end in .dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["other_files"] { name="other_files"; desc="list of other output (results) files generated by model (space separated) -- these files have the tag in their name but do not end in .dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["command_id"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="command_id"; desc="id for this command, assigned by the search algorithm in an algorithm-specific manner (optional)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["command"] { name="command"; desc="emergent command line, up to point of parameters"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["repo_url"] { name="repo_url"; desc="name of repository to run job on"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["cluster"] { name="cluster"; desc="name of cluster to run job on"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["queue"] { name="queue"; desc="if specified, indicate a particular queue on the computing resource"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["run_time"] { name="run_time"; desc="how long will the jobs take to run -- syntax is number followed by unit indicator -- m=minutes, h=hours, d=days -- e.g., 30m, 12h, or 2d -- typically the job will be killed if it exceeds this amount of time, so be sure to not underestimate"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["ram_gb"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="ram_gb"; desc="how many gigabytes of ram is required? 0 means do not specify this parameter for the job submission -- for large memory jobs, it can be important to specify this to ensure proper allocation of resources"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["n_threads"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="n_threads"; desc="number of parallel threads to use for running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["mpi_nodes"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="mpi_nodes"; desc="number of nodes to use for mpi run -- 0 or -1 means not to use mpi"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["pb_batches"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="pb_batches"; desc="if > 0, use parallel batch mode with this number of batches"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["pb_nodes"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="pb_nodes"; desc="if doing parallel batch mode, and cluster has by_node policy, then this is the number of nodes to allocate to the overall job"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_svn"] { name="submit_svn"; desc="svn revision for the original job submission"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_job"] { name="submit_job"; desc="index of job number within a given submission -- equal to the row number of the original set of jobs submitted in submit_svn jobs"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; jobs_done { name="jobs_done"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["tag"] { name="tag"; desc="unique tag id for this job -- all files etc are named according to this tag"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["notes"] { name="notes"; desc="notes for the job -- describe any specific information about the model configuration etc -- can use this for searching and sorting results"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["params"] { name="params"; desc="emergent parameters based on currently selected items in the ClusterRun"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["status"] { name="status"; desc="status of job: REQUESTED, CANCELLED, SUBMITTED, QUEUED, RUNNING, DONE, KILLED"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["status_info"] { name="status_info"; desc="more detailed information about status"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_time"] { name="submit_time"; desc="when was the job submitted (tracks time from emergent client submission)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["start_time"] { name="start_time"; desc="when did the job actually start running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["end_time"] { name="end_time"; desc="when did the job finish running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_no"] { name="job_no"; desc="job number on cluster -- assigned once the job is submitted to the cluster"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_out"] { name="job_out"; desc="job output information -- contains (top of) the job standard output and standard error output as the job is running (truncated to top 2048 characters if longer than that) -- full information available in job_out_file"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_out_file"] { name="job_out_file"; desc="job output file -- file name containing full job output information -- file name should be tag.out"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["dat_files"] { name="dat_files"; desc="list of data table output (results) files generated by model (space separated) -- these files have the tag in their name, and end in .dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["other_files"] { name="other_files"; desc="list of other output (results) files generated by model (space separated) -- these files have the tag in their name but do not end in .dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["command_id"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="command_id"; desc="id for this command, assigned by the search algorithm in an algorithm-specific manner (optional)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["command"] { name="command"; desc="emergent command line, up to point of parameters"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["repo_url"] { name="repo_url"; desc="name of repository to run job on"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["cluster"] { name="cluster"; desc="name of cluster to run job on"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["queue"] { name="queue"; desc="if specified, indicate a particular queue on the computing resource"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["run_time"] { name="run_time"; desc="how long will the jobs take to run -- syntax is number followed by unit indicator -- m=minutes, h=hours, d=days -- e.g., 30m, 12h, or 2d -- typically the job will be killed if it exceeds this amount of time, so be sure to not underestimate"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["ram_gb"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="ram_gb"; desc="how many gigabytes of ram is required? 0 means do not specify this parameter for the job submission -- for large memory jobs, it can be important to specify this to ensure proper allocation of resources"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["n_threads"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="n_threads"; desc="number of parallel threads to use for running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["mpi_nodes"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="mpi_nodes"; desc="number of nodes to use for mpi run -- 0 or -1 means not to use mpi"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["pb_batches"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="pb_batches"; desc="if > 0, use parallel batch mode with this number of batches"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["pb_nodes"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="pb_nodes"; desc="if doing parallel batch mode, and cluster has by_node policy, then this is the number of nodes to allocate to the overall job"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_svn"] { name="submit_svn"; desc="svn revision for the original job submission"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_job"] { name="submit_job"; desc="index of job number within a given submission -- equal to the row number of the original set of jobs submitted in submit_svn jobs"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; jobs_archive { name="jobs_archive"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["tag"] { name="tag"; desc="unique tag id for this job -- all files etc are named according to this tag"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["notes"] { name="notes"; desc="notes for the job -- describe any specific information about the model configuration etc -- can use this for searching and sorting results"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["params"] { name="params"; desc="emergent parameters based on currently selected items in the ClusterRun"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["status"] { name="status"; desc="status of job: REQUESTED, CANCELLED, SUBMITTED, QUEUED, RUNNING, DONE, KILLED"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["status_info"] { name="status_info"; desc="more detailed information about status"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_time"] { name="submit_time"; desc="when was the job submitted (tracks time from emergent client submission)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["start_time"] { name="start_time"; desc="when did the job actually start running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["end_time"] { name="end_time"; desc="when did the job finish running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_no"] { name="job_no"; desc="job number on cluster -- assigned once the job is submitted to the cluster"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_out"] { name="job_out"; desc="job output information -- contains (top of) the job standard output and standard error output as the job is running (truncated to top 2048 characters if longer than that) -- full information available in job_out_file"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_out_file"] { name="job_out_file"; desc="job output file -- file name containing full job output information -- file name should be tag.out"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["dat_files"] { name="dat_files"; desc="list of data table output (results) files generated by model (space separated) -- these files have the tag in their name, and end in .dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["other_files"] { name="other_files"; desc="list of other output (results) files generated by model (space separated) -- these files have the tag in their name but do not end in .dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["command_id"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="command_id"; desc="id for this command, assigned by the search algorithm in an algorithm-specific manner (optional)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["command"] { name="command"; desc="emergent command line, up to point of parameters"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["repo_url"] { name="repo_url"; desc="name of repository to run job on"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["cluster"] { name="cluster"; desc="name of cluster to run job on"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["queue"] { name="queue"; desc="if specified, indicate a particular queue on the computing resource"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["run_time"] { name="run_time"; desc="how long will the jobs take to run -- syntax is number followed by unit indicator -- m=minutes, h=hours, d=days -- e.g., 30m, 12h, or 2d -- typically the job will be killed if it exceeds this amount of time, so be sure to not underestimate"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["ram_gb"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="ram_gb"; desc="how many gigabytes of ram is required? 0 means do not specify this parameter for the job submission -- for large memory jobs, it can be important to specify this to ensure proper allocation of resources"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["n_threads"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="n_threads"; desc="number of parallel threads to use for running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["mpi_nodes"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="mpi_nodes"; desc="number of nodes to use for mpi run -- 0 or -1 means not to use mpi"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["pb_batches"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="pb_batches"; desc="if > 0, use parallel batch mode with this number of batches"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["pb_nodes"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="pb_nodes"; desc="if doing parallel batch mode, and cluster has by_node policy, then this is the number of nodes to allocate to the overall job"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_svn"] { name="submit_svn"; desc="svn revision for the original job submission"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["submit_job"] { name="submit_job"; desc="index of job number within a given submission -- equal to the row number of the original set of jobs submitted in submit_svn jobs"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; file_list { name="file_list"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["file_name"] { name="file_name"; desc="name of file -- does not include any path information"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["tag"] { name="tag"; desc="job tag associated with this file"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["size"] { name="size"; desc="size of file -- with typical suffixes (K = kilobytes, M = megabytes, G = gigabytes)"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["kind"] { name="kind"; desc="type of file"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["date_modified"] { name="date_modified"; desc="timestamp for when the file was last modified"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["date_created"] { name="date_created"; desc="timestamp for when the file was first created"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["svn_file_path"] { name="svn_file_path"; desc="path to file in SVN repository, relative to root of svn_repo repository"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["proj_file_path"] { name="proj_file_path"; desc="path to file relative to the parent project directory -- e.g., results/filename.dat"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["file_path"] { name="file_path"; desc="full path to file on local file system, including all parent directories and name of file -- takes you directly to the file"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; cluster_info { name="cluster_info"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["queue"] { name="queue"; desc="queue that this info relates to"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["job_no"] { name="job_no"; desc="job number or total number of actve jobs"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["user"] { name="user"; desc="user name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["state"] { name="state"; desc="current scheduler state -- or description of global state info"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["procs"] { name="procs"; desc="number of processors for this job or for global state info"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["start_time"] { name="start_time"; desc="timestamp for when the job was submitted or started running"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; search_algos { name="search_algos"; el_typ=ParamSearchAlgo; el_def=0; }; cur_search_algo=NULL; last_submit_time=; notes=; extra_files=; svn_repo=; repo_url=; cluster=; queue=; run_time=; ram_gb=0; n_threads=1; use_mpi=0; mpi_nodes=10; parallel_batch=0; pb_batches=10; pb_nodes=0; nowin_x=0; }; }; data { name="data"; el_typ=DataTable; el_def=0; save_tables=1; DataTable_Group @.gp["InputData"] { name="InputData"; el_typ=DataTable; el_def=0; save_tables=1; DataTable @["StdInputData"] { name="StdInputData"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["Name"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_119"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="Name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [2] "8020_R1R2";"6040_R3R4"; }; }; float_Data @["Motor_Cortex"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_120"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="Motor_Cortex"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [4 2 2] 1;0;0;0;1;0;0;0;0;1; 0;0;0;1;0;0; }; }; float_Data @["Output"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_121"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="Output"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [4 1 2] 1;0;0;0;0;0;1;0; }; }; float_Data @["Input"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_122"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="Input"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 6;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [6 2 2] 0;0;0;0;0;0;1;1;1;1; 1;1;1;1;1;1;1;1;0;0; 0;0;0;0; }; }; float_Data @["Context"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_123"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="Context"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 9;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [9 2 2] 1;1;1;0;0;0;0;0;0;1; 1;1;0;0;0;0;0;0;1;1; 1;0;0;0;0;0;0;1;1;1; 0;0;0;0;0;0; }; }; float_Data @["SNc2"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_124"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="SNc2"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [2 2 2] 0;0;0;0;0;0;0;0; }; }; float_Data @["SNc"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_125"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="SNc"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [2 2 2] 0;0;0;0;0;0;0;0; }; }; int_Data @["Name_No"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2293577939271927; val_type_fixed=0; }; }; name="Name_No"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [2] 0;1; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [2] 0;1; }; }; DataTable @["TransferInputData"] { name="TransferInputData"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["Name"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_112"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="Name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [2] "comboA";"comboB"; }; }; float_Data @["Motor_Cortex"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_113"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="Motor_Cortex"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [4 2 2] 0;1;0;0;0;1;0;0;0;1; 0;0;0;1;0;0; }; }; float_Data @["Output"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_114"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="Output"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [4 1 2] 0;1;0;0;0;1;0;0; }; }; float_Data @["Input"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_115"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="Input"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 6;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [6 2 2] 1;1;1;0;0;0;1;1;1;0; 0;0;1;1;1;0;0;0;1;1; 1;0;0;0; }; }; float_Data @["Context"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_116"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="Context"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 9;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [9 2 2] 1;1;1;0;0;0;0;0;0;1; 1;1;0;0;0;0;0;0;1;1; 1;0;0;0;0;0;0;1;1;1; 0;0;0;0;0;0; }; }; float_Data @["SNc2"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_117"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="SNc2"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [2 2 2] 0;0;0;0;0;0;0;0; }; }; float_Data @["SNc"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_118"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="SNc"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 2;2; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; ar { name="ar"; [2 2 2] 0;0;0;0;0;0;0;0; }; }; int_Data @["Name_No"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2257336378097534; val_type_fixed=0; }; }; name="Name_No"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [2] 1;1; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [2] 0;1; }; }; }; DataTable_Group @.gp["OutputData"] { name="OutputData"; el_typ=DataTable; el_def=0; save_tables=1; DataTable @["TrialOutputData"] { name="TrialOutputData"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["batch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_117"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="batch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_118"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; String_Data @["trial_name"] { name="trial_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; float_Data @["minus_cycles"] { name="minus_cycles"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; int_Data @["r1"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_119"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r1"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; int_Data @["r2"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_120"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r2"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; int_Data @["r3"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_121"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r3"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; int_Data @["r4"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_122"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r4"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; DataTable @["EpochOutputData"] { name="EpochOutputData"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["batch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_121"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="batch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_122"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; float_Data @["avg_sse"] { name="avg_sse"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; float_Data @["cnt_err"] { name="cnt_err"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; float_Data @["avg_ext_rew"] { name="avg_ext_rew"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; float_Data @["avg_cycles"] { name="avg_cycles"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; DataTable @["CycleOutputData"] { name="CycleOutputData"; desc=; data { name="data"; el_typ=int_Data; el_def=0; int_Data @["batch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_43"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="batch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["epoch"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_44"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="epoch"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["trial"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_45"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="trial"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["trial_name"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_87"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="trial_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; String_Data @["group_name"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_88"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="group_name"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["phase_no"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_46"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="phase_no"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; int_Data @["cycle"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_47"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="cycle"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["sse"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_89"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="sse"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["ext_rew"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_90"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="ext_rew"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["STN_acts_avg"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_91"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="STN_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["PMC_acts_avg"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_92"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="PMC_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["Thalam_acts_avg"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_93"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="Thalam_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["GP_Int_acts_avg"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_94"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="GP_Int_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["GP_Ext_acts_avg"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_95"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="GP_Ext_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["Output_act"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_96"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="Output_act"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=1; cell_geom{ 4;1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [2] ;; }; width=0; }; float_Data @["Output_units_0_act"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_97"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="Output_units_0_act"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; float_Data @["SNc_acts_avg"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_98"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2094801217317581; val_type_fixed=0; }; }; name="SNc_acts_avg"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; }; }; data_flags=AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; }; DataTable_Group @.gp["AnalysisData"] { name="AnalysisData"; el_typ=DataTable; el_def=0; save_tables=1; DataTable @["TrialOutputData_Group"] { name="TrialOutputData_Group"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["trial_name_group"] { name="trial_name_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; int_Data @["batch_group"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_115"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="batch_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r1_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_116"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r1_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r2_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_117"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r2_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r3_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_118"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r3_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r4_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_119"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r4_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; DataTable @["trl_group"] { name="trl_group"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["trial_name_group"] { name="trial_name_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_113"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="epoch_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r1_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_114"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r1_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r2_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_115"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r2_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r3_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_116"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r3_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r4_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_117"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r4_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["minus_cycles_mean"] { name="minus_cycles_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r1_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_118"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r1_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r3_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_119"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r3_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["minus_cycles_sem"] { name="minus_cycles_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; DataTable @["Stats"] { name="Stats"; desc=; data { name="data"; el_typ=String_Data; el_def=0; String_Data @["trial_name_group_group"] { name="trial_name_group_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r1_mean_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_112"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r1_mean_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r1_mean_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_113"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r1_mean_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r2_mean_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_114"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r2_mean_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r2_mean_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_115"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r2_mean_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r3_mean_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_116"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r3_mean_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r3_mean_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_117"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r3_mean_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r4_mean_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_118"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r4_mean_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; float_Data @["r4_mean_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_119"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; }; name="r4_mean_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name=; [0] }; width=0; ar { name=; [0] }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [0] }; }; DataTable @["EpochOutputData_Group"] { name="EpochOutputData_Group"; desc=; data { name="data"; el_typ=DataColT; el_def=0; int_Data @["epoch_group"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_112"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="epoch_group"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; 20;21;22;23;24;25;26;27;28;29; 30;31;32;33;34;35;36;37;38;39; 40;41;42;43;44;45;46;47;48;49; 50;51;52;53;54;55;56;57;58;59; }; }; float_Data @["batch_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_113"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="batch_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5; 24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5; 24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5; 24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5; 24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5; 24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5;24.5; }; }; float_Data @["batch_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_114"; el_typ=UserDataItem; el_def=0; UserDataItem @["NARROW"] { name="NARROW"; value 1 0=1; val_type_fixed=0; }; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="batch_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434; 0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434; 0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434; 0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434; 0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434; 0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434;0.26351434; }; }; float_Data @["avg_sse_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_120"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="avg_sse_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0.93733627;0.92444193;0.92041612;0.92658502;0.9122656;0.87506795;0.85842353;0.87871093;0.88070089;0.81725562; 0.87948179;0.86288744;0.84902704;0.80896395;0.79943079;0.79200602;0.76464212;0.80624229;0.81834787;0.85867262; 0.82583398;0.83960998;0.80725348;0.81582522;0.81932938;0.77089101;0.83380938;0.84396994;0.83728254;0.8810212; 0.9879995;0.95013756;0.96496969;0.93940961;0.96922117;0.96426415;0.94637185;0.96693367;0.98339725;0.98136592; 0.9640978;0.98386353;0.98116755;0.9642846;0.97382629;0.95751482;0.95812887;0.96894383;0.95992982;0.96512985; 0.97411788;0.95347303;0.96840477;0.96160346;0.95226479;0.97160906;0.98050886;0.96692896;0.96416563;0.98743623; }; }; float_Data @["avg_sse_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_121"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="avg_sse_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0.0012914187;0.0017448817;0.0025731362;0.0019414864;0.0032748808;0.00329166;0.0037956159;0.0037688136;0.0039817677;0.0042507029; 0.0041221417;0.0039127399;0.004158054;0.0050239679;0.005003137;0.0041102599;0.0048516528;0.0046063736;0.0048229746;0.0045885355; 0.0046750391;0.0047426503;0.004604903;0.0044522751;0.0049215639;0.0052104504;0.0041713105;0.0041362937;0.0040099607;0.0033665563; 0.0015613822;0.0026828535;0.0022395342;0.0024726966;0.0020954418;0.002172712;0.0023903358;0.0021470331;0.0018455469;0.0021002027; 0.0021067359;0.0021017799;0.0021189209;0.0024147846;0.0022665113;0.0026096164;0.0022857534;0.0022519315;0.0025316987;0.0025895885; 0.0020282415;0.0026368888;0.0022191713;0.0020875228;0.0023948576;0.0022027404;0.0021291254;0.0021522485;0.002109695;0.0012807274; }; }; float_Data @["cnt_err_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_122"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="cnt_err_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 1.98;1.96;1.9400001;1.9400001;1.9;1.8200001;1.8;1.8200001;1.78;1.66; 1.8;1.76;1.74;1.66;1.6;1.6;1.58;1.66;1.7;1.74; 1.6799999;1.6799999;1.66;1.66;1.6799999;1.5599999;1.72;1.74;1.7;1.8200001; 1.98;1.88;1.92;1.9;1.9400001;1.9400001;1.9;1.9400001;1.96;1.96; 1.9400001;1.96;1.96;1.92;1.9400001;1.9;1.92;1.9400001;1.92;1.92; 1.9400001;1.9;1.9400001;1.9400001;1.92;1.9400001;1.96;1.9400001;1.9400001;1.98; }; }; float_Data @["cnt_err_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_123"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="cnt_err_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0.0025564649;0.0035783057;0.005669571;0.0043366193;0.0065839035;0.0070154406;0.0081663262;0.0079091229;0.0083998106;0.0086501399; 0.0081663262;0.0086115077;0.008802983;0.010074744;0.010329675;0.0089457612;0.010387621;0.0093895001;0.0098335613;0.0095304921; 0.0099615771;0.0099615781;0.010074744;0.0093894983;0.0099615771;0.011053235;0.0081989272;0.0080096629;0.0083679957;0.007015442; 0.0025564649;0.0059339474;0.0049539404;0.0054781395;0.0043366193;0.0043366184;0.00547814;0.0043366184;0.0035783045;0.0035783055; 0.0043366197;0.0035783048;0.0035783055;0.0049539404;0.0043366193;0.0054781404;0.0049539404;0.0043366188;0.0049539399;0.0049539413; 0.0043366179;0.0054781395;0.0043366188;0.0043366193;0.0049539395;0.0043366184;0.0035783048;0.0043366193;0.0043366193;0.0025564651; }; }; float_Data @["avg_ext_rew_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_124"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="avg_ext_rew_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; }; }; float_Data @["avg_ext_rew_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_125"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="avg_ext_rew_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; 0;0;0;0;0;0;0;0;0;0; }; }; float_Data @["avg_cycles_mean"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_126"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="avg_cycles_mean"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 148.49001;149.25999;148.61;146.61;142.00999;142.58;142.08;138.21001;136.77;134.16; 134.55;134.72;135.52;131.39999;125.92;130.21001;130.07001;134.41;134.92;133.75; 132.92999;133.5;136;134.42;130.57001;132.28999;135.39999;135.25999;134.02;139.53999; 142.61;139.96001;139.24001;142.10001;140.78999;141.37;140.83;142.17999;141.42999;140.28999; 142.59;142.55;140.02;139.47;140.08;139.27;141.37;141.39999;140.64999;141.14999; 141.53;141.27;142.57001;142.60001;143.94;142.10001;142.37;141.05;143.28;142.75; }; }; float_Data @["avg_cycles_sem"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_127"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_wd"] { name="view_panel_wd"; value 6 0=0.2087156027555466; val_type_fixed=0; }; }; name="avg_cycles_sem"; col_flags=SAVE_ROWS|SAVE_DATA; is_matrix=0; cell_geom{ 1; }; calc_expr { expr=; }; dim_names { name="dim_names"; [0] }; width=0; ar { name="ar"; [60] 0.11627326;0.067791335;0.15480836;0.2093536;0.34260875;0.30813339;0.34521145;0.38354397;0.41320416;0.37912545; 0.41728354;0.45336786;0.42611849;0.43580198;0.49063373;0.45228887;0.49089754;0.39868367;0.40154478;0.39635405; 0.44217098;0.44757509;0.45606944;0.43891388;0.48762286;0.40544847;0.35830078;0.34469852;0.37733358;0.35272413; 0.27140167;0.34625047;0.42660066;0.32728028;0.39932457;0.31581509;0.36550412;0.3083843;0.28913882;0.32309198; 0.2995033;0.25868872;0.36679876;0.4024699;0.34177986;0.40839475;0.32135195;0.33430111;0.37195018;0.30363607; 0.3030819;0.34971151;0.28447673;0.32121801;0.27077651;0.28573394;0.28962153;0.32004425;0.28853348;0.29556152; }; }; }; data_flags=SAVE_ROWS|AUTO_CALC; auto_load=NO_AUTO_LOAD; auto_load_file=; keygen 4 0=0; row_indexes { name="row_indexes"; [60] 0;1;2;3;4;5;6;7;8;9; 10;11;12;13;14;15;16;17;18;19; 20;21;22;23;24;25;26;27;28;29; 30;31;32;33;34;35;36;37;38;39; 40;41;42;43;44;45;46;47;48;49; 50;51;52;53;54;55;56;57;58;59; }; }; }; }; programs { name="programs"; el_typ=Program; el_def=0; tags=; desc=; Program_Group @.gp["LeabraAll_Std"] { name="LeabraAll_Std"; el_typ=Program; el_def=0; tags="Leabra, Std, All"; desc="The full set of programs for training a standard Leabra network"; Program @["LeabraBatch"] { name="LeabraBatch"; short_nm="Batch"; tags="Leabra, Std"; desc="Iterate over training runs (a batch of training runs) -- just a simple loop that calls training program"; flags=0; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=.projects["BG_1_"].networks["BG_4s"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns -- not used by this program, but passed to train program"; init_from=NULL; }; ProgVar @["NLoops"] { name="NLoops"; var_type=T_Int; int_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="batch counter"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["batch"] { name="batch"; var_type=T_Int; int_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="batch counter"; init_from=NULL; }; ProgVar @["meds"] { name="meds"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="simulate da meds (reduced da dip)?"; init_from=NULL; }; ProgVar @["DA_dip_val"] { name="DA_dip_val"; var_type=T_Real; real_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["trl_out_data"] { name="trl_out_data"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_1_"].data.gp["OutputData"]["TrialOutputData"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["trl_group"] { name="trl_group"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_1_"].data.gp["AnalysisData"]["TrialOutputData_Group"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["trl_group2"] { name="trl_group2"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["stats"] { name="stats"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["max_batch"] { name="max_batch"; var_type=T_Int; int_val=50; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="maximum number of batch runs to perform"; init_from=NULL; }; ProgVar @["num_intact_snc_units"] { name="num_intact_snc_units"; var_type=T_Int; int_val=4; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initializes local batch counter and batch field on network"; flags=0; orig_prog_code=; network_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["network"]$$; local_ctr_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["batch"]$$; counter=Network::batch; update_after=0; }; If @[1] { desc=; flags=0; orig_prog_code=; cond { expr="meds==true"; }; true_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$$; expr { expr=".025"; }; }; OtherProgramVar @[1] { desc=; flags=0; orig_prog_code=; other_prog=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$$; set_other=1; var_1=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; }; }; Else @[2] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$; expr { expr="0"; }; }; OtherProgramVar @[1] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["DA_dip_val"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; }; }; ResetDataRows @[3] { desc=; flags=0; orig_prog_code=; data_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["stats"]$$; }; ResetDataRows @[4] { desc=; flags=0; orig_prog_code=; data_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_group"]$$; }; ResetDataRows @[5] { desc=; flags=0; orig_prog_code=; data_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_group2"]$$; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initializes local batch counter and batch field on network"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["batch"]$; counter=Network::batch; update_after=0; }; WhileLoop @[1] { desc="the main loop over training runs"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ProgramCall @[0] { desc="run the training program -- sets the network and input_data args"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; ProgArg @[2] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="FlatNetwork"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; ProgArg @[3] { arg_type=bool; type="bool"; name="no_prompts"; required=1; def_val=; expr { expr="true"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"]$$; targ_ld_init="*LeabraTrain*"; }; NetCounterIncr @[1] { desc="increment the local batch counter and copy to network"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["batch"]$; counter=Network::batch; update_after=0; }; }; test { expr="batch < max_batch"; }; }; DataSelectRowsProg @[2] { desc="filter out trials when no response gated (these are just noise)"; flags=0; orig_prog_code=; src_data_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_out_data"]$$; dest_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_out_data"]$; select_spec { name="select_spec"; ops { name="ops"; el_typ=DataSelectEl; el_def=0; DataSelectEl @["minus_cycles_LESSTHAN__0"] { col_name="minus_cycles"; name="minus_cycles_LESSTHAN__0"; on=1; rel=LESSTHAN; use_var=0; cmp 2 0=150; var=NULL; enable_var=NULL; }; }; comb_op=AND; }; }; DataGroupProg @[3] { desc=; flags=0; orig_prog_code=; src_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_out_data"]$; dest_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_group"]$; group_spec { name="group_spec"; ops { name="ops"; el_typ=DataGroupEl; el_def=0; DataGroupEl @["trial_name_GROUP_0"] { col_name="trial_name"; name="trial_name_GROUP_0"; agg {name="AggregateSpec_50": op=GROUP: rel={name="Relation_50": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["batch_GROUP_1"] { col_name="batch"; name="batch_GROUP_1"; agg {name="AggregateSpec_50": op=GROUP: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r1_MEAN_2"] { col_name="r1"; name="r1_MEAN_2"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r2_MEAN_3"] { col_name="r2"; name="r2_MEAN_3"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r3_MEAN_4"] { col_name="r3"; name="r3_MEAN_4"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r4_MEAN_5"] { col_name="r4"; name="r4_MEAN_5"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; }; append_agg_name=1; }; }; DataGroupProg @[4] { desc=; flags=0; orig_prog_code=; src_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_group"]$; dest_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["stats"]$; group_spec { name="group_spec"; ops { name="ops"; el_typ=DataGroupEl; el_def=0; DataGroupEl @["trial_name_group_GROUP_0"] { col_name="trial_name_group"; name="trial_name_group_GROUP_0"; agg {name="AggregateSpec_50": op=GROUP: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r1_mean_MEAN_1"] { col_name="r1_mean"; name="r1_mean_MEAN_1"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r1_mean_SEM_2"] { col_name="r1_mean"; name="r1_mean_SEM_2"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r2_mean_MEAN_3"] { col_name="r2_mean"; name="r2_mean_MEAN_3"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r2_mean_SEM_4"] { col_name="r2_mean"; name="r2_mean_SEM_4"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r3_mean_MEAN_5"] { col_name="r3_mean"; name="r3_mean_MEAN_5"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r3_mean_SEM_6"] { col_name="r3_mean"; name="r3_mean_SEM_6"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r4_mean_MEAN_7"] { col_name="r4_mean"; name="r4_mean_MEAN_7"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r4_mean_SEM_8"] { col_name="r4_mean"; name="r4_mean_SEM_8"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; }; append_agg_name=1; }; }; DataGroupProg @[5] { desc=; flags=0; orig_prog_code=; src_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_out_data"]$; dest_data_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraBatch"].vars["trl_group2"]$; group_spec { name="group_spec"; ops { name="ops"; el_typ=DataGroupEl; el_def=0; DataGroupEl @["trial_name_GROUP_0"] { col_name="trial_name"; name="trial_name_GROUP_0"; agg {name="AggregateSpec_50": op=GROUP: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["epoch_GROUP_1"] { col_name="epoch"; name="epoch_GROUP_1"; agg {name="AggregateSpec_50": op=GROUP: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r1_MEAN_2"] { col_name="r1"; name="r1_MEAN_2"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r2_MEAN_3"] { col_name="r2"; name="r2_MEAN_3"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r3_MEAN_4"] { col_name="r3"; name="r3_MEAN_4"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r4_MEAN_5"] { col_name="r4"; name="r4_MEAN_5"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["minus_cycles_MEAN_6"] { col_name="minus_cycles"; name="minus_cycles_MEAN_6"; agg {name="AggregateSpec_50": op=MEAN: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r1_SEM_7"] { col_name="r1"; name="r1_SEM_7"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["r3_SEM_8"] { col_name="r3"; name="r3_SEM_8"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; DataGroupEl @["minus_cycles_SEM_9"] { col_name="minus_cycles"; name="minus_cycles_SEM_9"; agg {name="AggregateSpec_50": op=SEM: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; }; }; append_agg_name=1; }; }; }; step_prog=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"]$$; step_n=1; }; Program @["LeabraTrain"] { name="LeabraTrain"; short_nm="Train"; tags="Leabra, Std"; desc="A complete training run of a Leabra network: iterating over epochs until the network has learned the task"; flags=0; objs { name="objs"; el_typ=RndSeed; el_def=0; RndSeed @["rnd_seed"] { name="rnd_seed"; seed{ 95525536;87138593;-273270009;1704357015;-728818382;-345195174;-861252317;-1163807321;-1081805023;1034697688;1138897986;-2012513926;-1026546588;-1301644368;-636285112;1270950822;-383543309;1860854209;-586657582;155106184;-1194081092;-922202869;1018670142;492184205;424941241;-1453000682;371495934;-2087497391;-51805989;1677421909;1828722242;-322460786;908393409;1972935750;1254663973;-1533528745;-1242921043;-772985040;-1891964347;1703898410;-215018209;-2019340235;1323111645;-815335689;-1636564368;-1036912345;1543999330;174886206;958130086;-729531729;-968543730;460371028;-2109466280;2145725111;205471748;508716491;2072562767;1886411007;317000304;-1878847893;617210025;-42003478;-601256917;-847399929;-200660524;-1857580780;-579140624;-699753950;-1697548215;470915292;2076379922;-2040165946;-786088292;1015925764;171680222;137931489;703910929;-1953774590;906515534;-58130155;1128018942;-1098056980;-462791112;-2113814374;-1628810164;1337131291;1022122392;408531279;-932234365;993655257;-981224457;1139774367;-1260991566;495946957;-778616257;-1027391989;1701953928;-47010706;-1237361565;1108761512;-679568623;-1687302017;-2041502025;-693230896;-618944345;195382557;1715925467;-429845139;-691580206;-676559390;-2278605;893717087;1398992619;407469251;-1776839583;-1469348222;-1427730188;-1891313789;-1375465637;-885018732;-969337333;-1148716639;1488107721;282980195;-1134531189;-1217886070;1762043430;-40145694;566058565;1460412090;-1890110647;1122459674;1014259243;-679794052;-1429292127;-345029930;494689169;-603473474;-1046647525;-1104813309;-327870223;-1154852345;335884679;-62993966;-813860603;-647039505;1943425710;2090288798;517141583;270641856;216604246;-175178107;-448126602;1750716610;897366153;-1330307160;990738606;916962115;-1237795571;-1057448310;1353506221;-158826115;60392792;1498788955;46813734;-1496137821;-1021721557;3918959;-2096623757;445157694;-1370653664;-118608875;673786714;132597039;-1702005959;-1223292426;1018266100;1849678325;-1870622218;-1098831369;-904090787;1821829835;1052163176;-1882980929;1195917641;-211203551;-1071353308;-494343906;1083145773;1180062745;1605895734;-1636899982;1367780336;-1682124842;-1685949594;-2114712777;-1984247379;-1536607792;1513304736;1253188428;1078403881;1140410257;-308982630;1175722536;1796031481;-782005851;-1401346740;-840665451;78843902;1176911367;1584508720;-1879943128;-1661910170;268180297;-1005595229;720496887;-102885045;-2128641471;-1577500599;-1328840334;1923023372;-617626370;690953647;440557034;701974578;-923779429;-1368388902;870965275;686874251;-940756804;-1193053375;356537686;1835446742;-1349436996;-1201375520;460315157;-2123806667;-1817186912;1107456984;300275340;-44920276;-182987652;-694694387;1904986745;-993453492;1318365472;454059003;315999742;1732119598;424212100;1934747406;-111136538;-815736747;-682270485;736322694;1227644893;215125708;-1257143427;-71247587;521713625;303213217;-1256948854;669549998;1040768173;1012049481;1603775702;1345798365;-846834729;-1280866384;1452592199;-403698004;878342938;754865234;-1045092501;1382495514;-1780455494;-1357749076;316987323;-1244057379;1676714002;-1742842985;1673836514;1849297065;-1474342045;1268895585;-1703857667;1952657849;-54126921;1262045732;-112521542;-124989153;-214270673;1061416832;-579273051;529354404;1750191067;2035488810;585403680;1871826634;1472084546;1192220827;1751179247;-1919895532;-1657378851;254169899;-422718424;653048105;1721433952;1433971577;-1666785395;-1939686495;517161862;-1725539562;-529816547;1243467536;118082544;-661592340;558498952;1045992166;198773757;-470343407;-1330598053;-1694838689;1291909876;543367405;-1237986362;736915866;-263570167;1798991930;-1984242800;-281558044;136833646;1698061490;317939436;-532365206;-722003012;-1718605141;861161214;1932521864;-2132042400;-1713599746;-683167039;155277792;-1795074377;1004606401;161879422;1853418000;-579964144;-1582460197;1023414778;276554496;39555167;-184824357;694734745;-1499346497;-1829388812;2002164082;594417348;872014010;-672189239;-567939302;127579974;1460192776;1051718648;818084420;481763905;-1319350765;-1381439708;1096845678;179020092;-945571298;-1258490908;2040287538;1585796500;-663059905;-676626653;-678344424;808340512;1575037466;337318178;986117606;1801526075;-1955083936;-88742103;1285533458;2100707072;-1826265625;1988870620;418235061;-1040994322;-1178255609;-1364292736;-65823278;1877548542;1308577317;-1182328385;-281129443;-2043354781;1428215251;-1725972631;-958150201;-1825275931;528094901;-1136339972;277648074;-41286329;-1188988566;637898655;-77151661;1035434793;879462855;-208020450;-1286971891;1863722120;2030615723;1309633201;922568976;-42507023;-1078044900;-1937150343;-407540949;1325641837;-1999476670;1854759655;67050598;-391984153;-1433176418;1156270391;-478426630;-1866731030;737385014;-1273184515;1049023307;1028751688;-1202746598;913947179;-573278293;1584668413;-1857480926;-1860812457;-871283391;2108597955;1953734212;1093885940;861010533;-1826957162;-1014323166;-560660540;-2145686973;-1972062618;1113815862;11603318;742946642;464516895;-310044671;1869188241;147687064;1145402305;1150839946;1040594850;-1448630602;642194129;253652803;-1889418690;-2111324292;60488839;955965973;-930385636;-362399217;-709274479;1751023984;-156922772;-1837051741;1558149726;-1455349675;929125166;-1658097406;1486657245;-1299758422;-2069809625;-1332270215;-1505362840;-1399369292;375891121;2061350073;-1338587523;-682669823;929554865;1268434365;1610981653;-1124580658;1296402535;1966565418;-490201628;-700093167;1145089033;-1647564520;-1690229965;-1092674233;-1651279060;-564315878;-1174083118;700485894;96431957;-1636930687;-844200024;1713572721;-1660783317;-1026937815;-125048689;1517923642;1884482886;581148163;-802032592;281650465;-120336120;-507683237;463164093;45730711;-966646886;1324609125;1703711613;-1547203082;979277647;494140215;-1028420160;201935613;-2118714144;1555347770;1057663320;1430055370;1119019562;1590247435;284270599;1378411481;-1493664177;-876868743;-877997253;737562418;1793917653;-1982753856;1779441575;1591104668;-1440585456;21764154;1569889027;1960393708;-96371804;-1668077049;-911260898;1859846551;1130031189;58629964;-1891072219;2114073485;1565017191;1625789546;1555551076;1483372039;-1655453555;-1203000933;1657523342;-154583651;1722867593;-1474299172;-168769077;-931944930;-1068429144;-627828561;-1168782827;-1482683315;1927554150;-565281313;-145332727;-738746832;-71321762;726605553;-228773802;-1410035509;2054664848;1841303161;432795549;435916855;99505914;-1133896470;-911371823;155315236;-1822592897;-193247075;315766435;782355357;-921215936;-1603517505;-786308894;-1243798505;-249463908;-2101944561;81721206;-895497756;1835551098;-539700513;-942477531;1245557336;-1153957768;1353677950;-1168828552;695766912;-841211937;-1276555220;1882669703;839972672;-1748840797;-1294552855;1842254364;427568343;1876804154;51132079;266222708;-936120274;1430313260;1124714029;-1457734199;-294287739;788908877; }; mti=624; is_gauss_double_cached=0; cached_gauss_double=0.4784790968021511; }; }; types { name="types"; el_typ=DynEnumType; el_def=0; DynEnumType @["RndInitType"] { name="RndInitType"; desc=; enums { name=; el_typ=DynEnumItem; el_def=0; DynEnumItem @["OLD_SEED"] { name="OLD_SEED"; value=0; desc="use stored random seed value (recreates same sequence every time)"; }; DynEnumItem @["NEW_SEED"] { name="NEW_SEED"; value=1; desc="generate new random seed (new sequence of random numbers)"; }; }; bits=0; }; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to train"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["no_prompts"] { name="no_prompts"; var_type=T_Bool; bool_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="If train is called by other programs (e.g., Batch), they should set this to true -- otherwise it is reset to false in Init"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["max_epoch"] { name="max_epoch"; var_type=T_Int; int_val=60; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="maximum number of epochs to run for learning phase"; init_from=NULL; }; ProgVar @["max_epoch_reel"] { name="max_epoch_reel"; var_type=T_Int; int_val=60; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="epochs run in learning phase up to criterion of 5 epochs in a row without errors"; init_from=NULL; }; ProgVar @["train_mode"] { name="train_mode"; var_type=T_HardEnum; int_val=1; hard_enum_type=Network::TrainMode; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="TRAIN = update weights (learn), TEST = just record network's responses but don't learn"; init_from=NULL; }; ProgVar @["test_mode"] { name="test_mode"; var_type=T_HardEnum; int_val=0; hard_enum_type=Network::TrainMode; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="TRAIN = update weights (learn), TEST = just record network's responses but don't learn"; init_from=NULL; }; ProgVar @["rnd_init"] { name="rnd_init"; var_type=T_DynEnum; dyn_enum_val { enum_type=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].types["RndInitType"]$$; value=0; }; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="how to initialize the random numbers when the Init button is pressed"; init_from=NULL; }; ProgVar @["epoch"] { name="epoch"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current epoch -- local copy, which is used to update network's epoch counter"; init_from=NULL; }; ProgVar @["inside_epoch"] { name="inside_epoch"; var_type=T_Int; int_val=59; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current epoch -- local copy, which is used to update network's epoch counter"; init_from=NULL; }; ProgVar @["err_stopcrit"] { name="err_stopcrit"; var_type=T_Real; real_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="stopping criterion -- when error measure (count of trials with a non-zero error by defult) goes <= this value, stop training (set to -1 to disable stopping criterion, and always train to max_epoch epochs)"; init_from=NULL; }; ProgVar @["rnd_seed"] { name="rnd_seed"; var_type=T_Object; object_type=RndSeed; object_val=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].objs["rnd_seed"]$$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="random seed that is used at start of training -- if OldSeed is called"; init_from=NULL; }; ProgVar @["Test"] { name="Test"; var_type=T_Object; object_type=DataTable; object_val=.projects["BG_1_"].data.gp["InputData"]["TransferInputData"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="Transfer phase input data table"; init_from=NULL; }; ProgVar @["train_timer"] { name="train_timer"; var_type=T_Object; object_type=TimeUsed; object_val=.projects["BG_1_"].networks["BG_4s"].train_time$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="records time used to train network (object lives on network -- this is a pointer to it)"; init_from=NULL; }; ProgVar @["j"] { name="j"; var_type=T_Int; int_val=36; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["i"] { name="i"; var_type=T_Int; int_val=4; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["periode"] { name="periode"; var_type=T_Int; int_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["num_intact_snc_units"] { name="num_intact_snc_units"; var_type=T_Int; int_val=4; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["snc_size"] { name="snc_size"; var_type=T_Int; int_val=4; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["SNc"] { name="SNc"; var_type=T_Object; object_type=LeabraLayer; object_val=.projects["BG_1_"].networks["BG_4s"].layers["SNc"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["StdInputData"] { name="StdInputData"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["SuccessiveCor"] { name="SuccessiveCor"; var_type=T_Real; real_val=7; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="Number of successive no error epochs to end learning phase"; init_from=NULL; }; ProgVar @["d2"] { name="d2"; var_type=T_Object; object_type=LeabraConSpec; object_val=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["SNc_Inhib_D2_"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["d1"] { name="d1"; var_type=T_Object; object_type=LeabraConSpec; object_val=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Dopamine_D1_"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["inGo"] { name="inGo"; var_type=T_Object; object_type=LeabraConSpec; object_val=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["InputStriatum"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="lr"; init_from=NULL; }; ProgVar @["inNoGO"] { name="inNoGO"; var_type=T_Object; object_type=LeabraConSpec; object_val=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["inNoGO"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="lr"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["no_prompts"]$$; expr { expr="false"; }; }; MethodCall @[1] { desc="check network to make sure it is ready to be run"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$$; method=taBase::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; AssignExpr @[2] { desc="get our pointer to the network training time object"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$$; expr { expr="network.train_time"; }; }; NetCounterInit @[3] { desc="initialize epoch counter "; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$$; counter=Network::epoch; update_after=0; }; If @[4] { desc="initialize random seed (either old or new)"; flags=0; orig_prog_code=; cond { expr="rnd_init == OLD_SEED"; }; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="restore previous random seed (all runs produce same results)"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["rnd_seed"]$$; method=RndSeed::OldSeed; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; Else @[5] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="new random numbers each time"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["rnd_seed"]$; method=RndSeed::NewSeed; meth_args { name="meth_args"; el_typ=ProgArg; el_def=0; }; }; }; }; IfGuiPrompt @[6] { desc="don't initialize weights without checking"; flags=0; orig_prog_code=; prompt="Do you want to Initialize Network Weights"; yes_label="Yes"; no_label="No"; yes_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="initialize network weights: could also load pre-set weights or something else here"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; method=Network::Init_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; PrintExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="network.name << \" Weights Initialized\""; }; my_mask=NULL; debug_level=NULL; }; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; LocalVars @[0] { desc=; flags=0; orig_prog_code=; local_vars { name="ProgVar_List_0"; el_typ=ProgVar; el_def=0; ProgVar @["d2_acq"] { name="d2_acq"; var_type=T_Real; real_val=0.08; objs_ptr=0; flags=SAVE_VAL|LOCAL_VAR|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["d1_acq"] { name="d1_acq"; var_type=T_Real; real_val=0.7; objs_ptr=0; flags=SAVE_VAL|LOCAL_VAR|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["d2_perf"] { name="d2_perf"; var_type=T_Real; real_val=0.08; objs_ptr=0; flags=SAVE_VAL|LOCAL_VAR|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["d1_perf"] { name="d1_perf"; var_type=T_Real; real_val=0.7; objs_ptr=0; flags=SAVE_VAL|LOCAL_VAR|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["d2_acq_4"] { name="d2_acq_4"; var_type=T_Real; real_val=0; objs_ptr=0; flags=SAVE_VAL|LOCAL_VAR|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; }; AssignExpr @[1] { desc="get our pointer to the network training time object"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$; expr { expr="network.train_time"; }; }; MethodCall @[2] { desc="start timer to keep track of how long it takes to run entire training run"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$; method=TimeUsed::StartTimer; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_used"; required=0; def_val="true"; expr { expr="true"; }; }; }; }; NetCounterInit @[3] { desc="initialize epoch counter (both our local copy and network's epoch counter)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$; counter=Network::epoch; update_after=0; }; MemberAssign @[4] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="train_mode"; }; update_after=0; }; If @[5] { desc=; flags=0; orig_prog_code=; cond { expr="no_prompts"; }; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="initialize network weights: could also load pre-set weights or something else here"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; method=Network::Init_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; PrintExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="network.name << \" Weights Initialized\""; }; my_mask=NULL; debug_level=NULL; }; }; }; AssignExpr @[6] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["snc_size"]$$; expr { expr="SNc.units.size"; }; }; OtherProgramVar @[7] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["num_intact_snc_units"]$; var_2=NULL; var_3=NULL; var_4=NULL; }; OtherProgramVar @[8] { desc=; flags=0; orig_prog_code=; other_prog=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=NULL; var_2=NULL; var_3=NULL; var_4=NULL; }; AssignExpr @[9] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["periode"]$$; expr { expr="0"; }; }; AssignExpr @[10] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["max_epoch_reel"]$$; expr { expr="max_epoch"; }; }; MemberAssign @[11] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["d2"]$$; path="wt_scale.abs"; expr { expr="d2_acq"; }; update_after=0; }; MemberAssign @[12] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["d1"]$$; path="wt_scale.abs"; expr { expr="d1_acq"; }; update_after=0; }; MemberAssign @[13] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["inGo"]$$; path="lrate"; expr { expr="0.05"; }; update_after=1; }; MemberAssign @[14] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["inNoGO"]$$; path="lrate"; expr { expr="0.05"; }; update_after=1; }; WhileLoop @[15] { desc="main loop over epochs of training"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="train_mode"; }; update_after=0; }; AssignExpr @[1] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["inside_epoch"]$$; expr { expr="epoch"; }; }; ProgramCall @[2] { desc="run the epoch program (one epoch), passes our network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=int; type="int"; name="periode"; required=1; def_val=; expr { expr="periode"; }; }; ProgArg @[2] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="FlatNetwork"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; ProgArg @[3] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$$; targ_ld_init="*LeabraEpoch*"; }; NetCounterIncr @[3] { desc="increment the epoch counter (locally and on network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$; counter=Network::epoch; update_after=0; }; If @[4] { desc=; flags=0; orig_prog_code=; cond { expr="network.cnt_err <= err_stopcrit"; }; true_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="Compter le nombre d'epoques correctes successives"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["SuccessiveCor"]$$; expr { expr="SuccessiveCor+1"; }; }; }; }; Else @[5] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["SuccessiveCor"]$; expr { expr="0"; }; }; }; }; MemberAssign @[6] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="test_mode"; }; update_after=0; }; }; test { expr="epoch < 0.5*max_epoch"; }; }; MemberAssign @[16] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["d2"]$; path="wt_scale.abs"; expr { expr="d2_perf"; }; update_after=0; }; MemberAssign @[17] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["d1"]$; path="wt_scale.abs"; expr { expr="d1_perf"; }; update_after=0; }; WhileLoop @[18] { desc="main loop over epochs of training"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="test_mode"; }; update_after=0; }; AssignExpr @[1] { desc=; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["inside_epoch"]$; expr { expr="epoch"; }; }; ProgramCall @[2] { desc="run the epoch program (one epoch), passes our network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=int; type="int"; name="periode"; required=1; def_val=; expr { expr="periode"; }; }; ProgArg @[2] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="FlatNetwork"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; ProgArg @[3] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="Test"; }; }; }; target=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"]$; targ_ld_init="*LeabraEpoch*"; }; NetCounterIncr @[3] { desc="increment the epoch counter (locally and on network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["epoch"]$; counter=Network::epoch; update_after=0; }; MemberAssign @[4] { desc="set network's training mode to our local value"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].args["network"]$; path="train_mode"; expr { expr="test_mode"; }; update_after=0; }; }; test { expr="epoch < max_epoch"; }; }; OtherProgramVar @[19] { desc=; flags=NEW_EL; orig_prog_code=; other_prog=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; set_other=1; var_1=NULL; var_2=NULL; var_3=NULL; var_4=NULL; }; MethodCall @[20] { desc="stop the timer -- time elapsed is now recorded in this object, and can be displayed or recorded to a data table"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrain"].vars["train_timer"]$; method=TimeUsed::EndTimer; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"]$; step_n=1; }; Program @["LeabraEpoch"] { name="LeabraEpoch"; short_nm="Epoch"; tags="Leabra, Std"; desc="iterates over all of the items in a data table and calls LeabraTrial process on them"; flags=0; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on"; init_from=NULL; }; ProgVar @["periode"] { name="periode"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="current experimental phase: 0 = learning, 1 = transfer, 2 = new overlap, 3 = new incongruent, 4 = asymptotic noisy"; init_from=NULL; }; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="table of patterns to present to the network, one row at a time"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["data_loop_order"] { name="data_loop_order"; var_type=T_HardEnum; int_val=1; hard_enum_type=DataLoop::Order; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="controls the order in which events (rows of the input data datatable) are presented to the network (SEQUENTIAL, PERMUTED, RANDOM)"; init_from=NULL; }; ProgVar @["trial"] { name="trial"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current trial (event) within the epoch -- increments automatically"; init_from=NULL; }; ProgVar @["trial_mon_data"] { name="trial_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["OutputData"]["TrialOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="trial-level output data -- we reset it every epoch by default, so it just contains last epoch of data"; init_from=NULL; }; ProgVar @["epoch_timer"] { name="epoch_timer"; var_type=T_Object; object_type=TimeUsed; object_val=.projects["BG_1_"].networks["BG_4s"].epoch_time$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="timer to record time required to perform one epoch of processing (object is on network -- this is a pointer to it)"; init_from=NULL; }; ProgVar @["data_loop_index"] { name="data_loop_index"; var_type=T_Int; int_val=2; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="index counter for the looping over items in the input_data datatable (not always the same as trial counter, depending on distributed memory computation)"; init_from=NULL; }; ProgVar @["NLoops"] { name="NLoops"; var_type=T_Int; int_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="batch counter"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize trial counter (local variable and in the network)"; flags=0; orig_prog_code=; network_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$$; local_ctr_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["trial"]$$; counter=Network::trial; update_after=0; }; AssignExpr @[1] { desc="get pointer to epoch timer object on network"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$$; expr { expr="network.epoch_time"; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize trial counter (local variable and in the network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["trial"]$; counter=Network::trial; update_after=0; }; AssignExpr @[1] { desc="get pointer to epoch timer object on network"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$; expr { expr="network.epoch_time"; }; }; MethodCall @[2] { desc="start the epoch timer to record computation time per epoch"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$; method=TimeUsed::StartTimer; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_used"; required=0; def_val="true"; expr { expr="true"; }; }; }; }; MethodCall @[3] { desc="reset trial-level monitor data every epoch, so it reflects only the most recent epoch's worth of data (turn flags OFF to accumulate trial data across entire training run)"; flags=OFF; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["trial_mon_data"]$$; method=DataTable::ResetData; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; NetDataLoop @[4] { desc="iterates over the events/rows of input_data, according to data_loop_order variable"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ProgramCall @[0] { desc="run the trial program, passing network and input_data"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; ProgArg @[2] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="FlatNetwork"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"]$$; targ_ld_init="*LeabraTrial*"; }; If @[1] { desc="test if it is time to update the weight values from delta weights (dWt) computed over trials"; flags=0; orig_prog_code=; cond { expr="network.Compute_Weights_Test(trial+1)"; }; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="update the weight values based on changes computed by trial program"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; method=Network::Compute_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; }; data_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["input_data"]$$; index_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["data_loop_index"]$$; order_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["data_loop_order"]$$; order=PERMUTED; update_after=0; dmem_nprocs=1; dmem_this_proc=0; grouped=0; group_col 9 0="Group"; group_index_var=NULL; group_order_var=NULL; group_order=PERMUTED; group_idx_list{ }; }; If @[5] { desc="if full batch mode, update only at end of epoch"; flags=0; orig_prog_code=; cond { expr="network.wt_update == Network::BATCH"; }; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="final update of weights based on accumulated changes"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; method=Network::Compute_Weights; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; MethodCall @[6] { desc="network accumulates some core statistics over the epoch -- this finalizes that process and computes summary stats"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].args["network"]$; method=LeabraNetwork::Compute_EpochStats; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; ProgramCall @[7] { desc="run program that records data from network and possibly other sources about the epoch"; flags=0; orig_prog_code=; prog_args { name="ProgArg_List_0"; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=Network; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="FlatNetwork"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"]$$; targ_ld_init="*LeabraEpochMonitor*"; }; MethodCall @[8] { desc="done with the computation in the epoch -- record time it took"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpoch"].vars["epoch_timer"]$; method=TimeUsed::EndTimer; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"]$; step_n=5; }; Program @["LeabraTrial"] { name="LeabraTrial"; short_nm="Trial"; tags="Leabra, Std"; desc="Leabra processing of a single input/toutput event or external information: typically runs a minus and a plus phase, then learns (unless testing)"; flags=0; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- typically set by higher-level calling programs"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="datatable containing training input/output patterns"; init_from=NULL; }; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["phase_no"] { name="phase_no"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="local phase counting variable (0 is typically minus phase, 1 is typically plus -- depends on network settings)"; init_from=NULL; }; ProgVar @["update_net_view"] { name="update_net_view"; var_type=T_Bool; bool_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="determines whether to update any network view displays after trial is completed"; init_from=NULL; }; ProgVar @["NLoops"] { name="NLoops"; var_type=T_Int; int_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="batch counter"; init_from=NULL; }; ProgVar @["actM0"] { name="actM0"; var_type=T_Real; real_val=0.8811500072479248; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Motor_Cortex"] { name="Motor_Cortex"; var_type=T_Object; object_type=LeabraLayer; object_val=.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM1"] { name="actM1"; var_type=T_Real; real_val=0.0014986990718171; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM2"] { name="actM2"; var_type=T_Real; real_val=0.001406876835972071; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM3"] { name="actM3"; var_type=T_Real; real_val=0.08491723239421844; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM4"] { name="actM4"; var_type=T_Real; real_val=0.8818399310112; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM5"] { name="actM5"; var_type=T_Real; real_val=0.0001232191134477034; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM6"] { name="actM6"; var_type=T_Real; real_val=0.0009189450647681952; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM7"] { name="actM7"; var_type=T_Real; real_val=0.1648646593093872; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["action"] { name="action"; var_type=T_Int; int_val=1; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["r1"] { name="r1"; var_type=T_Int; int_val=1; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["r2"] { name="r2"; var_type=T_Int; int_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["r3"] { name="r3"; var_type=T_Int; int_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["r4"] { name="r4"; var_type=T_Int; int_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Output"] { name="Output"; var_type=T_Object; object_type=LeabraLayer; object_val=.projects["BG_1_"].networks["BG_4s"].layers["Output"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["bias"] { name="bias"; var_type=T_Real; real_val=3; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize the local phase_no counter, and corresponding network one"; flags=0; orig_prog_code=; network_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$$; local_ctr_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["phase_no"]$$; counter=LeabraNetwork::phase_no; update_after=0; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize the local phase_no counter, and corresponding network one"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["phase_no"]$; counter=LeabraNetwork::phase_no; update_after=0; }; MethodCall @[1] { desc="initializes various counters at start of trial"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$; method=LeabraNetwork::Trial_Init; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; WhileLoop @[2] { desc="loop over phases of settling in the network"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ProgramCall @[0] { desc="run the settle program (which iterates over cyles of network activation updating) for each phase"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="FlatNetwork"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; ProgArg @[2] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; }; target=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"]$; targ_ld_init="*LeabraSettle*"; }; NetCounterIncr @[1] { desc="increment the phase number (also on network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["phase_no"]$; counter=LeabraNetwork::phase_no; update_after=0; }; MethodCall @[2] { desc="increments other phase state information to prepare for the next phase of settling"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$; method=LeabraNetwork::Trial_UpdatePhase; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; test { expr="phase_no < network.phase_max"; }; }; AssignExpr @[3] { desc="store minus phase activation of motor ctx unit 0"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM0"]$$; expr { expr="Motor_Cortex.units[0].act_m"; }; }; AssignExpr @[4] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM1"]$$; expr { expr="Motor_Cortex.units[1].act_m"; }; }; AssignExpr @[5] { desc="store minus phase activation of motor ctx unit 0"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM2"]$$; expr { expr="Motor_Cortex.units[2].act_m"; }; }; AssignExpr @[6] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM3"]$$; expr { expr="Motor_Cortex.units[3].act_m"; }; }; AssignExpr @[7] { desc="store minus phase activation of motor ctx unit 0"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM4"]$$; expr { expr="Motor_Cortex.units[4].act_m"; }; }; AssignExpr @[8] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM5"]$$; expr { expr="Motor_Cortex.units[5].act_m"; }; }; AssignExpr @[9] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM6"]$$; expr { expr="Motor_Cortex.units[6].act_m"; }; }; AssignExpr @[10] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["actM7"]$$; expr { expr="Motor_Cortex.units[7].act_m"; }; }; AssignExpr @[11] { desc="TS"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["action"]$$; expr { expr="0"; }; }; AssignExpr @[12] { desc="TS"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r1"]$$; expr { expr="0"; }; }; AssignExpr @[13] { desc="TS"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r2"]$$; expr { expr="0"; }; }; AssignExpr @[14] { desc="TS"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r3"]$$; expr { expr="0"; }; }; AssignExpr @[15] { desc="TS"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r4"]$$; expr { expr="0"; }; }; If @[16] { desc=; flags=0; orig_prog_code=; cond { expr="Output.acts.max >0"; }; true_code { name="ProgEl_List_190"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="( actM0+actM4 > actM1+actM5) & ( actM0+actM4 > actM2+actM6) & ( actM0+actM4 > actM3+actM7)"; }; true_code { name=; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[0].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[4].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["action"]$; expr { expr="1"; }; }; AssignExpr @[3] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r1"]$; expr { expr="1"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="( actM1+actM5 > actM0+actM4) & ( actM1+actM5 > actM2+actM6) & ( actM1+actM5 > actM3+actM7)"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[1].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[5].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["action"]$; expr { expr="2"; }; }; AssignExpr @[3] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r2"]$; expr { expr="1"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="( actM2+actM6 > actM0+actM4) & ( actM2+actM6 > actM1+actM5) & ( actM2+actM6 > actM3+actM7)"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[2].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[6].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["action"]$; expr { expr="3"; }; }; AssignExpr @[3] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r3"]$; expr { expr="1"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[3].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[7].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["action"]$; expr { expr="4"; }; }; AssignExpr @[3] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r4"]$; expr { expr="1"; }; }; }; }; }; }; }; }; }; }; MethodCall @[17] { desc="after the trial is over, do final computations: Compute_dWt (learn weights), compute stats"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$; method=LeabraNetwork::Trial_Final; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; ProgramCall @[18] { desc="records data about the trial-level processing to a datatable for graphing/processing"; flags=0; orig_prog_code=; prog_args { name="ProgArg_List_0"; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=Network; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"]$$; targ_ld_init="*LeabraTrialMonitor*"; }; NetUpdateView @[19] { desc="update the network view(s) (only if update_net_view is true)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].args["network"]$; update_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["update_net_view"]$$; }; }; step_prog=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraCycle"]$$; step_n=1; }; Program @["LeabraSettle"] { name="LeabraSettle"; short_nm="Settle"; tags="Leabra, Std"; desc="iterates over cycles of updating until network has settled into a stable state, or output activations have exceeded a threshold"; flags=0; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["cycle"] { name="cycle"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="current cycle of settling (local loop counter)"; init_from=NULL; }; ProgVar @["min_cycles"] { name="min_cycles"; var_type=T_Int; int_val=15; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="IMPORTANT: this value is obtained from the network min_cycles and min_cycles_phase2 -- change the value on the network object, not here in this program! sets the minimum number of cycles to settle for, regardless of network state changes, etc"; init_from=NULL; }; ProgVar @["update_net_view"] { name="update_net_view"; var_type=T_Bool; bool_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="if true, will update network views at end of settling"; init_from=NULL; }; ProgVar @["Output"] { name="Output"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_1_"].networks["BG_4s"].layers["Output"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Thal"] { name="Thal"; var_type=T_Object; object_type=LeabraLayer; object_val=.projects["BG_1_"].networks["BG_4s"].layers["Thalamus"]$$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["NLoops"] { name="NLoops"; var_type=T_Int; int_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="batch counter"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize local cycle counter and corresponding counter on network"; flags=0; orig_prog_code=; network_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$$; local_ctr_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["cycle"]$$; counter=Network::cycle; update_after=0; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; NetCounterInit @[0] { desc="initialize local cycle counter and corresponding counter on network"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["cycle"]$; counter=Network::cycle; update_after=0; }; AssignExpr @[1] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["Output"]$$; expr { expr="network.layers.Output"; }; }; AssignExpr @[2] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["Thal"]$$; expr { expr="network.layers.Thalamus"; }; }; MethodCall @[3] { desc="resets input data, before getting new external inputs data from apply inputs call"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; method=Network::Init_InputData; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; ProgramCall @[4] { desc="apply external input activations from the input_data table to the network this program can be extended to do arbitrary things to generate data and apply it to network layers"; flags=0; orig_prog_code=; prog_args { name="ProgArg_List_0"; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=Network; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="FlatNetwork"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["ApplyInput1"]$$; targ_ld_init="*ApplyInput1*"; }; ProgramCall @[5] { desc=; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; ProgArg @[1] { arg_type=DataTable; type="DataTable*"; name="input_data"; required=1; def_val=; expr { expr="input_data"; }; }; }; target=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"]$; targ_ld_init="*DA_Rew_Punish*"; }; If @[6] { desc=; flags=0; orig_prog_code=; cond { expr="network.phase == LeabraNetwork::PLUS_PHASE"; }; true_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc=; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; path="cycle_max"; expr { expr="30"; }; update_after=0; }; }; }; Else @[7] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="number of cycles to run in minus phase"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; path="cycle_max"; expr { expr="150"; }; update_after=0; }; }; }; MethodCall @[8] { desc="initializes various counters at start of settling"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; method=LeabraNetwork::Settle_Init; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; If @[9] { desc="get appropriate min_cycles value depending on which phase we're in"; flags=0; orig_prog_code=; cond { expr="network.phase_no <= 1"; }; true_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="get minimum number of cycles from parameter on network (which is where you should change this value!)"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["min_cycles"]$$; expr { expr="network.min_cycles"; }; }; }; }; Else @[10] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="get minimum number of cycles from parameter on network (which is where you should change this value!)"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["min_cycles"]$; expr { expr="network.min_cycles_phase2"; }; }; }; }; WhileLoop @[11] { desc="the main loop over cycles of updating"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; ProgramCall @[0] { desc="run the cycle program, which computes one cycle of activations"; flags=0; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=LeabraNetwork; type="LeabraNetwork*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; }; target=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraCycle"]$; targ_ld_init="*LeabraCycle*"; }; NetCounterIncr @[1] { desc="increment cycle counter (also on network)"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; local_ctr_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["cycle"]$; counter=Network::cycle; update_after=0; }; IfContinue @[2] { desc="avoid subsequent stopping criteria if below min_cycles"; flags=0; orig_prog_code=; cond { expr="cycle < min_cycles"; }; }; IfBreak @[3] { desc="stop settling when thal unit is 50% active (so average thal = .25)"; flags=OFF; orig_prog_code=; cond { expr="(network.phase == LeabraNetwork::MINUS_PHASE)&(Output.acts.avg > .25)&(Thal.acts.avg > .25)"; }; }; If @[4] { desc=; flags=OFF; orig_prog_code=; cond { expr="(network.phase == LeabraNetwork::MINUS_PHASE)&(Output.acts.max > .5)&(Thal.acts.max > .5)"; }; true_code { name=; el_typ=ProgCode; el_def=0; PrintExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Output.acts.max"; }; my_mask=NULL; debug_level=NULL; }; PrintExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Thal.acts.max"; }; my_mask=NULL; debug_level=NULL; }; }; }; IfBreak @[5] { desc="stop settling when thal unit is 50% active (so average thal = .25)"; flags=0; orig_prog_code=; cond { expr="(network.phase == LeabraNetwork::MINUS_PHASE)&(Output.acts.max > .5)&(Thal.acts.max > .5)"; }; }; IfBreak @[6] { desc="stopping criterion for settling: based either on maximum change in activation (maxda) or on the maximum activation value in the network getting over threshold (which ever comes first). Set either parmeter to values that are always false (e.g., trg_max_act_stopcrit = -1) to eliminate associated source of criterion for stopping settling."; flags=OFF; orig_prog_code=; cond { expr="(network.maxda < network.maxda_stopcrit) || (network.trg_max_act > network.trg_max_act_stopcrit)"; }; }; }; test { expr="cycle < network.cycle_max"; }; }; MethodCall @[12] { desc="perform final operations at end of settling (storing final activations, etc)"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; method=LeabraNetwork::Settle_Final; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; If @[13] { desc="only run trial-level statistics in minus phase (otherwise network may have correct answer clamped on!). IMPORTANT: this assumes that you've got target activation values for output layers already presented in the minus phase -- if this is not the case (values are computed on the fly), you may want to run this instead at the start of the plus phase, after ApplyInputs"; flags=0; orig_prog_code=; cond { expr="network.phase == LeabraNetwork::MINUS_PHASE"; }; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="compute trial-level statistics"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; method=LeabraNetwork::Compute_TrialStats; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; If @[14] { desc="this stat must be called in plus phase when reward information is avail"; flags=0; orig_prog_code=; cond { expr="network.phase_no == 1"; }; true_code { name=; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="get external reward information"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; method=LeabraNetwork::Compute_ExtRew; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; }; NetUpdateView @[15] { desc="update network views, if update_net_view == true"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].args["network"]$; update_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraSettle"].vars["update_net_view"]$$; }; }; step_prog=NULL; step_n=1; }; Program @["LeabraCycle"] { name="LeabraCycle"; short_nm="Cycle"; tags="Leabra, Std"; desc="runs one cycle of leabra processing (updating net inputs and activations)"; flags=0; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["update_net_view"] { name="update_net_view"; var_type=T_Bool; bool_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="determines whether network views will be updated on a cycle-by-cycle basis (slow, but often quite useful for seeing how processing is proceeding)"; init_from=NULL; }; ProgVar @["i"] { name="i"; var_type=T_Int; int_val=12; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="this does all the standard leabra processing for one cycle of activation updating"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraCycle"].args["network"]$$; method=LeabraNetwork::Cycle_Run; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; NetUpdateView @[1] { desc="update network views if update_net_view == true"; flags=0; orig_prog_code=; network_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraCycle"].args["network"]$; update_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraCycle"].vars["update_net_view"]$$; }; If @[2] { desc="apply phasic DA in plus phase"; flags=OFF; orig_prog_code=; cond { expr="network.phase==LeabraNetwork::PLUS_PHASE"; }; true_code { name=; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc=; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=NULL; path="units[i].act"; expr { expr="InputHidden.units[i].act_m"; }; update_after=1; }; PrintExpr @[1] { desc=; flags=OFF; orig_prog_code=; expr { expr="\"boum\""; }; my_mask=NULL; debug_level=NULL; }; }; init { expr="i = 0"; }; test { expr="i < 12"; }; iter { expr="i++"; }; }; }; }; Else @[3] { desc=; flags=OFF; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; }; init { expr="i = 0"; }; test { expr="i < 1"; }; iter { expr="i++"; }; }; }; }; ProgramCall @[4] { desc=; flags=OFF|NON_STD; orig_prog_code=; prog_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=Network; type="Network*"; name="network"; required=1; def_val=; expr { expr="network"; }; }; }; target=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"]$$; targ_ld_init="*Cycle_Monitor*"; }; }; step_prog=NULL; step_n=10; }; Program @["ApplyInput1"] { name="ApplyInput1"; short_nm="pplynp"; tags="Network, InputData, Apply"; desc="apply the current input data to the network as external input and target values"; flags=NO_STOP_STEP; objs { name="objs"; el_typ=LayerWriter; el_def=0; LayerWriter @["LayerWriter_0"] { name="LayerWriter_0"; data=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; network=$.projects["BG_1_"].networks["BG_4s"]$; layer_data { name="layer_data"; el_typ=LayerWriterEl; el_def=0; LayerWriterEl @[0] { col_name="Input"; net_target=LAYER; layer_name="Input"; offset {x=0: y=0: }; use_layer_type=1; quiet=0; na_by_range=0; ext_flags=EXT; noise {name="noise": type=NONE: mean=0: var=0.5: par=1: }; }; LayerWriterEl @[1] { col_name="Output"; net_target=LAYER; layer_name="Output"; offset {x=0: y=0: }; use_layer_type=1; quiet=0; na_by_range=0; ext_flags=TARG; noise {name="noise": type=NONE: mean=0: var=0.5: par=1: }; }; LayerWriterEl @[2] { col_name="SNc"; net_target=LAYER; layer_name="SNc"; offset {x=0: y=0: }; use_layer_type=1; quiet=0; na_by_range=0; ext_flags=EXT; noise {name="noise": type=NONE: mean=0: var=0.5: par=1: }; }; LayerWriterEl @[3] { col_name="Motor_Cortex"; net_target=LAYER; layer_name="PMC"; offset {x=0: y=0: }; use_layer_type=0; quiet=0; na_by_range=0; ext_flags=COMP; noise {name="noise": type=NONE: mean=0: var=0.5: par=1: }; }; LayerWriterEl @[4] { col_name="Name"; net_target=TRIAL_NAME; layer_name="Name"; offset {x=0: y=0: }; use_layer_type=1; quiet=0; na_by_range=0; ext_flags=0; noise {name="noise": type=NONE: mean=0: var=0.5: par=1: }; }; LayerWriterEl @[5] { col_name="Context"; net_target=LAYER; layer_name="ctxt"; offset {x=0: y=0: }; use_layer_type=1; quiet=0; na_by_range=0; ext_flags=EXT; noise {name="noise": type=NONE: mean=0: var=0.5: par=1: }; }; }; }; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=Network; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to apply inputs to -- typically set by calling program"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="input datatable containing input/output patterns"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["LayerWriter_0"] { name="LayerWriter_0"; var_type=T_Object; object_type=LayerWriter; object_val=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["ApplyInput1"].objs["LayerWriter_0"]$$; objs_ptr=1; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="this is a pointer to the LayerWriter object in objs -- edit that object to determine how information is presented to the network"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="sets the datatable and network for the layer writer, so it knows what to write to"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["ApplyInput1"].vars["LayerWriter_0"]$$; method=LayerWriter::SetDataNetwork; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="db"; required=1; def_val=; expr { expr="input_data"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; }; }; MethodCall @[1] { desc="check the configuration of the layer writer -- will emit warnings and errors for missing or misconfigured items"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["ApplyInput1"].vars["LayerWriter_0"]$; method=taList_impl::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="sets the datatable and network for the layer writer, so it knows what to write to"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["ApplyInput1"].vars["LayerWriter_0"]$; method=LayerWriter::SetDataNetwork; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="db"; required=1; def_val=; expr { expr="input_data"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; }; }; MethodCall @[1] { desc="apply inputs to the network! layer writer has all the key specs"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["ApplyInput1"].vars["LayerWriter_0"]$; method=LayerWriter::ApplyInputData; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=NULL; step_n=1; }; Program @["LeabraTrialMonitor"] { name="LeabraTrialMonitor"; short_nm="TrMntF"; tags="Leabra, Std, Monitor"; desc="monitor trial-level data from the network (and potentially other sources) -- stores results in datatable (TrialOutputData typically) that can be used for graph/grid views and further analysis "; flags=NO_STOP_STEP; objs { name="objs"; el_typ=NetMonitor; el_def=0; NetMonitor @["trial_netmon"] { name="trial_netmon"; items { name="items"; el_typ=NetMonItem; el_def=0; NetMonItem @["batch"] { name="batch"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="batch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["epoch"] { name="epoch"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="epoch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["trial_name"] { name="trial_name"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="trial_name"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["minus_cycles"] { name="minus_cycles"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="minus_cycles"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["r1"] { name="r1"; computed=0; object_type=ProgVar; object=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r1"]$; variable="int_val"; var_label=; name_style=MY_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["r2"] { name="r2"; computed=0; object_type=ProgVar; object=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r2"]$; variable="int_val"; var_label=; name_style=MY_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["r3"] { name="r3"; computed=0; object_type=ProgVar; object=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r3"]$; variable="int_val"; var_label=; name_style=MY_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["r4"] { name="r4"; computed=0; object_type=ProgVar; object=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrial"].vars["r4"]$; variable="int_val"; var_label=; name_style=MY_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; }; network=$.projects["BG_1_"].networks["BG_4s"]$; data=$.projects["BG_1_"].data.gp["OutputData"]["TrialOutputData"]$; rmv_orphan_cols=1; }; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=Network; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to record data from"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["trial_mon_data"] { name="trial_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["OutputData"]["TrialOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="data table to record trial-level data to (this program writes new data to this table!)"; init_from=NULL; }; ProgVar @["trial_netmon"] { name="trial_netmon"; var_type=T_Object; object_type=NetMonitor; object_val=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].objs["trial_netmon"]$$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="pointer to the NetMonitor object in objs secton of this program that contains configuration for what to record and where to get it"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="set the network and datatable for the NetMonitor"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].vars["trial_netmon"]$$; method=NetMonitor::SetDataNetwork; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="trial_mon_data"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; }; }; MethodCall @[1] { desc="check the configuration of the network monitor -- will emit warnings and errors for misconfigurations"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].vars["trial_netmon"]$; method=taBase::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; MethodCall @[2] { desc="update the monitor items and data schema based on current settings of the NetMonitor object"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].vars["trial_netmon"]$; method=NetMonitor::UpdateMonitors; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_first"; required=0; def_val="false"; expr { expr="true"; }; }; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="add a new blank row to the data"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].vars["trial_mon_data"]$$; method=DataTable::AddBlankRow; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[1] { desc="get the new monitor data from the network and other sources -- this does the main work"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].vars["trial_netmon"]$; method=NetMonitor::GetMonVals; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[2] { desc="update views and other things after writing new data to monitor data table"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].vars["trial_mon_data"]$; method=DataTable::WriteClose; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[3] { desc="only functional for dmem projects: synchronizes trial data across processes so that all distributed memory processors have the same trial-level data, despite having run only a subset of them each"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraTrialMonitor"].args["network"]$$; method=Network::DMem_ShareTrialData; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="trial_mon_data"; }; }; ProgArg @[1] { arg_type=int; type="int"; name="n_rows"; required=0; def_val="1"; expr { expr="1"; }; }; }; }; }; step_prog=NULL; step_n=1; }; Program @["Cycle_Monitor"] { name="Cycle_Monitor"; short_nm="Monitor"; tags=; desc="monitor trial-level data from the network (and potentially other sources) -- stores results in datatable (TrialOutputData typically) that can be used for graph/grid views and further analysis "; flags=NO_STOP_STEP; objs { name="objs"; el_typ=NetMonitor; el_def=0; NetMonitor @["cycle_netmon"] { name="cycle_netmon"; items { name="items"; el_typ=NetMonItem; el_def=0; NetMonItem @["batch"] { name="batch"; computed=0; object_type=LeabraNetwork; object=NULL; variable="batch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["epoch"] { name="epoch"; computed=0; object_type=LeabraNetwork; object=NULL; variable="epoch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["trial"] { name="trial"; computed=0; object_type=LeabraNetwork; object=NULL; variable="trial"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["trial_name"] { name="trial_name"; computed=0; object_type=LeabraNetwork; object=NULL; variable="trial_name"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["group_name"] { name="group_name"; computed=0; object_type=LeabraNetwork; object=NULL; variable="group_name"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["phase_no"] { name="phase_no"; computed=0; object_type=LeabraNetwork; object=NULL; variable="phase_no"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["cycle"] { name="cycle"; computed=0; object_type=LeabraNetwork; object=NULL; variable="cycle"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["sse"] { name="sse"; computed=0; object_type=LeabraNetwork; object=NULL; variable="sse"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["ext_rew"] { name="ext_rew"; computed=0; object_type=LeabraNetwork; object=NULL; variable="ext_rew"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["STN_acts_avg"] { name="STN_acts_avg"; computed=0; object_type=LeabraLayer; object=NULL; variable="acts.avg"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["Motor__acts_avg"] { name="Motor__acts_avg"; computed=0; object_type=LeabraLayer; object=NULL; variable="acts.avg"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["Thalam_acts_avg"] { name="Thalam_acts_avg"; computed=0; object_type=LeabraLayer; object=NULL; variable="acts.avg"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["GP_Int_acts_avg"] { name="GP_Int_acts_avg"; computed=0; object_type=LeabraLayer; object=NULL; variable="acts.avg"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["GP_Ext_acts_avg"] { name="GP_Ext_acts_avg"; computed=0; object_type=LeabraLayer; object=NULL; variable="acts.avg"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["Output_act"] { name="Output_act"; computed=0; object_type=LeabraLayer; object=NULL; variable="act"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["Output_units_0_act"] { name="Output_units_0_act"; computed=0; object_type=LeabraLayer; object=NULL; variable="units[0].act"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["SNc_acts_avg"] { name="SNc_acts_avg"; computed=0; object_type=LeabraLayer; object=NULL; variable="acts.avg"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; }; network=NULL; data=.projects["BG_1_"].data.gp["OutputData"]["CycleOutputData"]$$; rmv_orphan_cols=1; }; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=Network; object_val=NULL; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to record data from"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["cycle_mon_data"] { name="cycle_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["OutputData"]["CycleOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="data table to record trial-level data to (this program writes new data to this table!)"; init_from=NULL; }; ProgVar @["cycle_netmon"] { name="cycle_netmon"; var_type=T_Object; object_type=NetMonitor; object_val=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].objs["cycle_netmon"]$$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="pointer to the NetMonitor object in objs secton of this program that contains configuration for what to record and where to get it"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="set the network and datatable for the NetMonitor"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].vars["cycle_netmon"]$$; method=NetMonitor::SetDataNetwork; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="cycle_mon_data"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; }; }; MethodCall @[1] { desc="check the configuration of the network monitor -- will emit warnings and errors for misconfigurations"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].vars["cycle_netmon"]$; method=taBase::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; MethodCall @[2] { desc="update the monitor items and data schema based on current settings of the NetMonitor object"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].vars["cycle_netmon"]$; method=NetMonitor::UpdateMonitors; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_first"; required=0; def_val="false"; expr { expr="true"; }; }; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; IfReturn @[0] { desc=; flags=0; orig_prog_code=; cond { expr="network.phase_no>0"; }; }; MethodCall @[1] { desc="add a new blank row to the data"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].vars["cycle_mon_data"]$$; method=DataTable::AddBlankRow; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[2] { desc="get the new monitor data from the network and other sources -- this does the main work"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].vars["cycle_netmon"]$; method=NetMonitor::GetMonVals; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[3] { desc="update views and other things after writing new data to monitor data table"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].vars["cycle_mon_data"]$; method=DataTable::WriteClose; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[4] { desc="only functional for dmem projects: synchronizes trial data across processes so that all distributed memory processors have the same trial-level data, despite having run only a subset of them each"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["Cycle_Monitor"].args["network"]$$; method=Network::DMem_ShareTrialData; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="cycle_mon_data"; }; }; ProgArg @[1] { arg_type=int; type="int"; name="n_rows"; required=0; def_val="1"; expr { expr="1"; }; }; }; }; }; step_prog=NULL; step_n=1; }; Program @["LeabraEpochMonitor"] { name="LeabraEpochMonitor"; short_nm="EpcMon"; tags="Leabra, Std, Monitor"; desc="monitor epoch-level data from the network to a datatable (EpochOutputData typically) for use in graphing and viewing and further analysis"; flags=NO_STOP_STEP; objs { name="objs"; el_typ=NetMonitor; el_def=0; NetMonitor @["epoch_netmon"] { name="epoch_netmon"; items { name="items"; el_typ=NetMonItem; el_def=0; NetMonItem @["batch"] { name="batch"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="batch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["epoch"] { name="epoch"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="epoch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["avg_sse"] { name="avg_sse"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="avg_sse"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["cnt_err"] { name="cnt_err"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="cnt_err"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["avg_ext_rew"] { name="avg_ext_rew"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="avg_ext_rew"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["avg_cycles"] { name="avg_cycles"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="avg_cycles"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; }; network=$.projects["BG_1_"].networks["BG_4s"]$; data=.projects["BG_1_"].data.gp["OutputData"]["EpochOutputData"]$$; rmv_orphan_cols=1; }; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=Network; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to get data from"; init_from=NULL; }; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["epoch_mon_data"] { name="epoch_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["OutputData"]["EpochOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="data table to write the epoch data to"; init_from=NULL; }; ProgVar @["epoch_netmon"] { name="epoch_netmon"; var_type=T_Object; object_type=NetMonitor; object_val=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].objs["epoch_netmon"]$$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network monitor object that contains full specs for what to record and where to get it"; init_from=NULL; }; ProgVar @["epoch_timer"] { name="epoch_timer"; var_type=T_Object; object_type=TimeUsed; object_val=$.projects["BG_1_"].networks["BG_4s"].epoch_time$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="pointer to the network's epoch-level timer, to record how long it took to process an epoch"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="get the epoch timer from current network"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_timer"]$$; expr { expr="network.epoch_time"; }; }; MethodCall @[1] { desc="set data and network on NetMonitor object"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_netmon"]$$; method=NetMonitor::SetDataNetwork; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="epoch_mon_data"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; }; }; MethodCall @[2] { desc="check configuration and emit errors/warnings for problems"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_netmon"]$; method=taBase::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; MethodCall @[3] { desc="update the monitor items and data schema based on current settings of NetMonitor"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_netmon"]$; method=NetMonitor::UpdateMonitors; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_first"; required=0; def_val="false"; expr { expr="true"; }; }; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="add a new blank row to the data"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_mon_data"]$$; method=DataTable::AddBlankRow; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[1] { desc="get the new monitor data and stor it into the data table -- this does the main job here"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_netmon"]$; method=NetMonitor::GetMonVals; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; AssignExpr @[2] { desc="get the epoch timer from current network"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_timer"]$; expr { expr="network.epoch_time"; }; }; MethodCall @[3] { desc="update after writing new data to monitor data table"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor"].vars["epoch_mon_data"]$; method=DataTable::WriteClose; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=NULL; step_n=1; }; Program @["LeabraEpochMonitor_10"] { name="LeabraEpochMonitor_10"; short_nm="pcMntF"; tags="Leabra, Std, Monitor"; desc="monitor epoch-level data from the network to a datatable (EpochOutputData typically) for use in graphing and viewing and further analysis"; flags=NO_STOP_STEP; objs { name="objs"; el_typ=NetMonitor; el_def=0; NetMonitor @["epoch_netmon"] { name="epoch_netmon"; items { name="items"; el_typ=NetMonItem; el_def=0; NetMonItem @["batch"] { name="batch"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="batch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["epoch"] { name="epoch"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="epoch"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["avg_sse"] { name="avg_sse"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="avg_sse"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["cnt_err"] { name="cnt_err"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="cnt_err"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["avg_ext_rew"] { name="avg_ext_rew"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="avg_ext_rew"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; NetMonItem @["avg_cycles"] { name="avg_cycles"; computed=0; object_type=LeabraNetwork; object=$.projects["BG_1_"].networks["BG_4s"]$; variable="avg_cycles"; var_label=; name_style=AUTO_NAME; max_name_len=6; val_type=VT_FLOAT; matrix=0; matrix_geom{ }; data_agg=0; data_src=NULL; agg_col { col_name=; }; agg {name="agg": op=NONE: rel={name="rel": rel=LESSTHANOREQUAL: val=0: use_var=0: var=NULL: }: }; select_rows=0; select_spec { col_name=; name="_EQUAL_"; on=1; rel=EQUAL; use_var=0; cmp 0 1; var=NULL; enable_var=NULL; }; pre_proc_1 {name="pre_proc_1": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_2 {name="pre_proc_2": opr=NONE: arg=0: lw=-1: hi=1: }; pre_proc_3 {name="pre_proc_3": opr=NONE: arg=0: lw=-1: hi=1: }; }; }; network=$.projects["BG_1_"].networks["BG_4s"]$; data=$.projects["BG_1_"].data.gp["OutputData"]["EpochOutputData"]$; rmv_orphan_cols=1; }; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=Network; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to get data from"; init_from=NULL; }; ProgVar @["FlatNetwork"] { name="FlatNetwork"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="network to operate on -- updates batch counter on network and passes it to train program"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["epoch_mon_data"] { name="epoch_mon_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["OutputData"]["EpochOutputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="data table to write the epoch data to"; init_from=NULL; }; ProgVar @["epoch_netmon"] { name="epoch_netmon"; var_type=T_Object; object_type=NetMonitor; object_val=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].objs["epoch_netmon"]$$; objs_ptr=1; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network monitor object that contains full specs for what to record and where to get it"; init_from=NULL; }; ProgVar @["epoch_timer"] { name="epoch_timer"; var_type=T_Object; object_type=TimeUsed; object_val=$.projects["BG_1_"].networks["BG_4s"].epoch_time$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="pointer to the network's epoch-level timer, to record how long it took to process an epoch"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="get the epoch timer from current network"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_timer"]$$; expr { expr="network.epoch_time"; }; }; MethodCall @[1] { desc="set data and network on NetMonitor object"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_netmon"]$$; method=NetMonitor::SetDataNetwork; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=DataTable_ptr; type="DataTable*"; name="dt"; required=1; def_val=; expr { expr="epoch_mon_data"; }; }; ProgArg @[1] { arg_type=Network_ptr; type="Network*"; name="net"; required=1; def_val=; expr { expr="network"; }; }; }; }; MethodCall @[2] { desc="check configuration and emit errors/warnings for problems"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_netmon"]$; method=taBase::CheckConfig; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="quiet"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; MethodCall @[3] { desc="update the monitor items and data schema based on current settings of NetMonitor"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_netmon"]$; method=NetMonitor::UpdateMonitors; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=bool; type="bool"; name="reset_first"; required=0; def_val="false"; expr { expr="true"; }; }; }; }; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; MethodCall @[0] { desc="add a new blank row to the data"; flags=0; orig_prog_code=; result_var=NULL; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_mon_data"]$$; method=DataTable::AddBlankRow; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; MethodCall @[1] { desc="get the new monitor data and stor it into the data table -- this does the main job here"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_netmon"]$; method=NetMonitor::GetMonVals; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; AssignExpr @[2] { desc="get the epoch timer from current network"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_timer"]$; expr { expr="network.epoch_time"; }; }; MethodCall @[3] { desc="update after writing new data to monitor data table"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["LeabraEpochMonitor_10"].vars["epoch_mon_data"]$; method=DataTable::WriteClose; meth_args { name=; el_typ=ProgArg; el_def=0; }; }; }; step_prog=NULL; step_n=1; }; Program @["SaveWeights"] { name="SaveWeights"; short_nm="SvWts"; tags="Network, Weights"; desc="save network's current weight values to file using WriteWeights function, with file name based on project name + batch + epoch values"; flags=NO_STOP_STEP; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=Network; object_val=NULL; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["tag"] { name="tag"; var_type=T_String; string_val=; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="user-provided tag (startup script will set this!)"; init_from=NULL; }; ProgVar @["wts_subdir"] { name="wts_subdir"; var_type=T_String; string_val=; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="user-provided subdirectory to save weights in"; init_from=NULL; }; ProgVar @["fname"] { name="fname"; var_type=T_String; string_val=; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="final generated file name -- do not edit!"; init_from=NULL; }; ProgVar @["epoch_str"] { name="epoch_str"; var_type=T_String; string_val="0036"; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="string rep of epoch with leading zeros"; init_from=NULL; }; ProgVar @["batch_str"] { name="batch_str"; var_type=T_String; string_val="03"; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="string rep of batch with leading zeros"; init_from=NULL; }; ProgVar @["final_tag"] { name="final_tag"; var_type=T_String; string_val=".03_0036"; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="batch + epoch"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; IfReturn @[0] { desc="do not save if not the first dmem process (only relevant for dmem = distributed memory processing)"; flags=0; orig_prog_code=; cond { expr="taMisc::dmem_proc > 0"; }; }; MiscCall @[1] { desc="get current batch counter for file name, with leading zeros to length 3"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["SaveWeights"].vars["batch_str"]$$; object_type=taMisc; method=taMisc::LeadingZeros; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=int; type="int"; name="num"; required=1; def_val=; expr { expr="network.batch"; }; }; ProgArg @[1] { arg_type=int; type="int"; name="len"; required=1; def_val=; expr { expr="2"; }; }; }; }; MiscCall @[2] { desc="get current epoch counter with leading zeros to length 4"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["SaveWeights"].vars["epoch_str"]$$; object_type=taMisc; method=taMisc::LeadingZeros; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=int; type="int"; name="num"; required=1; def_val=; expr { expr="network.epoch"; }; }; ProgArg @[1] { arg_type=int; type="int"; name="len"; required=1; def_val=; expr { expr="4"; }; }; }; }; AssignExpr @[3] { desc="string 'tag' to identify the batch, epoch, and other user id info for the weights"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["SaveWeights"].vars["final_tag"]$$; expr { expr="tag + \".\" + batch_str + \"_\" + epoch_str"; }; }; MethodCall @[4] { desc="get a file name based on the project's current file name, for saving the weights"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["SaveWeights"].vars["fname"]$$; obj=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["SaveWeights"].args["network"]$$; method=taBase::GetFileNameFmProject; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="ext"; required=1; def_val=; expr { expr="\".wts.gz\""; }; }; ProgArg @[1] { arg_type=const_taString_ref; type="taString&"; name="tag"; required=0; def_val="\"\""; expr { expr="final_tag"; }; }; ProgArg @[2] { arg_type=const_taString_ref; type="taString&"; name="subdir"; required=0; def_val="\"\""; expr { expr="wts_subdir"; }; }; ProgArg @[3] { arg_type=bool; type="bool"; name="dmem_proc_no"; required=0; def_val="false"; expr { expr="false"; }; }; }; }; MethodCall @[5] { desc="save the weights to that file name"; flags=0; orig_prog_code=; result_var=NULL; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["SaveWeights"].args["network"]$; method=Network::SaveWeights; meth_args { name=; el_typ=ProgArg; el_def=0; ProgArg @[0] { arg_type=const_taString_ref; type="taString&"; name="fname"; required=0; def_val="\"\""; expr { expr="fname"; }; }; ProgArg @[1] { arg_type=Network::WtSaveFormat; type="Network::WtSaveFormat"; name="fmt"; required=0; def_val="Network::NET_FMT"; expr { expr="Network::NET_FMT"; }; }; }; }; }; step_prog=NULL; step_n=1; }; Program @["DA_Rew_Punish"] { name="DA_Rew_Punish"; short_nm="Punish"; tags=; desc=; flags=0; objs { name="objs"; el_typ=taNBase; el_def=0; }; types { name="types"; el_typ=DynEnumType; el_def=0; }; args { name="args"; el_typ=ProgVar; el_def=0; ProgVar @["network"] { name="network"; var_type=T_Object; object_type=LeabraNetwork; object_val=$.projects["BG_1_"].networks["BG_4s"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc="network to train"; init_from=NULL; }; ProgVar @["input_data"] { name="input_data"; var_type=T_Object; object_type=DataTable; object_val=$.projects["BG_1_"].data.gp["InputData"]["StdInputData"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="datatable with training patterns"; init_from=NULL; }; }; vars { name="vars"; el_typ=ProgVar; el_def=0; ProgVar @["num_intact_snc_units"] { name="num_intact_snc_units"; var_type=T_Int; int_val=2; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["snc_size"] { name="snc_size"; var_type=T_Int; int_val=4; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["k"] { name="k"; var_type=T_Real; real_val=0.5; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["sse"] { name="sse"; var_type=T_Real; real_val=1.193449735641479; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["bias"] { name="bias"; var_type=T_Real; real_val=3; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["act0"] { name="act0"; var_type=T_Real; real_val=0.9166443943977356; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["act1"] { name="act1"; var_type=T_Real; real_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM0"] { name="actM0"; var_type=T_Real; real_val=0.863406240940094; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM1"] { name="actM1"; var_type=T_Real; real_val=0.1132071614265442; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM2"] { name="actM2"; var_type=T_Real; real_val=0.005791629664599895; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM3"] { name="actM3"; var_type=T_Real; real_val=0.001449216157197952; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM4"] { name="actM4"; var_type=T_Real; real_val=0.8634011149406433; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM5"] { name="actM5"; var_type=T_Real; real_val=0.1904775053262711; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM6"] { name="actM6"; var_type=T_Real; real_val=0.0003715657512657344; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["actM7"] { name="actM7"; var_type=T_Real; real_val=0.003161343280225992; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["SNc"] { name="SNc"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_1_"].networks["BG_4s"].layers["SNc"]$; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Output"] { name="Output"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_1_"].networks["BG_4s"].layers["Output"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["Motor_Cortex"] { name="Motor_Cortex"; var_type=T_Object; object_type=LeabraLayer; object_val=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["i"] { name="i"; var_type=T_Int; int_val=2; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["TS"] { name="TS"; var_type=T_Int; int_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["action"] { name="action"; var_type=T_Int; int_val=1; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["tonic_DA"] { name="tonic_DA"; var_type=T_Real; real_val=0.026; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["op_sse"] { name="op_sse"; var_type=T_Int; int_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["DA_dip_val"] { name="DA_dip_val"; var_type=T_Real; real_val=0; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["DA_burst_val"] { name="DA_burst_val"; var_type=T_Real; real_val=1; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|USED|EDIT_VAL; reference=0; desc=; init_from=NULL; }; ProgVar @["biasValue"] { name="biasValue"; var_type=T_Real; real_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="maximum number of epochs to run"; init_from=NULL; }; ProgVar @["biasInHid"] { name="biasInHid"; var_type=T_Real; real_val=0; objs_ptr=0; flags=NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="maximum number of epochs to run"; init_from=NULL; }; ProgVar @["cycle"] { name="cycle"; var_type=T_Int; int_val=50; objs_ptr=0; flags=CTRL_PANEL|NULL_CHECK|SAVE_VAL|EDIT_VAL; reference=0; desc="current cycle of settling (local loop counter)"; init_from=NULL; }; }; functions { name="functions"; el_typ=Function; el_def=0; }; init_code { name="init_code"; el_typ=ProgCode; el_def=0; }; prog_code { name="prog_code"; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$$; expr { expr="network.layers.SNc"; }; }; AssignExpr @[1] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$$; expr { expr="network.layers.PMC"; }; }; AssignExpr @[2] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Output"]$$; expr { expr="network.layers.Output"; }; }; AssignExpr @[3] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["snc_size"]$$; expr { expr="SNc.units.size"; }; }; AssignExpr @[4] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["k"]$$; expr { expr="(float)num_intact_snc_units/ snc_size"; }; }; AssignExpr @[5] { desc=; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["sse"]$$; expr { expr="network.sse"; }; }; If @[6] { desc="apply phasic DA in plus phase"; flags=0; orig_prog_code=; cond { expr="network.phase==LeabraNetwork::PLUS_PHASE"; }; true_code { name=; el_typ=ProgCode; el_def=0; AssignExpr @[0] { desc="store minus phase activation of motor ctx unit 0"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM0"]$$; expr { expr="Motor_Cortex.units[0].act_m"; }; }; AssignExpr @[1] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM1"]$$; expr { expr="Motor_Cortex.units[1].act_m"; }; }; AssignExpr @[2] { desc="store minus phase activation of motor ctx unit 0"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM2"]$$; expr { expr="Motor_Cortex.units[2].act_m"; }; }; AssignExpr @[3] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM3"]$$; expr { expr="Motor_Cortex.units[3].act_m"; }; }; AssignExpr @[4] { desc="store minus phase activation of motor ctx unit 0"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM4"]$$; expr { expr="Motor_Cortex.units[4].act_m"; }; }; AssignExpr @[5] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM5"]$$; expr { expr="Motor_Cortex.units[5].act_m"; }; }; AssignExpr @[6] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM6"]$$; expr { expr="Motor_Cortex.units[6].act_m"; }; }; AssignExpr @[7] { desc="store minus phase act of motor unit 1"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["actM7"]$$; expr { expr="Motor_Cortex.units[7].act_m"; }; }; MemberAssign @[8] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[0].ext"; expr { expr="actM0"; }; update_after=0; }; MemberAssign @[9] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[1].ext"; expr { expr="actM1"; }; update_after=0; }; MemberAssign @[10] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[2].ext"; expr { expr="actM2"; }; update_after=0; }; MemberAssign @[11] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[3].ext"; expr { expr="actM3"; }; update_after=0; }; MemberAssign @[12] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[4].ext"; expr { expr="actM4"; }; update_after=0; }; MemberAssign @[13] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[5].ext"; expr { expr="actM5"; }; update_after=0; }; MemberAssign @[14] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[6].ext"; expr { expr="actM6"; }; update_after=0; }; MemberAssign @[15] { desc="set plus phase acts to reflect minus phase response"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["Motor_Cortex"]$; path="units[7].ext"; expr { expr="actM7"; }; update_after=0; }; ForLoop @[16] { desc=; flags=0; orig_prog_code=; loop_code { name="ProgEl_List_189"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[i].bias.SetCnValName(0,0,\"wt\");"; }; }; }; init { expr="i = 0"; }; test { expr="i < 8"; }; iter { expr="i++"; }; }; AssignExpr @[17] { desc="TS"; flags=0; orig_prog_code=; result_var=.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["action"]$$; expr { expr="0"; }; }; If @[18] { desc=; flags=0; orig_prog_code=; cond { expr="Output.acts.max >0"; }; true_code { name=; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="( actM0+actM4 > actM1+actM5) & ( actM0+actM4 > actM2+actM6) & ( actM0+actM4 > actM3+actM7)"; }; true_code { name=; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[0].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[4].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["action"]$; expr { expr="1"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="( actM1+actM5 > actM0+actM4) & ( actM1+actM5 > actM2+actM6) & ( actM1+actM5 > actM3+actM7)"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[1].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[5].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["action"]$; expr { expr="2"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="( actM2+actM6 > actM0+actM4) & ( actM2+actM6 > actM1+actM5) & ( actM2+actM6 > actM3+actM7)"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[2].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[6].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["action"]$; expr { expr="3"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[3].bias.SetCnValName(10,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[7].bias.SetCnValName(10,0,\"wt\");"; }; }; AssignExpr @[2] { desc="TS"; flags=0; orig_prog_code=; result_var=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["action"]$; expr { expr="4"; }; }; }; }; }; }; }; }; }; }; If @[19] { desc="if error is below threshold, given DA burst"; flags=0; orig_prog_code=; cond { expr="network.trial_name.contains(\"8020\")"; }; true_code { name=; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="action==1"; }; true_code { name="ProgEl_List_170"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="Random::IntZeroN(10)>1"; }; true_code { name="ProgEl_List_168"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set external input on SNC to high value for DA burst"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_burst_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_dip_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc="R2 = 80% neg, R3/R4 neutral"; flags=0; orig_prog_code=; cond { expr="action==2"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="Random::IntZeroN(10)>7"; }; true_code { name=; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set external input on SNC to high value for DA burst"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_burst_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_dip_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < snc_size"; }; iter { expr="i++"; }; }; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="tonic_DA"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; }; }; }; }; Else @[20] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc="R3 60 R4 40 R1/R2 neutral"; flags=0; orig_prog_code=; cond { expr="network.trial_name.contains(\"6040\")"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="action==3"; }; true_code { name=; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="Random::IntZeroN(10)>3"; }; true_code { name=; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set external input on SNC to high value for DA burst"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_burst_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_dip_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; If @[0] { desc="R2 = 80% neg, R3/R4 neutral"; flags=0; orig_prog_code=; cond { expr="action==4"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; If @[0] { desc=; flags=0; orig_prog_code=; cond { expr="Random::IntZeroN(10)>5"; }; true_code { name=; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name=; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set external input on SNC to high value for DA burst"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_burst_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="DA_dip_val"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < snc_size"; }; iter { expr="i++"; }; }; }; }; }; }; Else @[1] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="tonic_DA"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; }; }; }; }; }; }; }; }; Else @[7] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; ForLoop @[0] { desc=; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[i].bias.SetCnValName(0,0,\"wt\");"; }; }; }; init { expr="i = 0"; }; test { expr="i < 8"; }; iter { expr="i++"; }; }; If @[1] { desc="if error is below threshold, given DA burst"; flags=0; orig_prog_code=; cond { expr="network.trial_name.contains(\"8020\")"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[0].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[4].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[2] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[1].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[3] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[5].bias.SetCnValName(bias,0,\"wt\");"; }; }; }; }; If @[2] { desc="if error is below threshold, given DA burst"; flags=0; orig_prog_code=; cond { expr="network.trial_name.contains(\"6040\")"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[2].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[6].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[2] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[3].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[3] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[7].bias.SetCnValName(bias,0,\"wt\");"; }; }; }; }; If @[3] { desc="if error is below threshold, given DA burst"; flags=0; orig_prog_code=; cond { expr="network.trial_name.contains(\"comboA\")"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[0].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[4].bias.SetCnValName(bias,0,\"wt\");"; }; }; If @[2] { desc=; flags=0; orig_prog_code=; cond { expr="Random::IntZeroN(2)==0"; }; true_code { name=; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[2].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[6].bias.SetCnValName(bias,0,\"wt\");"; }; }; }; }; Else @[3] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[3].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[7].bias.SetCnValName(bias,0,\"wt\");"; }; }; }; }; }; }; If @[4] { desc="if error is below threshold, given DA burst"; flags=0; orig_prog_code=; cond { expr="network.trial_name.contains(\"comboB\")"; }; true_code { name="true_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[1].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[5].bias.SetCnValName(bias,0,\"wt\");"; }; }; If @[2] { desc=; flags=0; orig_prog_code=; cond { expr="Random::IntZeroN(2)==0"; }; true_code { name="ProgEl_List_200"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[2].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[6].bias.SetCnValName(bias,0,\"wt\");"; }; }; }; }; Else @[3] { desc=; flags=0; orig_prog_code=; else_code { name="else_code"; el_typ=ProgCode; el_def=0; CssExpr @[0] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[3].bias.SetCnValName(bias,0,\"wt\");"; }; }; CssExpr @[1] { desc=; flags=0; orig_prog_code=; expr { expr="Motor_Cortex->units[7].bias.SetCnValName(bias,0,\"wt\");"; }; }; }; }; }; }; ForLoop @[5] { desc="loop over snc units"; flags=0; orig_prog_code=; loop_code { name="loop_code"; el_typ=ProgCode; el_def=0; MemberAssign @[0] { desc="set tonic DA val"; flags=0; orig_prog_code=; obj=$.projects["BG_1_"].programs.gp["LeabraAll_Std"]["DA_Rew_Punish"].vars["SNc"]$; path="units[i].ext"; expr { expr="tonic_DA"; }; update_after=0; }; }; init { expr="i = 0"; }; test { expr="i < k*snc_size"; }; iter { expr="i++"; }; }; }; }; }; step_prog=NULL; step_n=1; }; }; }; viewers { name="viewers"; el_typ=MainWindowViewer; el_def=0; MainWindowViewer @["Browser"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["view_win_lft"] { name="view_win_lft"; value 6 0=0.03680555522441864; val_type_fixed=0; }; UserDataItem @["view_win_top"] { name="view_win_top"; value 6 0=0; val_type_fixed=0; }; UserDataItem @["view_win_wd"] { name="view_win_wd"; value 6 0=1; val_type_fixed=0; }; UserDataItem @["view_win_ht"] { name="view_win_ht"; value 6 0=0.7975757718086243; val_type_fixed=0; }; UserDataItem @["view_win_iconified"] { name="view_win_iconified"; value 1 0=0; val_type_fixed=0; }; UserDataItem @["view_splitter_state"] { name="view_splitter_state"; value 9 0="AAAA/wAAAAEAAAADAAAA1gAAAlMAAAPUAQAAAAYBAAAAAQE="; val_type_fixed=0; }; }; name="Browser"; m_data=.projects["BG_1_"]$$; visible=1; win_name=".projects[\"BG\"] - BG (1).proj"; m_is_root=0; m_is_viewer_xor_browser=0; m_is_proj_viewer=1; m_is_dialog=0; toolbars { name="toolbars"; el_typ=ToolBar; el_def=0; ToolBar @["Application"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["view_win_visible"] { name="view_win_visible"; value 1 0=1; val_type_fixed=0; }; }; name="Application"; m_data=NULL; visible=0; lft=0; top=0; o=Horizontal; }; }; frames { name="frames"; el_typ=BrowseViewerTaBase; el_def=0; BrowseViewerTaBase @["Tree"] { name="Tree"; m_data=NULL; visible=1; root_typ=LeabraProject; root_md=NULL; m_root=$.projects["BG_1_"]$; }; PanelViewer @["Panels"] { name="Panels"; m_data=NULL; visible=1; }; T3PanelViewer @["T3Frames"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_78"; el_typ=UserDataItem; el_def=0; UserDataItem @["view_panel_selected"] { name="view_panel_selected"; value 1 0=1; val_type_fixed=0; }; }; name="T3Frames"; m_data=NULL; visible=1; panels { name="panels"; el_typ=T3Panel; el_def=0; T3Panel @["BGLoop1"] { name="BGLoop1"; m_data=NULL; visible=1; root_view { name="root_view"; m_data=NULL; m_transform=NULL; children { name="children"; el_typ=NetView; el_def=0; NetView @["BG_4s_View"] { name="BG_4s_View"; m_data=$.projects["BG_1_"].networks["BG_4s"]$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=1: y=0: z=0: rot=0.35: }: translate={x=0: y=0: z=0: }: }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=1: y=0: z=0: rot=0.35: }: translate={x=0: y=0: z=0: }: }; annotations { name="annotations"; el_typ=T3Annotation; el_def=0; }; annote_children { name="annote_children"; el_typ=T3DataView; el_def=0; }; display=1; lay_layout=THREE_D; lay_mv=1; net_text=1; show_iconified=0; net_text_xform {scale={x=0: y=0: z=0: }: rotate={x=1: y=0: z=0: rot=0: }: translate={x=0: y=-0.5: z=0: }: }; net_text_rot=0; cur_unit_vals{ act; }; unit_src_path=".layers[4].units[2]"; con_type=ANY_CON; hist_idx=0; hist_save=1; hist_max=100; hist_ff=5; unit_disp_mode=UDM_CYLINDER; unit_text_disp=UTD_NONE; max_size {x=40: y=9: z=2.333333: }; max_size2d {x=10: y=36: z=1: }; eff_max_size {x=40: y=9: z=2.333333: }; font_sizes { net_name=0.05; net_vals=0.05; layer=0.04; layer_min=0.01; layer_vals=0.03; prjn=0.01; unit=0.02; un_nm_len=3; }; view_params { xy_square=0; unit_spacing=0.05; prjn_disp=L_R_B; prjn_name=0; prjn_width=0.002; prjn_trans=0.5; lay_trans=0.5; unit_trans=0.6; laygp_width=1; show_laygp=1; }; wt_line_disp=0; wt_line_width=4; wt_line_thr=0.8; wt_line_swt=0; wt_prjn_k_un=4; wt_prjn_k_gp=1; wt_prjn_lay=NULL; snap_bord_disp=0; snap_bord_width=4; scale { name="scale"; chunks=133; min=-1; max=1; range=1; zero=0; spec=.colorspecs["C_ColdHot"]$$; auto_scale=0; }; scale_ranges { name="scale_ranges"; el_typ=ScaleRange; el_def=0; ScaleRange @[0] { var_name="act"; auto_scale=0; min=-1; max=1; }; ScaleRange @[1] { var_name="r.wt"; auto_scale=0; min=-1; max=1; }; ScaleRange @[2] { var_name="s.wt"; auto_scale=0; min=-1; max=1; }; ScaleRange @[3] { var_name="r.pdw"; auto_scale=1; min=-0.02148556; max=0.02148556; }; ScaleRange @[4] { var_name="act_p"; auto_scale=0; min=-1; max=1; }; ScaleRange @[5] { var_name="act_dif"; auto_scale=0; min=-1; max=1; }; ScaleRange @[6] { var_name="act_m"; auto_scale=0; min=-1; max=1; }; ScaleRange @[7] { var_name="bias.wt"; auto_scale=0; min=-1; max=1; }; ScaleRange @[8] { var_name="targ"; auto_scale=0; min=-1; max=1; }; ScaleRange @[9] { var_name="ext"; auto_scale=0; min=-1; max=1; }; ScaleRange @[10] { var_name="net"; auto_scale=0; min=-1; max=1; }; }; lay_disp_modes{ Input=-1;GP_Int=-1;GP_Ext=-1;Thalamus=-1;PMC=-1;Output=-1;SNc=-1;ctxt=-1;Go=-1;NoGo=-1;Striatum_Inhib=-1; }; }; }; }; bg_color {r=1: g=1: b=1: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name="saved_views"; el_typ=T3SavedView; el_def=0; T3SavedView @["Vw_0"] { name="Vw_0"; view_saved=1; pos {x=0.50625: y=0.6861241: z=1.52285: }; orient {x=-0.9999916: y=0: z=0: rot=0.08800074: }; focal_dist=1.734215; }; T3SavedView @["Vw_1"] { name="Vw_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_2"] { name="Vw_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_3"] { name="Vw_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_4"] { name="Vw_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_5"] { name="Vw_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_6"] { name="Vw_6"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_7"] { name="Vw_7"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_8"] { name="Vw_8"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_9"] { name="Vw_9"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["Stats"] { name="Stats"; m_data=NULL; visible=1; root_view { name="root_view"; m_data=NULL; m_transform=NULL; children { name="children"; el_typ=GraphTableView; el_def=0; GraphTableView @["Stats_Graph"] { name="Stats_Graph"; m_data=$.projects["BG_1_"].data.gp["AnalysisData"]["Stats"]$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name="children"; el_typ=GraphColView; el_def=0; GraphColView @["trial_name_group_group"] { name="trial_name_group_group"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["trial_name_group_group"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r1_mean_mean"] { name="r1_mean_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r1_mean_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r1_mean_sem"] { name="r1_mean_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r1_mean_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r2_mean_mean"] { name="r2_mean_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r2_mean_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r2_mean_sem"] { name="r2_mean_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r2_mean_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r3_mean_mean"] { name="r3_mean_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r3_mean_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r3_mean_sem"] { name="r3_mean_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r3_mean_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r4_mean_mean"] { name="r4_mean_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r4_mean_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r4_mean_sem"] { name="r4_mean_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["Stats"].data["r4_mean_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; annotations { name="annotations"; el_typ=T3Annotation; el_def=0; }; annote_children { name="annote_children"; el_typ=T3DataView; el_def=0; }; view_rows=10000; view_range {min=0: max=-1: }; display_on=1; manip_ctrl_on=1; graph_type=BAR; plot_style=LINE; negative_draw=0; negative_draw_z=1; line_width=2; point_size=0.01; point_spacing=1; bar_space=0.2; bar_depth=0.01; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name="x_axis"; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="trial_name_group_group"; is_string=1; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=1: min=1.5: fix_max=1: max=3.6: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=1; }; z_axis { name="z_axis"; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=-1: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=1; }; tot_plots=16; plots { name="plots"; el_typ=GraphPlotView; el_def=0; GraphPlotView @["Stats_Graph_plot_1"] { name="Stats_Graph_plot_1"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r1_mean_mean"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=1: max=1: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_2"] { name="Stats_Graph_plot_2"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r2_mean_mean"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=1: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_3"] { name="Stats_Graph_plot_3"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_4"] { name="Stats_Graph_plot_4"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE_UP; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_5"] { name="Stats_Graph_plot_5"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_6"] { name="Stats_Graph_plot_6"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_7"] { name="Stats_Graph_plot_7"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_8"] { name="Stats_Graph_plot_8"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE_DN; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_9"] { name="Stats_Graph_plot_9"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_10"] { name="Stats_Graph_plot_10"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=SQUARE; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_11"] { name="Stats_Graph_plot_11"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=DIAMOND; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_12"] { name="Stats_Graph_plot_12"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=TRIANGLE_UP; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_13"] { name="Stats_Graph_plot_13"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=TRIANGLE_DN; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_14"] { name="Stats_Graph_plot_14"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=PLUS; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_15"] { name="Stats_Graph_plot_15"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=CROSS; alt_y=0; }; GraphPlotView @["Stats_Graph_plot_16"] { name="Stats_Graph_plot_16"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=STAR; alt_y=0; }; }; errbars { name="errbars"; el_typ=GraphPlotView; el_def=0; GraphPlotView @["Stats_Graph_err_1"] { name="Stats_Graph_err_1"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r1_mean_sem"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_2"] { name="Stats_Graph_err_2"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r2_mean_sem"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_3"] { name="Stats_Graph_err_3"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_4"] { name="Stats_Graph_err_4"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_5"] { name="Stats_Graph_err_5"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_6"] { name="Stats_Graph_err_6"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_7"] { name="Stats_Graph_err_7"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_8"] { name="Stats_Graph_err_8"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_9"] { name="Stats_Graph_err_9"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_10"] { name="Stats_Graph_err_10"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_11"] { name="Stats_Graph_err_11"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_12"] { name="Stats_Graph_err_12"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_13"] { name="Stats_Graph_err_13"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_14"] { name="Stats_Graph_err_14"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_15"] { name="Stats_Graph_err_15"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["Stats_Graph_err_16"] { name="Stats_Graph_err_16"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; }; err_spacing=1; err_bar_width=0.02; color_mode=FIXED_COLOR; color_axis { name="color_axis"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="colorscale"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name="raster_axis"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=1: g=1: b=1: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name="saved_views"; el_typ=T3SavedView; el_def=0; T3SavedView @["Vw_0"] { name="Vw_0"; view_saved=1; pos {x=1.4275: y=0.4449999: z=1.624621: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.637121; }; T3SavedView @["Vw_1"] { name="Vw_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_2"] { name="Vw_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_3"] { name="Vw_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_4"] { name="Vw_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_5"] { name="Vw_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_6"] { name="Vw_6"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_7"] { name="Vw_7"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_8"] { name="Vw_8"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_9"] { name="Vw_9"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; T3Panel @["trl_group"] { name="trl_group"; m_data=NULL; visible=1; root_view { name="root_view"; m_data=NULL; m_transform=NULL; children { name="children"; el_typ=T3DataViewMain; el_def=0; GraphTableView @["trl_group2_Graph"] { name="trl_group2_Graph"; m_data=$.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"]$; taTransform @*(.m_transform) {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; children { name="children"; el_typ=GraphColView; el_def=0; GraphColView @["trial_name_group"] { name="trial_name_group"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["trial_name_group"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["epoch_group"] { name="epoch_group"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["epoch_group"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r1_mean"] { name="r1_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["r1_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r2_mean"] { name="r2_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["r2_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r3_mean"] { name="r3_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["r3_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r4_mean"] { name="r4_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["r4_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["minus_cycles_mean"] { name="minus_cycles_mean"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["minus_cycles_mean"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r1_sem"] { name="r1_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["r1_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["r3_sem"] { name="r3_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["r3_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; GraphColView @["minus_cycles_sem"] { name="minus_cycles_sem"; m_data=.projects["BG_1_"].data.gp["AnalysisData"]["trl_group"].data["minus_cycles_sem"]$$; m_transform=NULL; visible=1; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; data_range {min=0: max=0: }; }; }; main_xform {scale={x=1: y=1: z=1: }: rotate={x=0: y=0: z=1: rot=0: }: translate={x=1: y=0: z=0: }: }; annotations { name="annotations"; el_typ=T3Annotation; el_def=0; }; annote_children { name="annote_children"; el_typ=T3DataView; el_def=0; }; view_rows=10000; view_range {min=0: max=-1: }; display_on=1; manip_ctrl_on=1; graph_type=XY; plot_style=LINE; negative_draw=0; negative_draw_z=1; line_width=2; point_size=0.01; point_spacing=1; bar_space=0.2; bar_depth=0.01; label_spacing=-1; width=1; depth=1; axis_font_size=0.05; label_font_size=0.04; x_axis { name="x_axis"; m_data=NULL; m_transform=NULL; on=1; axis=X; col_name="epoch_group"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=1: max=29: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; z_axis { name="z_axis"; m_data=NULL; m_transform=NULL; on=0; axis=Z; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=-1: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=1; }; tot_plots=16; plots { name="plots"; el_typ=GraphPlotView; el_def=0; GraphPlotView @["trl_group2_Graph_plot_1"] { name="trl_group2_Graph_plot_1"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r1_mean"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=1: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_2"] { name="trl_group2_Graph_plot_2"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r3_mean"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=1: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=SQUARE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_3"] { name="trl_group2_Graph_plot_3"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="minus_cycles_mean"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=1: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=DIAMOND; alt_y=1; }; GraphPlotView @["trl_group2_Graph_plot_4"] { name="trl_group2_Graph_plot_4"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE_UP; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_5"] { name="trl_group2_Graph_plot_5"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=PLUS; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_6"] { name="trl_group2_Graph_plot_6"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CROSS; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_7"] { name="trl_group2_Graph_plot_7"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=STAR; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_8"] { name="trl_group2_Graph_plot_8"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=TRIANGLE_DN; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_9"] { name="trl_group2_Graph_plot_9"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_10"] { name="trl_group2_Graph_plot_10"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="red": r=1: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=SQUARE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_11"] { name="trl_group2_Graph_plot_11"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="blue": r=0: g=0: b=1: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=DIAMOND; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_12"] { name="trl_group2_Graph_plot_12"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="green3": r=0: g=0.8039216: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=TRIANGLE_UP; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_13"] { name="trl_group2_Graph_plot_13"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="purple": r=0.627451: g=0.1254902: b=0.9411765: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=TRIANGLE_DN; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_14"] { name="trl_group2_Graph_plot_14"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="orange": r=1: g=0.6470588: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=PLUS; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_15"] { name="trl_group2_Graph_plot_15"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="brown": r=0.6470588: g=0.1647059: b=0.1647059: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=CROSS; alt_y=0; }; GraphPlotView @["trl_group2_Graph_plot_16"] { name="trl_group2_Graph_plot_16"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="chartreuse": r=0.4980392: g=1: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=DOT; point_style=STAR; alt_y=0; }; }; errbars { name="errbars"; el_typ=GraphPlotView; el_def=0; GraphPlotView @["trl_group2_Graph_err_1"] { name="trl_group2_Graph_err_1"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r1_sem"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_2"] { name="trl_group2_Graph_err_2"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="r3_sem"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_3"] { name="trl_group2_Graph_err_3"; m_data=NULL; m_transform=NULL; on=1; axis=Y; col_name="minus_cycles_sem"; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_4"] { name="trl_group2_Graph_err_4"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_5"] { name="trl_group2_Graph_err_5"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_6"] { name="trl_group2_Graph_err_6"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_7"] { name="trl_group2_Graph_err_7"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_8"] { name="trl_group2_Graph_err_8"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_9"] { name="trl_group2_Graph_err_9"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_10"] { name="trl_group2_Graph_err_10"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_11"] { name="trl_group2_Graph_err_11"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_12"] { name="trl_group2_Graph_err_12"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_13"] { name="trl_group2_Graph_err_13"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_14"] { name="trl_group2_Graph_err_14"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_15"] { name="trl_group2_Graph_err_15"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; GraphPlotView @["trl_group2_Graph_err_16"] { name="trl_group2_Graph_err_16"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; line_style=SOLID; point_style=CIRCLE; alt_y=0; }; }; err_spacing=1; err_bar_width=0.02; color_mode=FIXED_COLOR; color_axis { name="color_axis"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; colorscale { name="colorscale"; chunks=133; min=-1; max=1; range=0; zero=0; spec=$.colorspecs["C_ColdHot"]$; auto_scale=0; }; raster_axis { name="raster_axis"; m_data=NULL; m_transform=NULL; on=0; axis=Y; col_name=; is_string=0; is_matrix=0; n_cells=1; matrix_cell=0; fixed_range {fix_min=0: min=0: fix_max=0: max=0: }; color {name="black": r=0: g=0: b=0: a=1: desc="": }; n_ticks=10; axis_length=1; row_num=0; }; thresh=0.5; thr_line_len=0.48; matrix_mode=SEP_GRAPHS; mat_layout=BOT_ZERO; mat_odd_vert=1; two_d_font=0; two_d_font_scale=350; }; }; }; bg_color {r=1: g=1: b=1: a=1: }; text_color {r=0: g=0: b=0: a=1: }; headlight_on=1; stereo_view=STEREO_NONE; saved_views { name="saved_views"; el_typ=T3SavedView; el_def=0; T3SavedView @["Vw_0"] { name="Vw_0"; view_saved=1; pos {x=1.4275: y=0.445: z=1.567173: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=1.579673; }; T3SavedView @["Vw_1"] { name="Vw_1"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_2"] { name="Vw_2"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_3"] { name="Vw_3"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_4"] { name="Vw_4"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_5"] { name="Vw_5"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_6"] { name="Vw_6"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_7"] { name="Vw_7"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_8"] { name="Vw_8"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; T3SavedView @["Vw_9"] { name="Vw_9"; view_saved=0; pos {x=0: y=0: z=0: }; orient {x=0: y=0: z=1: rot=0: }; focal_dist=0; }; }; }; }; }; }; docks { name="docks"; el_typ=ToolBoxDockViewer; el_def=0; ToolBoxDockViewer @["Tools"] { UserDataItem_List @*(.user_data_) { name=; el_typ=UserDataItem; el_def=0; UserDataItem @["view_win_lft"] { name="view_win_lft"; value 6 0=0; val_type_fixed=0; }; UserDataItem @["view_win_top"] { name="view_win_top"; value 6 0=0.02909090928733349; val_type_fixed=0; }; UserDataItem @["view_win_wd"] { name="view_win_wd"; value 6 0=0.05347222089767456; val_type_fixed=0; }; UserDataItem @["view_win_ht"] { name="view_win_ht"; value 6 0=0.6909090876579285; val_type_fixed=0; }; UserDataItem @["view_win_iconified"] { name="view_win_iconified"; value 1 0=0; val_type_fixed=0; }; UserDataItem @["view_visible"] { name="view_visible"; value 1 0=1; val_type_fixed=0; }; }; name="Tools"; m_data=NULL; visible=1; win_name=; dock_flags=DV_MOVABLE|DV_FLOATABLE; dock_area=1; }; }; }; }; save_view=1; save_as_only=0; auto_name=1; last_change_desc=" "; networks { name="networks"; el_typ=LeabraNetwork; el_def=0; LeabraNetwork @["BG_4s"] { UserDataItem_List @*(.user_data_) { name="UserDataItem_List_90"; el_typ=UserDataItem; el_def=0; UserDataItem @["trial_cos_diff"] { name="trial_cos_diff"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["avg_act_diff"] { name="avg_act_diff"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["cos_diff"] { name="cos_diff"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["cos_err"] { name="cos_err"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["norm_err"] { name="norm_err"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["ext_rew"] { name="ext_rew"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["maxda"] { name="maxda"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["minus_output_name"] { name="minus_output_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["minus_cycles"] { name="minus_cycles"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["ct_cycle"] { name="ct_cycle"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["phase_no"] { name="phase_no"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["phase"] { name="phase"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["sse"] { name="sse"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["output_name"] { name="output_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["trial_name"] { name="trial_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["group_name"] { name="group_name"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["time"] { name="time"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["cycle"] { name="cycle"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["tick"] { name="tick"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["trial"] { name="trial"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["group"] { name="group"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["epoch"] { name="epoch"; value 1 0=1; val_type_fixed=1; }; UserDataItem @["batch"] { name="batch"; value 1 0=1; val_type_fixed=1; }; }; name="BG_4s"; desc=; specs { name="specs"; el_typ=ConSpec; el_def=0; ConSpec @["ConSpec_0"] { name="ConSpec_0"; desc=; unique{ }; children { name="children"; el_typ=ConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0: var=0.5: par=1: }; wt_limits {type=NONE: min=-1: max=1: sym=0: }; }; UniformRndPrjnSpec @["STN_GPe_RndPrjnSpec_0"] { name="STN_GPe_RndPrjnSpec_0"; desc=; unique{ }; children { name="children"; el_typ=UniformRndPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; p_con=1; sym_self=1; same_seed=0; rndm_seed { name="rndm_seed"; seed{ 1942590695;1834211083;377798523;839440218;-583226373;705799995;-1978402924;1154338458;-462115379;246653898;1399794034;-1499780727;-1523899271;930991332;1290781086;1827104268;-716397506;1983718083;1167094774;951783845;-409479048;-735831888;435869947;-904086293;2026496515;403361634;-1944445990;-1372202487;2126959386;162557442;1012427038;1588232218;-1146450552;-853562653;-1656209805;-1888253373;1759765356;1728652414;-337014879;-1280803374;-575509963;-1765188122;-384524531;-821312351;-1870977276;1513531657;1301908149;699607679;871722190;941230124;480719736;-879564786;-698046303;1521335322;-1447079851;-716252964;526031609;1993676142;1340787872;1530654116;-969427509;1134915315;2122089688;-994370515;560929468;389650548;-1122373860;166734577;-286623372;-120943880;891391534;1880819345;-178283282;540924398;-472340061;2110112996;-1254638769;1538060551;1673190834;691970619;-959237381;-1357813313;1768507679;-1214978919;785612098;1900739683;2119690407;432529262;1597777345;-76740981;1752989913;507595810;1970077571;2120922148;-975091467;-1195485087;-2116172007;-1448521787;-1611468311;1523616406;1943148525;-1864229143;-937095503;-909740123;1292237191;387974384;538406262;509446046;-1972547268;-1733600336;-62144424;-1546025606;-1876304799;1885604132;1402880751;-482628413;1554473651;267768126;-629382805;-1249311349;-1924387261;1461040170;509667270;-779074633;-17507771;918255996;-143015157;-2090640919;315301152;702021484;808635402;-2068859673;-1347883889;1693940293;1805057885;-1668427604;-2137413199;-1104482850;208495526;118430790;-722180698;-1217415633;-224256734;1932248267;-1065779137;-10863097;487580081;-196290919;680669227;1979774005;-2037050706;21949689;-156516075;1715173136;1755205487;1472371560;1309034448;-829238765;-135616049;-2013309212;-1082863329;-899363014;-1287869739;-870456151;581622390;-1908234714;-1126900746;764733716;-925858573;-1751091051;-463341148;644681747;-1914494877;373038127;1588478313;1485299105;661291536;-1180395328;-1144161539;94598643;-1088175949;1032986199;-1100837220;407686955;-1082470443;1911682705;1627415103;310787166;1264015414;424266369;-2027001547;-1752167701;-228113290;1600850810;-2083186300;-1987228633;2000848866;-1395386373;80656148;317238254;-1145747623;-511425939;1346724944;180295410;-544883384;1732680478;-1525854862;236088797;1630557266;1645104332;445726791;1077576696;-2008807651;-2004400849;1274587809;1448655060;1550063216;454064067;-221087611;-594550512;-1272829249;1417249337;463284529;432100395;1078285484;-959540334;21248325;-866258652;-1081481128;-1833368508;-1379133116;-1920337657;-1251994147;1350814969;1508926409;1457463506;-436457777;-104638987;-300707471;-917721278;-620891785;523732153;445406412;1634813528;463926328;1581054136;170598643;-416905380;-1864557289;-202014810;1443533836;-1579728646;-1569783365;398032325;603645793;1459091613;-89353942;-1032688516;-1615894428;-767185823;-1946032362;931360128;-836341533;-1238311242;26872554;-1198342849;223875202;1787898723;1347039535;1426899535;712166878;1007370589;-2121265931;1279068215;1048275580;665564878;-854576448;1115606454;-1938871068;437377701;1893989311;60057612;-1411480578;-1802660403;-1229197402;-1114162509;1246510289;-100045555;-771237462;-321537560;1645429527;876081854;-344012824;613155858;-58817405;150811542;-10210852;2112860797;-528954460;-50850354;-649972970;1499955930;1421666445;1351215729;-1262602010;-980699257;1941355339;-961944897;-413046848;-411502877;522743470;-1432644237;-1120760559;-776500101;-1809149014;2127519490;470896056;662683123;-567303983;121758873;-1581863489;-91906121;-996490915;1435662432;1657906168;-1808273636;-1008367748;1370467542;775127407;336430775;908983458;-1287820551;2018562582;684733517;1364159782;839309547;1634308483;-497817377;118348535;-1269053010;955697418;-461911650;286131813;-300370221;1037538534;2023161463;-259022712;-1784489335;970316778;1578200481;500283714;1165730615;1099858613;850929875;-122366113;1415506233;-119359212;-2033313111;2063284557;168272506;1014246244;1972611072;1049837341;2120277277;-1358473916;867839429;1548671628;375995816;335745466;-92761852;-1313606594;983851877;957484913;-786771928;1174167013;457619777;1577173252;29408666;-1853196004;-954511750;-9741238;1764765760;-1106091459;418868525;1218646124;244543749;1280742435;-1669454769;1391623016;-1782787888;1672996012;-660347923;1734104018;-70130822;-1181208948;-285723476;-1959961034;42073851;-1354695576;-548612189;-692983842;1398992433;-1954474622;-414265610;1827986420;-1740813210;392408431;812967600;306150025;1150550306;-1577525793;522329421;-1905599679;1183746118;1873227418;113271279;-118624832;2064640613;91279896;-1296994070;923686864;-1237563925;-671532219;432504743;376157897;-1964026811;-509307951;-1291095292;-92298376;-440266966;742491999;-363297213;907719292;-2097711796;-72292200;797405338;-902353499;-166246906;-943459407;-1618209704;296966888;276718739;881687730;-63517562;-481360418;-1200473828;-144528583;2055425204;425514158;-972984629;-437772543;955225817;-1571664087;1255280381;-1520917476;411210494;-1044569805;1196139168;1000345811;314304961;788619297;-1721237341;1855193732;-688848034;-560160224;110451616;205166806;1045130054;606457223;-106064310;-350539693;-1199925658;-1553567608;1827860289;-495518821;-289479856;-1888403873;66174658;-1741606928;-1734480553;1792669379;2112354548;649961546;-1072485902;1950021075;-145032130;-1448841129;-455451267;-1966366114;-1298920795;837046384;-1783493271;1554055716;544335337;-302006934;-149606522;2022999324;826072250;-549276476;1862748770;1989186214;1089115433;956552701;1745621701;-2034815611;614102796;1479888671;-146686913;-690079684;-1114868597;-2016690506;2090920277;-830594320;-1261017876;2072821639;194345641;-1605828714;484660319;-454560202;1794417171;511341824;-1255389158;-669363423;1164033229;-1107097310;828519990;1450362036;476068860;1972265003;-1879752310;1894610209;-2128722743;1301770305;-1624467838;-731973801;-337476939;-1809040191;1525193216;-2001741915;-2027225998;-1162995606;-717541281;2050620663;-1135005089;2015601957;-1661832271;334966618;-236871560;-2075212969;-2141684690;1078043241;1723366617;828122061;147352703;-1999649046;-903143402;-1024430520;1633016716;-1604804280;1647853874;1626223577;613437415;854959232;-1237163556;-230090669;-278438371;1723117265;500023237;-1216412905;1717506101;1373064296;1994723034;1814828511;2067592941;937637146;-1370177392;-1274587966;-48108349;-378201671;1262614325;62390688;164974972;-830307263;-1714046089;1359544797;2016161042;83584009;930716322;-497279679;2023049077;-206104661;1501245447;562523072;104611198;-46372430;298890283;2110698786;-1091302072;20052267;-1304541777;140132249;-1245355586;-727077616;-316829592;152731111;-154344094;1345278005;-558417490;1281066959;-1469762051;-383552934;199222085;413618054;1552260824;-576003758;105415137;2042323739;1646910169;1084993049;840296744;216680633;1409468883;-1555896089;734078106; }; mti=115; is_gauss_double_cached=0; cached_gauss_double=0; }; }; UniformRndPrjnSpec @["GPe_STN_RndPrjnSpec_1"] { name="GPe_STN_RndPrjnSpec_1"; desc=; unique{ }; children { name="children"; el_typ=UniformRndPrjnSpec; el_def=0; }; self_con=0; init_wts=1; add_rnd_wts=0; add_rnd_wts_scale=1; p_con=0.4; sym_self=1; same_seed=0; rndm_seed { name="rndm_seed"; seed{ 1942590695;1834211083;377798523;839440218;-583226373;705799995;-1978402924;1154338458;-462115379;246653898;1399794034;-1499780727;-1523899271;930991332;1290781086;1827104268;-716397506;1983718083;1167094774;951783845;-409479048;-735831888;435869947;-904086293;2026496515;403361634;-1944445990;-1372202487;2126959386;162557442;1012427038;1588232218;-1146450552;-853562653;-1656209805;-1888253373;1759765356;1728652414;-337014879;-1280803374;-575509963;-1765188122;-384524531;-821312351;-1870977276;1513531657;1301908149;699607679;871722190;941230124;480719736;-879564786;-698046303;1521335322;-1447079851;-716252964;526031609;1993676142;1340787872;1530654116;-969427509;1134915315;2122089688;-994370515;560929468;389650548;-1122373860;166734577;-286623372;-120943880;891391534;1880819345;-178283282;540924398;-472340061;2110112996;-1254638769;1538060551;1673190834;691970619;-959237381;-1357813313;1768507679;-1214978919;785612098;1900739683;2119690407;432529262;1597777345;-76740981;1752989913;507595810;1970077571;2120922148;-975091467;-1195485087;-2116172007;-1448521787;-1611468311;1523616406;1943148525;-1864229143;-937095503;-909740123;1292237191;387974384;538406262;509446046;-1972547268;-1733600336;-62144424;-1546025606;-1876304799;1885604132;1402880751;-482628413;1554473651;267768126;-629382805;-1249311349;-1924387261;1461040170;509667270;-779074633;-17507771;918255996;-143015157;-2090640919;315301152;702021484;808635402;-2068859673;-1347883889;1693940293;1805057885;-1668427604;-2137413199;-1104482850;208495526;118430790;-722180698;-1217415633;-224256734;1932248267;-1065779137;-10863097;487580081;-196290919;680669227;1979774005;-2037050706;21949689;-156516075;1715173136;1755205487;1472371560;1309034448;-829238765;-135616049;-2013309212;-1082863329;-899363014;-1287869739;-870456151;581622390;-1908234714;-1126900746;764733716;-925858573;-1751091051;-463341148;644681747;-1914494877;373038127;1588478313;1485299105;661291536;-1180395328;-1144161539;94598643;-1088175949;1032986199;-1100837220;407686955;-1082470443;1911682705;1627415103;310787166;1264015414;424266369;-2027001547;-1752167701;-228113290;1600850810;-2083186300;-1987228633;2000848866;-1395386373;80656148;317238254;-1145747623;-511425939;1346724944;180295410;-544883384;1732680478;-1525854862;236088797;1630557266;1645104332;445726791;1077576696;-2008807651;-2004400849;1274587809;1448655060;1550063216;454064067;-221087611;-594550512;-1272829249;1417249337;463284529;432100395;1078285484;-959540334;21248325;-866258652;-1081481128;-1833368508;-1379133116;-1920337657;-1251994147;1350814969;1508926409;1457463506;-436457777;-104638987;-300707471;-917721278;-620891785;523732153;445406412;1634813528;463926328;1581054136;170598643;-416905380;-1864557289;-202014810;1443533836;-1579728646;-1569783365;398032325;603645793;1459091613;-89353942;-1032688516;-1615894428;-767185823;-1946032362;931360128;-836341533;-1238311242;26872554;-1198342849;223875202;1787898723;1347039535;1426899535;712166878;1007370589;-2121265931;1279068215;1048275580;665564878;-854576448;1115606454;-1938871068;437377701;1893989311;60057612;-1411480578;-1802660403;-1229197402;-1114162509;1246510289;-100045555;-771237462;-321537560;1645429527;876081854;-344012824;613155858;-58817405;150811542;-10210852;2112860797;-528954460;-50850354;-649972970;1499955930;1421666445;1351215729;-1262602010;-980699257;1941355339;-961944897;-413046848;-411502877;522743470;-1432644237;-1120760559;-776500101;-1809149014;2127519490;470896056;662683123;-567303983;121758873;-1581863489;-91906121;-996490915;1435662432;1657906168;-1808273636;-1008367748;1370467542;775127407;336430775;908983458;-1287820551;2018562582;684733517;1364159782;839309547;1634308483;-497817377;118348535;-1269053010;955697418;-461911650;286131813;-300370221;1037538534;2023161463;-259022712;-1784489335;970316778;1578200481;500283714;1165730615;1099858613;850929875;-122366113;1415506233;-119359212;-2033313111;2063284557;168272506;1014246244;1972611072;1049837341;2120277277;-1358473916;867839429;1548671628;375995816;335745466;-92761852;-1313606594;983851877;957484913;-786771928;1174167013;457619777;1577173252;29408666;-1853196004;-954511750;-9741238;1764765760;-1106091459;418868525;1218646124;244543749;1280742435;-1669454769;1391623016;-1782787888;1672996012;-660347923;1734104018;-70130822;-1181208948;-285723476;-1959961034;42073851;-1354695576;-548612189;-692983842;1398992433;-1954474622;-414265610;1827986420;-1740813210;392408431;812967600;306150025;1150550306;-1577525793;522329421;-1905599679;1183746118;1873227418;113271279;-118624832;2064640613;91279896;-1296994070;923686864;-1237563925;-671532219;432504743;376157897;-1964026811;-509307951;-1291095292;-92298376;-440266966;742491999;-363297213;907719292;-2097711796;-72292200;797405338;-902353499;-166246906;-943459407;-1618209704;296966888;276718739;881687730;-63517562;-481360418;-1200473828;-144528583;2055425204;425514158;-972984629;-437772543;955225817;-1571664087;1255280381;-1520917476;411210494;-1044569805;1196139168;1000345811;314304961;788619297;-1721237341;1855193732;-688848034;-560160224;110451616;205166806;1045130054;606457223;-106064310;-350539693;-1199925658;-1553567608;1827860289;-495518821;-289479856;-1888403873;66174658;-1741606928;-1734480553;1792669379;2112354548;649961546;-1072485902;1950021075;-145032130;-1448841129;-455451267;-1966366114;-1298920795;837046384;-1783493271;1554055716;544335337;-302006934;-149606522;2022999324;826072250;-549276476;1862748770;1989186214;1089115433;956552701;1745621701;-2034815611;614102796;1479888671;-146686913;-690079684;-1114868597;-2016690506;2090920277;-830594320;-1261017876;2072821639;194345641;-1605828714;484660319;-454560202;1794417171;511341824;-1255389158;-669363423;1164033229;-1107097310;828519990;1450362036;476068860;1972265003;-1879752310;1894610209;-2128722743;1301770305;-1624467838;-731973801;-337476939;-1809040191;1525193216;-2001741915;-2027225998;-1162995606;-717541281;2050620663;-1135005089;2015601957;-1661832271;334966618;-236871560;-2075212969;-2141684690;1078043241;1723366617;828122061;147352703;-1999649046;-903143402;-1024430520;1633016716;-1604804280;1647853874;1626223577;613437415;854959232;-1237163556;-230090669;-278438371;1723117265;500023237;-1216412905;1717506101;1373064296;1994723034;1814828511;2067592941;937637146;-1370177392;-1274587966;-48108349;-378201671;1262614325;62390688;164974972;-830307263;-1714046089;1359544797;2016161042;83584009;930716322;-497279679;2023049077;-206104661;1501245447;562523072;104611198;-46372430;298890283;2110698786;-1091302072;20052267;-1304541777;140132249;-1245355586;-727077616;-316829592;152731111;-154344094;1345278005;-558417490;1281066959;-1469762051;-383552934;199222085;413618054;1552260824;-576003758;105415137;2042323739;1646910169;1084993049;840296744;216680633;1409468883;-1555896089;734078106; }; mti=115; is_gauss_double_cached=0; cached_gauss_double=0; }; }; BaseSpec_Group @.gp["LeabraPrjns"] { name="LeabraPrjns"; el_typ=LeabraUnitSpec; el_def=0; FullPrjnSpec @["FullPrjnSpec_0"] { name="FullPrjnSpec_0"; desc=; unique{ }; children { name="children"; el_typ=FullPrjnSpec; el_def=0; }; self_con=1; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; }; OneToOnePrjnSpec @["OneToOne"] { name="OneToOne"; desc=; unique{ self_con; }; children { name="children"; el_typ=OneToOnePrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; n_conns=-1; recv_start=0; send_start=0; use_gp=0; }; TesselPrjnSpec @["Striatum_GPext"] { name="Striatum_GPext"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; TesselPrjnSpec @["PFC_Act_Deep"] { name="PFC_Act_Deep"; desc=; unique{ send_scale; }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=0; send_scale {x=1: y=0: }; send_off {x=3: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[12] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[13] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[14] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[15] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[16] { send_off {x=1: y=8: }; wt_val=1; }; TessEl @[17] { send_off {x=1: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=3: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[12] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[13] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[14] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[15] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[16] { send_off {x=1: y=8: }; wt_val=1; }; TessEl @[17] { send_off {x=1: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Striatum2_GPext2"] { name="Striatum2_GPext2"; desc=; unique{ ;;;;;;;;;;;;;;;;;; }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; TesselPrjnSpec @["PFC_Act_Deep"] { name="PFC_Act_Deep"; desc=; unique{ send_scale; }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=0; send_scale {x=1: y=0: }; send_off {x=2: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[2] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[6] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[8] { send_off {x=1: y=8: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=9: }; wt_val=1; }; TessEl @[10] { send_off {x=1: y=10: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=11: }; wt_val=1; }; TessEl @[12] { send_off {x=1: y=12: }; wt_val=1; }; TessEl @[13] { send_off {x=1: y=13: }; wt_val=1; }; TessEl @[14] { send_off {x=1: y=14: }; wt_val=1; }; TessEl @[15] { send_off {x=1: y=15: }; wt_val=1; }; TessEl @[16] { send_off {x=1: y=16: }; wt_val=1; }; TessEl @[17] { send_off {x=1: y=17: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=2: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[2] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=5: }; wt_val=1; }; TessEl @[6] { send_off {x=1: y=6: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=7: }; wt_val=1; }; TessEl @[8] { send_off {x=1: y=8: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=9: }; wt_val=1; }; TessEl @[10] { send_off {x=1: y=10: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=11: }; wt_val=1; }; TessEl @[12] { send_off {x=1: y=12: }; wt_val=1; }; TessEl @[13] { send_off {x=1: y=13: }; wt_val=1; }; TessEl @[14] { send_off {x=1: y=14: }; wt_val=1; }; TessEl @[15] { send_off {x=1: y=15: }; wt_val=1; }; TessEl @[16] { send_off {x=1: y=16: }; wt_val=1; }; TessEl @[17] { send_off {x=1: y=17: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["dMatrosomesGP"] { name="dMatrosomesGP"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[5] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=6: }; wt_val=1; }; TessEl @[7] { send_off {x=0: y=7: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=8: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["SNc_GO"] { name="SNc_GO"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=4: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["SNc_GO2"] { name="SNc_GO2"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=3: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Context_TS_1"] { name="Context_TS_1"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=4: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=2: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=2: y=0: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[5] { send_off {x=2: y=1: }; wt_val=1; }; }; last_make_cmd="MakeRectangle(width=3, height=2, left=0, bottom=0)"; last_weights_cmd=; }; TesselPrjnSpec @["Context_TS_2"] { name="Context_TS_2"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=1: y=0: }; recv_n {x=1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=3: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=3: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=4: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=5: y=0: }; wt_val=1; }; TessEl @[3] { send_off {x=3: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=4: y=1: }; wt_val=1; }; TessEl @[5] { send_off {x=5: y=1: }; wt_val=1; }; }; last_make_cmd="MakeRectangle(width=3, height=2, left=3, bottom=0)"; last_weights_cmd=; }; TesselPrjnSpec @["Context_TS_3"] { name="Context_TS_3"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=2: y=0: }; recv_n {x=1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=3: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=6: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=7: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=8: y=0: }; wt_val=1; }; TessEl @[3] { send_off {x=6: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=7: y=1: }; wt_val=1; }; TessEl @[5] { send_off {x=8: y=1: }; wt_val=1; }; }; last_make_cmd="MakeRectangle(width=3, height=2, left=6, bottom=0)"; last_weights_cmd=; }; TesselPrjnSpec @["MotorCortex_Striatum"] { name="MotorCortex_Striatum"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=1: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["SNc_NOGO"] { name="SNc_NOGO"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=4: y=0: }; recv_n {x=4: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["SNc_NOGO2"] { name="SNc_NOGO2"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=3: y=0: }; recv_n {x=3: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[3] { send_off {x=1: y=1: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[5] { send_off {x=1: y=2: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[7] { send_off {x=1: y=3: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[9] { send_off {x=1: y=4: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[11] { send_off {x=1: y=5: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Striatum_GPInt"] { name="Striatum_GPInt"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=1: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; TessEl @[4] { send_off {x=0: y=4: }; wt_val=1; }; TessEl @[5] { send_off {x=0: y=5: }; wt_val=1; }; TessEl @[6] { send_off {x=0: y=6: }; wt_val=1; }; TessEl @[7] { send_off {x=0: y=7: }; wt_val=1; }; TessEl @[8] { send_off {x=0: y=8: }; wt_val=1; }; TessEl @[9] { send_off {x=0: y=9: }; wt_val=1; }; TessEl @[10] { send_off {x=0: y=10: }; wt_val=1; }; TessEl @[11] { send_off {x=0: y=11: }; wt_val=1; }; TessEl @[12] { send_off {x=0: y=12: }; wt_val=1; }; TessEl @[13] { send_off {x=0: y=13: }; wt_val=1; }; TessEl @[14] { send_off {x=0: y=14: }; wt_val=1; }; TessEl @[15] { send_off {x=0: y=15: }; wt_val=1; }; TessEl @[16] { send_off {x=0: y=16: }; wt_val=1; }; TessEl @[17] { send_off {x=0: y=17: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Fm_Stimuli_To_MC"] { name="Fm_Stimuli_To_MC"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=2: y=1: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=1: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=2: y=0: }; wt_val=1; }; TessEl @[3] { send_off {x=3: y=0: }; wt_val=1; }; TessEl @[4] { send_off {x=4: y=0: }; wt_val=1; }; TessEl @[5] { send_off {x=5: y=0: }; wt_val=1; }; }; last_make_cmd="MakeRectangle(width=6, height=1, left=0, bottom=0)"; last_weights_cmd=; }; TesselPrjnSpec @["MotorCortex2_NoGoStriatum2"] { name="MotorCortex2_NoGoStriatum2"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=4: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["MotorCortex_NoGoStriatum"] { name="MotorCortex_NoGoStriatum"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=3: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=9: }; wrap=1; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Fm_Output2_To_InputHidden"] { name="Fm_Output2_To_InputHidden"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=0: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=3: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=0: y=0: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; TesselPrjnSpec @["Fm_Output2_To_InputHiddenB"] { name="Fm_Output2_To_InputHiddenB"; desc=; unique{ }; children { name="children"; el_typ=TesselPrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; recv_off {x=0: y=3: }; recv_n {x=-1: y=-1: }; recv_skip {x=1: y=1: }; recv_group {x=1: y=3: }; wrap=0; send_scale {x=1: y=1: }; send_off {x=0: y=-2: }; send_offs { name="send_offs"; el_typ=TessEl; el_def=0; TessEl @[0] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[1] { send_off {x=0: y=0: }; wt_val=1; }; TessEl @[2] { send_off {x=0: y=2: }; wt_val=1; }; TessEl @[3] { send_off {x=0: y=3: }; wt_val=1; }; }; last_make_cmd=; last_weights_cmd=; }; OneToOnePrjnSpec @["OneToOne_2"] { name="OneToOne_2"; desc=; unique{ self_con; }; children { name="children"; el_typ=OneToOnePrjnSpec; el_def=0; }; self_con=0; init_wts=0; add_rnd_wts=0; add_rnd_wts_scale=1; n_conns=-1; recv_start=0; send_start=0; use_gp=0; }; }; BaseSpec_Group @.gp["Connections"] { name="Connections"; el_typ=LeabraUnitSpec; el_def=0; LeabraBiasSpec @["LearnBias"] { name="LearnBias"; desc=; unique{ rnd;wt_limits;wt_scale;wt_scale_init; }; children { name="children"; el_typ=LeabraBiasSpec; el_def=0; LeabraBiasSpec @["FixedBias"] { name="FixedBias"; desc=; unique{ lrate;wt_limits;wt_scale;wt_scale_init; }; children { name="children"; el_typ=LeabraBiasSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0: var=0: par=1: }; wt_limits {type=NONE: min=-1: max=5: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0: err=1: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; dwt_thresh=0.1; }; }; rnd {name="rnd": type=UNIFORM: mean=0: var=0: par=1: }; wt_limits {type=NONE: min=-1: max=5: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.01; cur_lrate=0.01; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0: err=1: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; dwt_thresh=0.1; }; LeabraConSpec @["FixedFull"] { name="FixedFull"; desc=; unique{ rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["InhibCons"] { name="InhibCons"; desc=; unique{ rnd;wt_limits;inhib;wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.75: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.4: rel=1.2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.3: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["FixedFull2"] { name="FixedFull2"; desc=; unique{ rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["FixedFull3"] { name="FixedFull3"; desc=; unique{ rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=0.2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["FixedHalf"] { name="FixedHalf"; desc=; unique{ rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["GPeGPiInhib"] { name="GPeGPiInhib"; desc=; unique{ rnd;inhib; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["ThalInhib"] { name="ThalInhib"; desc=; unique{ wt_scale;wt_sig;savg_cor; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=1: rel=3: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["ThalInhib2"] { name="ThalInhib2"; desc=; unique{ wt_scale;wt_sig;savg_cor; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.7: rel=5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Inhib_Learn"] { name="Inhib_Learn"; desc=; unique{ rnd;wt_scale;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.35: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=8: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=1e-5; cur_lrate=1e-5; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Inhib_Learn2"] { name="Inhib_Learn2"; desc=; unique{ rnd;wt_scale;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.35: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=8: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=1e-5; cur_lrate=1e-5; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=1: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Fixed"] { name="Fixed"; desc=; unique{ rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["STNcons"] { name="STNcons"; desc=; unique{ rnd;wt_scale;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.21: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=0.7: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.001; cur_lrate=0.001; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["MotorCortex_Striatum"] { name="MotorCortex_Striatum"; desc=; unique{ rnd;wt_limits;wt_scale;savg_cor;lrate;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.1: err=0.9: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["MotorCortex2_Striatum2"] { name="MotorCortex2_Striatum2"; desc=; unique{ rnd;wt_limits;wt_scale;savg_cor;lrate;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.6: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=1: err=0: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Motor_NoGo"] { name="Motor_NoGo"; desc="additional excitability for striatopallidal neurons (e.g, Beretta et al, 1997; Lei et al, 2004) )"; unique{ rnd;wt_limits;wt_scale;savg_cor;lmix;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.65: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.1: err=0.9: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Motor_NoGo2"] { name="Motor_NoGo2"; desc="additional excitability for striatopallidal neurons (e.g, Beretta et al, 1997; Lei et al, 2004) )"; unique{ rnd;wt_limits;wt_scale;savg_cor;lrate;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=0.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=1: err=0: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Input_Motor_Prepotent_"] { name="Input_Motor_Prepotent_"; desc=; unique{ rnd;wt_scale;lmix;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.35: var=0.005: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=5: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=1: err=0: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Context_Motor_prepotent"] { name="Context_Motor_prepotent"; desc=; unique{ rnd;wt_scale;lrate;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["C_TS"] { name="C_TS"; desc=; unique{ wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.35: var=0.005: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=3: rel=0: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=1: err=0: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=0.35: var=0.005: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=3: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=1: err=0: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["InputStriatum"] { name="InputStriatum"; desc=; unique{ rnd;wt_scale;lrate;savg_cor;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.45: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.6: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.05; cur_lrate=0.05; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.1: err=0.9: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.001: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["inNoGO"] { name="inNoGO"; desc=; unique{ rnd;wt_scale;lrate;lmix;savg_cor; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.45: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.65: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.05; cur_lrate=0.05; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.1: err=0.9: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["ContextStriatum"] { name="ContextStriatum"; desc=; unique{ rnd;wt_scale;lrate;savg_cor;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.45: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.6: rel=1.25: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.1: err=0.9: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.001: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["MC2_Striatum"] { name="MC2_Striatum"; desc=; unique{ rnd;wt_scale;lrate;savg_cor;lmix; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.45: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.15; cur_lrate=0.15; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.1: err=0.9: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.001: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["STN_GPi"] { name="STN_GPi"; desc=; unique{ rnd;wt_scale;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0.21: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=0.2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Mtr_STNcons"] { name="Mtr_STNcons"; desc=; unique{ rnd;wt_scale;lrate; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.65: var=0.2: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=0.1: var=0.01: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0.001; cur_lrate=0.0075; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Dopamine_D1_"] { name="Dopamine_D1_"; desc=; unique{ rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["D1_Stronger"] { name="D1_Stronger"; desc=; unique{ wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.5: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=0.5: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.7: rel=0.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["SNc_Inhib_D2_"] { name="SNc_Inhib_D2_"; desc=; unique{ rnd;inhib; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["D2_Stronger"] { name="D2_Stronger"; desc=; unique{ wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.5: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=1: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.08: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=0.4: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["Inhib"] { name="Inhib"; desc=; unique{ rnd;inhib; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.7: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=1: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.1: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["NoGo_inhib_Go"] { name="NoGo_inhib_Go"; desc=; unique{ rnd;wt_limits;inhib;wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.75: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.6: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["InhibInhib"] { name="InhibInhib"; desc=; unique{ rnd;wt_limits;inhib;wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.8: var=0: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=1; wt_scale {abs=0.25: rel=1.5: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; LeabraConSpec @["FBtoInhib"] { name="FBtoInhib"; desc=; unique{ wt_limits;rnd;lrate;wt_scale; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; LeabraConSpec @["FFtoInhib"] { name="FFtoInhib"; desc=; unique{ wt_scale;rnd; }; children { name="children"; el_typ=LeabraConSpec; el_def=0; }; rnd {name="rnd": type=UNIFORM: mean=0.35: var=0.25: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.6: rel=1: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; rnd {name="rnd": type=UNIFORM: mean=0.25: var=0.1: par=1: }; wt_limits {type=MIN_MAX: min=0: max=1: sym=0: }; learn_rule=LEABRA_CHL; inhib=0; wt_scale {abs=0.85: rel=2: sem_extra=2: }; diff_scale_p=0; wt_scale_p {abs=1: rel=1: sem_extra=2: }; wt_scale_init {init=0: abs=1: rel=1: }; learn=1; lrate=0; cur_lrate=0; lrs_value=EPOCH; lrate_sched { name="lrate_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=0; }; ignore_unlearnable=1; wt_sig {gain=6: off=1.25: dwt_norm=0: }; stable_mix {stable_pct=0: learn_pct=1: cos_diff_lrate=0: }; lmix {hebb=0.01: err=0.99: err_sb=1: }; xcal {l_mix=L_MIX: thr_l_mix=0.01: thr_m_mix=0.99: s_mix=0.9: m_mix=0.1: d_rev=0.1: d_thr=0.0001: d_rev_ratio=-9: }; savg_cor {cor=1: thresh=0.01: }; rel_net_adapt { on=0; trg_fm_input=0.85; trg_fm_output=0.15; trg_lateral=0; trg_sum=1; tol_lg=0.05; tol_sm=0.2; rel_lrate=0.1; }; }; }; BaseSpec_Group @.gp["Units"] { name="Units"; el_typ=LeabraUnitSpec; el_def=0; LeabraUnitSpec @["FixedBiasUnitSpec"] { name="FixedBiasUnitSpec"; desc=; unique{ opt_thresh; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; LeabraUnitSpec @["GPExt_UnitSpec"] { name="GPExt_UnitSpec"; desc=; unique{ bias_spec;act;opt_thresh;v_m_init;dt;g_bar;e_rev; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.26: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1.5: h=0.1: a=0.5: }; e_rev {e=1: l=0.26: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["OutputUnitSpec"] { name="OutputUnitSpec"; desc=; unique{ bias_spec;act;opt_thresh;g_bar;dt; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.2: gain=20: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.03: net=0.1: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=33.33334: net_time=10: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1: h=0.1: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["Output3UnitSpec"] { name="Output3UnitSpec"; desc=; unique{ bias_spec;act;opt_thresh;g_bar;dt; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.2: gain=100: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.03: net=0.1: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=33.33334: net_time=10: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1: h=0.1: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["Thalamus"] { name="Thalamus"; desc=; unique{ bias_spec;opt_thresh;dt;g_bar; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.05: net=0.4: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=20: net_time=2.5: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=0.5: l=0.07: i=1.7: h=0.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["LearnBiasUnitSpec"] { name="LearnBiasUnitSpec"; desc=; unique{ bias_spec;dt; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; LeabraUnitSpec @["matrisom_unitspec"] { name="matrisom_unitspec"; desc=; unique{ bias_spec;act;opt_thresh;g_bar;act_reg;noise_type;noise;dt;noise_adapt; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.26: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.023: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=43.47826: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.35: i=7.5: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=VM_NOISE; noise {name="noise": type=GAUSSIAN: mean=0.001: var=0: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["Motor_Cortex_unitspec"] { name="Motor_Cortex_unitspec"; desc=; unique{ bias_spec;opt_thresh;dt;acc;noise_type;noise;noise_sched;noise_adapt; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.05: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=20: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.005: b_dec_dt=0.01: a_thr=0.25: d_thr=0.1: g_dt=0.1: init=1: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=VM_NOISE; noise {name="noise": type=GAUSSIAN: mean=0.0005: var=0.001: par=1: }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; SchedItem @[0] { start_ctr=0; start_val=1; duration=25; step=0; }; SchedItem @[1] { start_ctr=25; start_val=1; duration=55; step=-0.009090909; }; SchedItem @[2] { start_ctr=80; start_val=0.5; duration=20; step=-0.015; }; SchedItem @[3] { start_ctr=100; start_val=0.2; duration=1; step=1; }; }; }; LeabraUnitSpec @["Motor_Cortex_1_unitspec"] { name="Motor_Cortex_1_unitspec"; desc=; unique{ bias_spec;opt_thresh;dt;acc;noise_type;noise;noise_sched;noise_adapt; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.005: b_dec_dt=0.01: a_thr=0.25: d_thr=0.1: g_dt=0.1: init=1: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=VM_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; SchedItem @[0] { start_ctr=0; start_val=1; duration=85; step=0; }; SchedItem @[1] { start_ctr=85; start_val=1; duration=55; step=-0.009090909; }; SchedItem @[2] { start_ctr=140; start_val=0.5; duration=20; step=-0.015; }; SchedItem @[3] { start_ctr=160; start_val=0.2; duration=1; step=1; }; }; }; LeabraUnitSpec @["STN_unitspec"] { name="STN_unitspec"; desc=; unique{ bias_spec;act;opt_thresh;v_m_init;dt;g_bar;e_rev;noise_type;noise;acc; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.25: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.045: net=0.17: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=22.22222: net_time=5.882353: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=1: i=1: h=0.1: a=3.5: }; e_rev {e=1: l=0.2: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=1: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0.0015: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"]$$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["GPInt_UnitSpec"] { name="GPInt_UnitSpec"; desc=; unique{ bias_spec;opt_thresh;v_m_init;dt;g_bar;e_rev; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.26: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.2: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=5: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=3: i=1: h=0.1: a=0.5: }; e_rev {e=1: l=0.27: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["InhibUnits"] { name="InhibUnits"; desc=; unique{ dt;g_bar; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.125: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=8: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=4: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=600: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.1: net=0.7: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=10: net_time=1.428571: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NO_NOISE; noise {name="noise": type=GAUSSIAN: mean=0: var=0.001: par=1: }; noise_adapt {trial_fixed=1: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["SNc_UnitSpec"] { name="SNc_UnitSpec"; desc=; unique{ opt_thresh; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=100: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.95: net=1: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=1.052632: net_time=1: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NETIN_NOISE; noise {name="noise": type=GAUSSIAN: mean=0.0015: var=0.0015: par=1: }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; LeabraUnitSpec @["SNc_UnitSpec_slower"] { name="SNc_UnitSpec_slower"; desc=; unique{ opt_thresh; }; children { name="children"; el_typ=LeabraUnitSpec; el_def=0; }; act_range {min=0: max=1: range=1: scale=1: }; bias_con_type=LeabraCon; bias_spec {type=LeabraBiasSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["LearnBias"].children["FixedBias"]$: }; sse_tol=0.5; act_fun=NOISY_XX1; act {gelin=0: thr=0.25: gain=100: nvar=0.005: avg_dt=0.005: avg_init=0.15: rescale_ctxt=1: i_thr=STD: }; act_lrn_on=0; act_lrn {gelin=1: thr=0.5: gain=100: nvar=0.005: }; spike {rise=0: decay=0.05: g_gain=5: window=3: eq_gain=10: eq_dt=0.02: }; spike_misc { exp_slope=0.02; spk_thr=1.2; clamp_max_p=0.11; clamp_type=REGULAR; vm_r=0; t_r=6; vm_dend=0.3; vm_dend_dt=0.16; vm_dend_time=6.25; }; opt_thresh {send=0.1: delta=0.005: phase_dif=0: xcal_lrn=0.01: }; maxda {val=INET_DA: inet_scale=1: lay_avg_thr=0.01: }; clamp_range {min=0: max=0.95: range=0.95: scale=1.052632: }; vm_range {min=0: max=1: range=1: scale=1: }; v_m_init {name="v_m_init": type=UNIFORM: mean=0.15: var=0: par=1: }; act_init {name="act_init": type=NONE: mean=0: var=0: par=1: }; dt {integ=1: vm=0.95: net=0.03: midpoint=0: d_vm_max=0.025: vm_eq_cyc=0: vm_eq_dt=1: integ_time=1: vm_time=1.052632: net_time=33.33334: }; act_avg {l_up_add=0: l_dn_pct=0: l_up_dt=0.6: l_dn_dt=0.05: m_dt=0.1: s_dt=0.2: ss_dt=1: use_nd=0: l_time=20: m_time=10: s_time=5: ss_time=1: }; g_bar {e=1: l=0.1: i=1: h=1.2: a=0.5: }; e_rev {e=1: l=0.15: i=0.15: h=1: a=0: }; hyst {on=0: b_inc_dt=0.05: b_dec_dt=0.05: a_thr=0.8: d_thr=0.7: g_dt=0.1: init=1: trl=0: }; acc {on=0: b_inc_dt=0.01: b_dec_dt=0.01: a_thr=0.5: d_thr=0.1: g_dt=0.1: init=0: trl=0: }; adapt { on=0; dt=0.007; vm_gain=0.1; spike_gain=0.01; interval=10; trials=0; dt_time=142.8571; }; depress {phase_act=ACT_ND: on=0: rec=0.2: asymp_act=0.5: depl=0.2105263: delay=0: interval=1: trials=0: max_amp=2: }; syn_delay { on=0; delay=4; }; cifer {on=0: phase_updt=0: super_gain=0.05: thal_5b_thr=0.5: act_5b_thr=0.5: binary5b=0: ti_5b=0.5: bg_lrate=1: fg_lrate=0: }; da_mod {on=0: mod=PLUS_CONT: gain=0.1: }; noise_type=NETIN_NOISE; noise {name="noise": type=GAUSSIAN: mean=0.0015: var=0.0005: par=1: }; noise_adapt {trial_fixed=0: k_pos_noise=0: mode=FIXED_NOISE: min_pct=0.5: min_pct_c=0.5: }; noise_sched { name="noise_sched"; el_typ=SchedItem; el_def=0; default_val=1; interpolate=1; }; }; }; BaseSpec_Group @.gp["LayerSpecs"] { name="LayerSpecs"; el_typ=LeabraUnitSpec; el_def=0; LeabraLayerSpec @["LayerSpec_0"] { name="LayerSpec_0"; desc=; unique{ kwta; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; LeabraLayerSpec @["Matrisome_layerspec"] { name="Matrisome_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=3: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["GP_layerspec"] { name="GP_layerspec"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Thalamus_layerspec"] { name="Thalamus_layerspec"; desc=; unique{ kwta;compute_i;decay;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Output_layerspec"] { name="Output_layerspec"; desc=; unique{ kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { name="PFC_Out_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=LAY_AND_GPS; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["InputLayer"] { name="InputLayer"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.25; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=6: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["SNc_layerspec"] { name="SNc_layerspec"; desc=; unique{ kwta;compute_i;clamp;inhib;decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["MCLayerSpec"] { name="MCLayerSpec"; desc=; unique{ decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["MC2LayerSpec"] { name="MC2LayerSpec"; desc=; unique{ decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=0: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["inhidden"] { name="inhidden"; desc=; unique{ kwta; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; LeabraLayerSpec @["Matrisome_layerspec"] { name="Matrisome_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;clamp;decay;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=3: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["GP_layerspec"] { name="GP_layerspec"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Thalamus_layerspec"] { name="Thalamus_layerspec"; desc=; unique{ kwta;compute_i;decay;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Output_layerspec"] { name="Output_layerspec"; desc=; unique{ kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { name="PFC_Out_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=LAY_AND_GPS; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["InputLayer"] { name="InputLayer"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.25; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["SNc_layerspec"] { name="SNc_layerspec"; desc=; unique{ kwta;compute_i;clamp;inhib;decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=3: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["LayerSpec_1"] { name="LayerSpec_1"; desc=; unique{ kwta; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; LeabraLayerSpec @["Matrisome_layerspec"] { name="Matrisome_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;clamp;decay;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=3: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["GP_layerspec"] { name="GP_layerspec"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Thalamus_layerspec"] { name="Thalamus_layerspec"; desc=; unique{ kwta;compute_i;decay;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["Output_layerspec"] { name="Output_layerspec"; desc=; unique{ kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["PFC_Out_layerspec"] { name="PFC_Out_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=LAY_AND_GPS; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["InputLayer"] { name="InputLayer"; desc=; unique{ kwta;compute_i;i_kwta_pt;clamp;inhib; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.25; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["SNc_layerspec"] { name="SNc_layerspec"; desc=; unique{ kwta;compute_i;clamp;inhib;decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=0: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["NoDecayLayers"] { name="NoDecayLayers"; desc=; unique{ }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; LeabraLayerSpec @["STN"] { name="STN"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib;decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.5; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=2: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["PFCIn_layerspec"] { name="PFCIn_layerspec"; desc=; unique{ kwta;gp_kwta;inhib_group;compute_i;i_kwta_pt;inhib;decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=LAY_AND_GPS; inhib { type=KWTA_AVG_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=5: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=1: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; inhib_group=ENTIRE_LAYER; inhib { type=KWTA_INHIB; kwta_pt=0.25; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_K: k=1: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=0: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.05: p_dt=0: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; LeabraLayerSpec @["InhibLayers"] { name="InhibLayers"; desc=; unique{ kwta;inhib;decay; }; children { name="children"; el_typ=LeabraLayerSpec; el_def=0; }; inhib_group=ENTIRE_LAYER; inhib { type=UNIT_INHIB; kwta_pt=0.6; gi=2; ff=1; fb=0.5; self_fb=0; prv_trl_ff=0; prv_phs_ff=0; dt=0.7; up_immed=0; ff0=0.1; min_i=0; }; kwta {k_from=USE_PCT: k=3: pct=0.34: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; gp_kwta {k_from=USE_PCT: k=12: pct=0.25: pat_q=0.5: avg_dt=0.005: diff_act_pct=0: act_pct=0.1: }; lay_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; unit_gp_inhib {on=0: fffb=0: lay_gi=2: gp_g=0.5: self_g=1: diff_act_pct=0: act_pct_mult=0.3333333: pct_fm_frac=1: act_denom=3: }; clamp {hard=1: gain=0.5: max_plus=0: plus=0.01: min_clamp=0.5: minus_targ_gain=0: }; decay {event=0: phase=0: phase2=0: }; cos_diff_lrate {on=0: lo_diff=0: lo_lrate=0.01: hi_diff=1: hi_lrate=0.01: avg_dt=0.002: }; ct_inhib_mod { manual_sravg=0; sravg_delay=0; use_sin=0; burst_i=0.02; trough_i=0.02; use_fin=0; inhib_i=0; }; tie_brk {on=0: k_thr=1: diff_thr=0.2: thr_gain=0.005: loser_gain=1: }; adapt_i {type=NONE: tol=0.02: p_dt=0.1: mx_d=0.2: l=0.2: a_dt=0.005: }; abs_net_adapt { on=0; trg_net=0.5; tol=0.1; abs_lrate=0.1; }; }; }; }; layers { name="layers"; el_typ=LeabraLayer; el_def=0; pos {x=0: y=0: z=0: }; pos2d {x=0: y=0: }; max_disp_size {x=40: y=9: z=3: }; max_disp_size2d {x=10: y=36: }; LeabraLayer @["Input"] { name="Input"; desc=; flags=0; layer_type=INPUT; pos {x=2: y=4: z=2: }; pos2d {x=0: y=0: }; disp_scale=1; un_geom {x=6: y=3: n_not_xy=0: n=18: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=6: y=3: n_not_xy=0: n=18: }; disp_geom {x=6: y=3: n_not_xy=0: n=18: }; scaled_disp_geom {x=6: y=3: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"].projections["Fm_Input"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"].projections["Fm_Input"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_Input"]; Projection_Group @. = [3] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["PMC"].projections["Fm_Input"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["InputLayer"]$$: }; }; LeabraLayer @["GP_Int"] { name="GP_Int"; desc=; flags=0; layer_type=HIDDEN; pos {x=28: y=0: z=0: }; pos2d {x=0: y=3: }; disp_scale=1; un_geom {x=4: y=2: n_not_xy=0: n=8: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=4: y=2: n_not_xy=0: n=8: }; disp_geom {x=4: y=2: n_not_xy=0: n=8: }; scaled_disp_geom {x=4: y=2: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Go"] { name="Fm_Go"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"]$$; spec {type=TesselPrjnSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["GPeGPiInhib"].children["Inhib_Learn"]$$: }; recv_idx=0; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_GP_Ext"] { name="Fm_GP_Ext"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers["GP_Ext"]$$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["GPeGPiInhib"]$$: }; recv_idx=1; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["Thalamus"].projections["Fm_GP_Int"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["GPInt_UnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["GP_layerspec"]$$: }; }; LeabraLayer @["GP_Ext"] { name="GP_Ext"; desc=; flags=0; layer_type=HIDDEN; pos {x=28: y=4: z=0: }; pos2d {x=0: y=6: }; disp_scale=1; un_geom {x=4: y=1: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=4: y=1: n_not_xy=0: n=4: }; disp_geom {x=4: y=1: n_not_xy=0: n=4: }; scaled_disp_geom {x=4: y=1: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_NoGo"] { name="Fm_NoGo"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"]$$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Inhib"]$$: }; recv_idx=0; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["GP_Int"].projections["Fm_GP_Ext"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["GPExt_UnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["GP_layerspec"]$: }; }; LeabraLayer @["Thalamus"] { name="Thalamus"; desc=; flags=0; layer_type=HIDDEN; pos {x=32: y=0: z=1: }; pos2d {x=0: y=9: }; disp_scale=1; un_geom {x=4: y=1: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=4: y=1: n_not_xy=0: n=4: }; disp_geom {x=4: y=1: n_not_xy=0: n=4: }; scaled_disp_geom {x=4: y=1: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_GP_Int"] { name="Fm_GP_Int"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers["GP_Int"]$$; spec {type=TesselPrjnSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["dMatrosomesGP"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["GPeGPiInhib"].children["ThalInhib2"]$$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_PMC"] { name="Fm_PMC"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["dMatrosomesGP"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FixedFull"]$$: }; recv_idx=1; send_idx=5; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["PMC"].projections["Fm_Thalamus"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["Thalamus"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Thalamus_layerspec"]$$: }; }; LeabraLayer @["PMC"] { name="PMC"; desc=; flags=NO_ADD_SSE|NO_ADD_COMP_SSE; layer_type=TARGET; pos {x=28: y=0: z=2: }; pos2d {x=0: y=12: }; disp_scale=1; un_geom {x=4: y=2: n_not_xy=0: n=8: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=4: y=2: n_not_xy=0: n=8: }; disp_geom {x=4: y=2: n_not_xy=0: n=8: }; scaled_disp_geom {x=4: y=2: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Thalamus"] { name="Fm_Thalamus"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["Thalamus"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["dMatrosomesGP"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FixedFull"]$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_ctxt"] { name="Fm_ctxt"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers["ctxt"]$$; spec {type=FullPrjnSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["Input_Motor_Prepotent_"]$: }; recv_idx=1; send_idx=3; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Input"] { name="Fm_Input"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers["Input"]$$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["Input_Motor_Prepotent_"]$: }; recv_idx=2; send_idx=3; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["Thalamus"].projections["Fm_PMC"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["Output"].projections["Fm_PMC"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["Output"].projections["Fm_PMC_1"]; Projection_Group @. = [3] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"].projections["Fm_PMC"]; Projection_Group @. = [4] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"].projections["Fm_PMC"]; Projection_Group @. = [5] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_PMC"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["Motor_Cortex_1_unitspec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["MCLayerSpec"]$$: }; }; LeabraLayer @["Output"] { name="Output"; desc=; flags=0; layer_type=TARGET; pos {x=36: y=0: z=2: }; pos2d {x=0: y=15: }; disp_scale=1; un_geom {x=4: y=1: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=4: y=1: n_not_xy=0: n=4: }; disp_geom {x=4: y=1: n_not_xy=0: n=4: }; scaled_disp_geom {x=4: y=1: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_PMC"] { name="Fm_PMC"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FixedFull"]$: }; recv_idx=0; send_idx=3; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_PMC_1"] { name="Fm_PMC_1"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; spec {type=OneToOnePrjnSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["OneToOne_2"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FixedFull"]$: }; recv_idx=1; send_idx=4; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["OutputUnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Output_layerspec"]$$: }; }; LeabraLayer @["SNc"] { name="SNc"; desc=; flags=0; layer_type=INPUT; pos {x=6: y=0: z=0: }; pos2d {x=0: y=18: }; disp_scale=1; un_geom {x=2: y=2: n_not_xy=0: n=4: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=2: y=2: n_not_xy=0: n=4: }; disp_geom {x=2: y=2: n_not_xy=0: n=4: }; scaled_disp_geom {x=2: y=2: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"].projections["Fm_SNc"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"].projections["Fm_SNc"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_SNc"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["SNc_UnitSpec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["SNc_layerspec"]$$: }; }; LeabraLayer @["ctxt"] { name="ctxt"; desc=; flags=ICONIFIED; layer_type=INPUT; pos {x=3: y=1: z=2: }; pos2d {x=0: y=21: }; disp_scale=1; un_geom {x=9: y=2: n_not_xy=0: n=18: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=0: y=0: }; flat_geom {x=9: y=2: n_not_xy=0: n=18: }; disp_geom {x=9: y=2: n_not_xy=0: n=18: }; scaled_disp_geom {x=9: y=2: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["PMC"].projections["Fm_ctxt"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"].projections["Fm_ctxt"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_ctxt"]; Projection_Group @. = [3] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"].projections["Fm_ctxt"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"]$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["InputLayer"]$: }; }; Layer_Group @.gp["Striatum"] { name="Striatum"; el_typ=LeabraLayer; el_def=0; pos {x=9: y=0: z=1: }; pos2d {x=0: y=24: }; max_disp_size {x=15: y=9: z=1: }; max_disp_size2d {x=10: y=12: }; LeabraLayer @["Go"] { name="Go"; desc=; flags=0; layer_type=HIDDEN; pos {x=0: y=0: z=0: }; pos2d {x=0: y=0: }; disp_scale=1; un_geom {x=4: y=9: n_not_xy=0: n=36: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=1: y=1: }; flat_geom {x=4: y=9: n_not_xy=0: n=36: }; disp_geom {x=4: y=9: n_not_xy=0: n=36: }; scaled_disp_geom {x=4: y=9: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Input"] { name="Fm_Input"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["Input"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["InputStriatum"]$: }; recv_idx=0; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_ctxt"] { name="Fm_ctxt"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["ctxt"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["ContextStriatum"]$$: }; recv_idx=1; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Striatum_Inhib"] { name="Fm_Striatum_Inhib"; off=0; disp=1; from_type=CUSTOM; from=.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"]$$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FixedFull"].children["InhibCons"]$$: }; recv_idx=2; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_SNc"] { name="Fm_SNc"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["SNc"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Dopamine_D1_"]$: }; recv_idx=3; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_PMC"] { name="Fm_PMC"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; spec {type=TesselPrjnSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["MotorCortex_Striatum"]$$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["MotorCortex2_Striatum2"]$$: }; recv_idx=4; send_idx=2; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_NoGo"] { name="Fm_NoGo"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["Striatum_GPInt"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["NoGo_inhib_Go"]$$: }; recv_idx=5; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_Go"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["GP_Int"].projections["Fm_Go"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["matrisom_unitspec"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Matrisome_layerspec"]$$: }; }; LeabraLayer @["NoGo"] { name="NoGo"; desc=; flags=0; layer_type=HIDDEN; pos {x=8: y=0: z=0: }; pos2d {x=6: y=3: }; disp_scale=1; un_geom {x=4: y=9: n_not_xy=0: n=36: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=1: y=1: }; flat_geom {x=4: y=9: n_not_xy=0: n=36: }; disp_geom {x=4: y=9: n_not_xy=0: n=36: }; scaled_disp_geom {x=4: y=9: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Input"] { name="Fm_Input"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["Input"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["inNoGO"]$: }; recv_idx=0; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_ctxt"] { name="Fm_ctxt"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["ctxt"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["ContextStriatum"]$: }; recv_idx=1; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Striatum_Inhib"] { name="Fm_Striatum_Inhib"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FixedFull"].children["InhibCons"]$: }; recv_idx=2; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_SNc"] { name="Fm_SNc"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["SNc"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["SNc_Inhib_D2_"]$: }; recv_idx=3; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_PMC"] { name="Fm_PMC"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; spec {type=TesselPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["MotorCortex_Striatum"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["Fixed"].children["Motor_NoGo"]$$: }; recv_idx=4; send_idx=1; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_NoGo"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"].projections["Fm_NoGo"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers["GP_Ext"].projections["Fm_NoGo"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["LearnBiasUnitSpec"].children["matrisom_unitspec"]$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["LayerSpec_0"].children["Matrisome_layerspec"]$: }; }; LeabraLayer @["Striatum_Inhib"] { name="Striatum_Inhib"; desc=; flags=ICONIFIED; layer_type=HIDDEN; pos {x=14: y=0: z=0: }; pos2d {x=0: y=11: }; disp_scale=1; un_geom {x=2: y=8: n_not_xy=0: n=16: }; unit_groups=0; virt_groups=1; gp_geom {x=1: y=1: n_not_xy=0: n=1: }; gp_spc {x=1: y=1: }; flat_geom {x=2: y=8: n_not_xy=0: n=16: }; disp_geom {x=2: y=8: n_not_xy=0: n=16: }; scaled_disp_geom {x=2: y=8: n_not_xy=0: n=1: }; projections { name="projections"; el_typ=LeabraPrjn; el_def=0; LeabraPrjn @["Fm_Input"] { name="Fm_Input"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["Input"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FBtoInhib"].children["FFtoInhib"]$$: }; recv_idx=0; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_ctxt"] { name="Fm_ctxt"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["ctxt"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FBtoInhib"].children["FFtoInhib"]$: }; recv_idx=1; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_SNc"] { name="Fm_SNc"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["SNc"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FBtoInhib"].children["FFtoInhib"]$: }; recv_idx=2; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_PMC"] { name="Fm_PMC"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers["PMC"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FBtoInhib"].children["FFtoInhib"]$: }; recv_idx=3; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Striatum_Inhib"] { name="Fm_Striatum_Inhib"; off=0; disp=1; from_type=SELF; from=$.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["InhibInhib"]$$: }; recv_idx=4; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_Go"] { name="Fm_Go"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FBtoInhib"]$$: }; recv_idx=5; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; LeabraPrjn @["Fm_NoGo"] { name="Fm_NoGo"; off=0; disp=1; from_type=CUSTOM; from=$.projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"]$; spec {type=FullPrjnSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["LeabraPrjns"]["FullPrjnSpec_0"]$: }; con_type=LeabraCon; recvcons_type=LeabraRecvCons; sendcons_type=LeabraSendCons; con_spec {type=LeabraConSpec: spec=$.projects["BG_1_"].networks["BG_4s"].specs.gp["Connections"]["FBtoInhib"]$: }; recv_idx=6; send_idx=0; recv_n=1; send_n=1; projected=1; direction=DIR_UNKNOWN; prjn_clr {r=1: g=0.9: b=0.5: a=1: }; trg_netin_rel=-1; }; }; send_prjns { name="send_prjns"; el_typ=LeabraPrjn; el_def=0; Projection_Group @. = [0] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Striatum_Inhib"].projections["Fm_Striatum_Inhib"]; Projection_Group @. = [1] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["Go"].projections["Fm_Striatum_Inhib"]; Projection_Group @. = [2] = LeabraPrjn .projects["BG_1_"].networks["BG_4s"].layers.gp["Striatum"]["NoGo"].projections["Fm_Striatum_Inhib"]; }; units { name="units"; el_typ=LeabraUnit; el_def=0; pos {x=0: y=0: z=0: }; output_name=; }; unit_spec {type=LeabraUnitSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["Units"]["FixedBiasUnitSpec"].children["InhibUnits"]$$: }; dmem_dist=DMEM_DIST_DEFAULT; dist { fm_input=-1; fm_output=-1; }; units_lesioned=0; gp_unit_names_4d=0; brain_area=; voxel_fill_pct=1; spec {type=LeabraLayerSpec: spec=.projects["BG_1_"].networks["BG_4s"].specs.gp["LayerSpecs"]["InhibLayers"]$$: }; }; }; }; weights { name="weights"; el_typ=Weights; el_def=0; }; flags=NETIN_PER_PRJN; auto_build=AUTO_BUILD; brain_atlas_name=; train_mode=TEST; wt_update=ON_LINE; small_batch_n=5; sse_unit_avg=0; sse_sqrt=0; cnt_err_tol=0.7; compute_prerr=0; threads { run_time {name="TimeUsedHR_12": s_used=0: n_used=0: }; sync_time {name="TimeUsedHR_13": s_used=0: n_used=0: }; total_time {name="TimeUsedHR_14": s_used=0: n_used=0: }; n_wake_in_sync=0; run_time_pct=0; sync_time_pct=0; wake_in_sync_pct=5.262939115043168e+294; interleave=1; ignore_lay_sync=0; }; dmem_sync_level=DMEM_SYNC_NETWORK; dmem_nprocs=1; usr1_save_fmt=FULL_NET; wt_save_fmt=TEXT; n_units=156; n_cons=7116; max_prjns=7; max_disp_size {x=40: y=9: z=3: }; max_disp_size2d {x=10: y=36: }; learn_rule=LEABRA_CHL; ti_mode=0; phase_order=MINUS_PLUS; no_plus_test=1; sequence_init=DO_NOTHING; phase_max=1; time_inc=1; cycle_max=150; mid_minus_cycle=-1; min_cycles=15; min_cycles_phase2=35; dwt_norm_enabled=0; ct_time { use=0; minus=50; plus=20; inhib=1; n_avg_only_epcs=0; total_cycles=71; inhib_start=70; }; ct_sravg { manual=0; start=30; end=1; interval=1; plus_s_st=19; plus_s_only=0; force_con=0; }; ct_sin_i { start=30; duration=20; n_pi=2; burst_i=0; trough_i=0; }; ct_fin_i { start=20; end=25; inhib_i=0; }; ct_lrn_trig { plus_lrn_cyc=-1; davg_dt=0.1; davg_s_dt=0.05; davg_m_dt=0.03; davg_l_dt=0.0005; thr_min=0; thr_max=0.5; loc_max_cyc=8; loc_max_dec=0.01; lrn_delay=40; lrn_refract=100; davg_l_init=0; davg_max_init=0.001; davg_time=10; davg_s_time=20; davg_m_time=33.33334; davg_l_time=2000; lrn_delay_inc=0.025; lrn_refract_inc=0.01; }; lrn_trig { davg=0; davg_s=0; davg_m=0; davg_smd=0; davg_l=0; davg_max=0.001; cyc_fm_inc=0; cyc_fm_dec=0; loc_max=0; lrn_max=0; lrn_trig=0; lrn=0; }; net_misc { cyc_syn_dep=0; syn_dep_int=20; }; maxda_stopcrit=0.005; trg_max_act_stopcrit=1; norew_val=0.5; off_errs=1; on_errs=1; cos_err_lrn_thr=-1; cos_diff_on=0; cos_diff_auto=0; }; }; };