@@ -1302,7 +1302,10 @@ def buttons_update():
13021302 for button in wizard_buttons :
13031303 button .button_type = "success" if button == M .wizard else "default"
13041304 for button in action_buttons :
1305- button .button_type = "primary" if button == M .action else "default"
1305+ if button == leaveout :
1306+ button .stylesheets = M .primary_style if button == M .action else M .default_style
1307+ else :
1308+ button .button_type = "primary" if button == M .action else "default"
13061309 button .disabled = button not in wizard2actions [M .wizard ]
13071310 if M .action in [detect ,classify ,ethogram ]:
13081311 wavcsv_files_button .label = 'wav files:'
@@ -1349,6 +1352,8 @@ def buttons_update():
13491352 textinput .disabled = cluster_parameters [thislogic [0 ]].value not in thislogic [1 ]
13501353 else :
13511354 textinput .disabled = False
1355+ elif M .action is leaveout and textinput is kfold :
1356+ textinput .disabled = leaveout .value != "omit some"
13521357 else :
13531358 textinput .disabled = False
13541359 if textinput .disabled == False and textinput .value == '' :
@@ -1533,7 +1538,7 @@ def init(_bokeh_document):
15331538 global load_multimedia , play , video_slider , load_multimedia_callback , play_callback , video_slider_callback , video_toggle , video_div
15341539 global undo , redo , remaining
15351540 global recordings
1536- global detect , misses , train , leaveoneout , leaveallout , xvalidate , mistakes , activations , cluster , visualize , accuracy , freeze , ensemble , classify , ethogram , compare , congruence
1541+ global detect , misses , train , leaveout , xvalidate , mistakes , activations , cluster , visualize , accuracy , freeze , ensemble , classify , ethogram , compare , congruence
15371542 global status_ticker , waitfor , deletefailures
15381543 global file_dialog_source , configuration_contents
15391544 global logs_folder_button , logs_folder , model_file_button , model_file , wavcsv_files_button , wavcsv_files , groundtruth_folder_button , groundtruth_folder , validation_files_button , test_files_button , validation_files , test_files , labels_touse_button , labels_touse , kinds_touse_button , kinds_touse , prevalences_button , prevalences , delete_ckpts , copy , labelsounds , makepredictions , fixfalsepositives , fixfalsenegatives , generalize , tunehyperparameters , findnovellabels , examineerrors , testdensely , doit , nsteps , restore_from , save_and_validate_period , validate_percentage , mini_batch , kfold , activations_equalize_ratio , activations_max_sounds , cluster_these_layers , precision_recall_ratios , congruence_portion , congruence_convolve , congruence_measure , context , shiftby , optimizer , loss , learning_rate , nreplicates , batch_seed , weights_seed , augment_volume , augment_noise , augment_dc , augment_reverse , augment_invert , file_dialog_string , file_dialog_table , readme_contents , model_summary , labelcounts , wizard_buttons , action_buttons , parameter_buttons , parameter_textinputs , wizard2actions , action2parameterbuttons , action2parametertextinputs , status_ticker_update , status_ticker_pre , status_ticker_post
@@ -1952,7 +1957,7 @@ def init(_bokeh_document):
19521957 remaining = Button (label = 'add remaining' , disabled = True )
19531958 remaining .on_click (C .remaining_callback )
19541959
1955- recordings = Select (title = "recording:" , height = 50 )
1960+ recordings = Select (title = "recording:" , height = 48 )
19561961 recordings .on_change ('value' , C .recordings_callback )
19571962
19581963 detect = Button (label = 'detect' , width_policy = 'fit' )
@@ -1964,13 +1969,11 @@ def init(_bokeh_document):
19641969 train = Button (label = 'train' , width_policy = 'fit' )
19651970 train .on_click (lambda : C .action_callback (train , C .train_actuate ))
19661971
1967- leaveoneout = Button (label = 'omit one' , width_policy = 'fit' )
1968- leaveoneout .on_click (lambda : C .action_callback (leaveoneout ,
1969- lambda : C .leaveout_actuate (False )))
1970-
1971- leaveallout = Button (label = 'omit all' , width_policy = 'fit' )
1972- leaveallout .on_click (lambda : C .action_callback (leaveallout ,
1973- lambda : C .leaveout_actuate (True )))
1972+ leaveout = Select (title = "" , value = "omit one" , margin = 4 ,
1973+ options = ["omit one" , "omit some" , "omit all" ],
1974+ width_policy = 'fit' , stylesheets = M .default_style )
1975+ leaveout .on_change ('value' ,
1976+ lambda a ,o ,n : C .action_callback (leaveout , lambda : C .leaveout_actuate (n )))
19741977
19751978 xvalidate = Button (label = 'x-validate' , width_policy = 'fit' )
19761979 xvalidate .on_click (lambda : C .action_callback (xvalidate , C .xvalidate_actuate ))
@@ -2146,7 +2149,7 @@ def init(_bokeh_document):
21462149 disabled = False , sizing_mode = 'stretch_width' )
21472150 precision_recall_ratios .on_change ('value' , lambda a ,o ,n : C .generic_parameters_callback (n ))
21482151
2149- congruence_portion = Select (title = "portion" , height = 50 ,
2152+ congruence_portion = Select (title = "portion" , height = 48 ,
21502153 value = M .state ['congruence_portion' ],
21512154 options = ["union" , "intersection" ],
21522155 sizing_mode = 'stretch_width' )
@@ -2157,7 +2160,7 @@ def init(_bokeh_document):
21572160 disabled = False , sizing_mode = 'stretch_width' )
21582161 congruence_convolve .on_change ('value' , lambda a ,o ,n : C .generic_parameters_callback (n ))
21592162
2160- congruence_measure = Select (title = "measure" , height = 50 ,
2163+ congruence_measure = Select (title = "measure" , height = 48 ,
21612164 value = M .state ['congruence_measure' ],
21622165 options = ["label" , "tic" , "both" ],
21632166 sizing_mode = 'stretch_width' )
@@ -2171,12 +2174,12 @@ def init(_bokeh_document):
21712174 disabled = False , sizing_mode = 'stretch_width' )
21722175 shiftby .on_change ('value' , lambda a ,o ,n : C .generic_parameters_callback (n ))
21732176
2174- optimizer = Select (title = "optimizer" , height = 50 , value = M .state ['optimizer' ],
2177+ optimizer = Select (title = "optimizer" , height = 48 , value = M .state ['optimizer' ],
21752178 options = ["Adadelta" , "Adagrad" , "Adam" , "Adamax" , "Ftrl" , "Nadam" , "RMSProp" , "SGD" ],
21762179 sizing_mode = "stretch_width" )
21772180 optimizer .on_change ('value' , lambda a ,o ,n : C .generic_parameters_callback ('' ))
21782181
2179- loss = Select (title = "loss" , height = 50 , value = M .state ['loss' ],
2182+ loss = Select (title = "loss" , height = 48 , value = M .state ['loss' ],
21802183 options = ["exclusive" , "overlapped" , "autoencoder" ],
21812184 sizing_mode = "stretch_width" )
21822185 loss .on_change ('value' , lambda a ,o ,n : C .generic_parameters_callback ('' ))
@@ -2207,7 +2210,7 @@ def parse_plugin_parameters(Mparameters, width, msu=False):
22072210 thisparameter = Select (value = M .state [parameter [0 ]],
22082211 title = parameter [1 ],
22092212 options = parameter [2 ],
2210- height = 50 ,
2213+ height = 48 ,
22112214 sizing_mode = 'stretch_width' )
22122215 thisparameter .on_change ('value' , get_callback (parameter [6 ], msu ))
22132216 parameters [parameter [0 ]] = thisparameter
@@ -2332,8 +2335,7 @@ def parse_plugin_parameters(Mparameters, width, msu=False):
23322335 action_buttons = set ([
23332336 detect ,
23342337 train ,
2335- leaveoneout ,
2336- leaveallout ,
2338+ leaveout ,
23372339 xvalidate ,
23382340 mistakes ,
23392341 activations ,
@@ -2409,7 +2411,7 @@ def parse_plugin_parameters(Mparameters, width, msu=False):
24092411 makepredictions : [train , accuracy , freeze , classify , ethogram , delete_ckpts ],
24102412 fixfalsepositives : [activations , cluster , visualize , delete_ckpts ],
24112413 fixfalsenegatives : [detect , misses , activations , cluster , visualize , delete_ckpts ],
2412- generalize : [leaveoneout , leaveallout , accuracy , delete_ckpts ],
2414+ generalize : [leaveout , accuracy , delete_ckpts ],
24132415 tunehyperparameters : [xvalidate , accuracy , compare , delete_ckpts ],
24142416 findnovellabels : [detect , train , activations , cluster , visualize , delete_ckpts ],
24152417 examineerrors : [detect , mistakes , activations , cluster , visualize , delete_ckpts ],
@@ -2419,8 +2421,7 @@ def parse_plugin_parameters(Mparameters, width, msu=False):
24192421 action2parameterbuttons = {
24202422 detect : [wavcsv_files_button ],
24212423 train : [logs_folder_button , groundtruth_folder_button , labels_touse_button , test_files_button , kinds_touse_button ],
2422- leaveoneout : [logs_folder_button , groundtruth_folder_button , validation_files_button , test_files_button , labels_touse_button , kinds_touse_button ],
2423- leaveallout : [logs_folder_button , groundtruth_folder_button , validation_files_button , test_files_button , labels_touse_button , kinds_touse_button ],
2424+ leaveout : [logs_folder_button , groundtruth_folder_button , validation_files_button , test_files_button , labels_touse_button , kinds_touse_button ],
24242425 xvalidate : [logs_folder_button , groundtruth_folder_button , test_files_button , labels_touse_button , kinds_touse_button ],
24252426 mistakes : [groundtruth_folder_button ],
24262427 activations : [logs_folder_button , model_file_button , groundtruth_folder_button , labels_touse_button , kinds_touse_button ],
@@ -2440,8 +2441,7 @@ def parse_plugin_parameters(Mparameters, width, msu=False):
24402441 action2parametertextinputs = {
24412442 detect : [wavcsv_files ] + list (detect_parameters .values ()),
24422443 train : [context , shiftby , optimizer , loss , learning_rate , nreplicates , batch_seed , weights_seed , augment_volume , augment_noise , augment_dc , augment_reverse , augment_invert , logs_folder , groundtruth_folder , test_files , labels_touse , kinds_touse , nsteps , restore_from , save_and_validate_period , validate_percentage , mini_batch ] + list (model_parameters .values ()),
2443- leaveoneout : [context , shiftby , optimizer , loss , learning_rate , batch_seed , weights_seed , augment_volume , augment_noise , augment_dc , augment_reverse , augment_invert , logs_folder , groundtruth_folder , validation_files , test_files , labels_touse , kinds_touse , nsteps , restore_from , save_and_validate_period , mini_batch ] + list (model_parameters .values ()),
2444- leaveallout : [context , shiftby , optimizer , loss , learning_rate , batch_seed , weights_seed , augment_volume , augment_noise , augment_dc , augment_reverse , augment_invert , logs_folder , groundtruth_folder , validation_files , test_files , labels_touse , kinds_touse , nsteps , restore_from , save_and_validate_period , mini_batch ] + list (model_parameters .values ()),
2444+ leaveout : [context , shiftby , optimizer , loss , learning_rate , batch_seed , weights_seed , augment_volume , augment_noise , augment_dc , augment_reverse , augment_invert , logs_folder , groundtruth_folder , validation_files , test_files , labels_touse , kinds_touse , nsteps , restore_from , save_and_validate_period , mini_batch , kfold ] + list (model_parameters .values ()),
24452445 xvalidate : [context , shiftby , optimizer , loss , learning_rate , batch_seed , weights_seed , augment_volume , augment_noise , augment_dc , augment_reverse , augment_invert , logs_folder , groundtruth_folder , test_files , labels_touse , kinds_touse , nsteps , restore_from , save_and_validate_period , mini_batch , kfold ] + list (model_parameters .values ()),
24462446 mistakes : [groundtruth_folder ],
24472447 activations : [context , shiftby , logs_folder , model_file , groundtruth_folder , labels_touse , kinds_touse , activations_equalize_ratio , activations_max_sounds , mini_batch , batch_seed ] + list (model_parameters .values ()),
0 commit comments