Package qubx_testing :: Module qubx_plugin :: Class OptToolPlugin
[hide private]
[frames] | no frames]

Class OptToolPlugin

source code

        object --+                                
                 |                                
        ??.GObject --+                            
                     |                            
            gtk.Object --+                        
                         |                        
        object --+       |                        
                 |       |                        
gobject.GInterface --+   |                        
                     |   |                        
  atk.ImplementorIface --+                        
                         |                        
        object --+       |                        
                 |       |                        
gobject.GInterface --+   |                        
                     |   |                        
         gtk.Buildable --+                        
                         |                        
                gtk.Widget --+                    
                             |                    
                 gtk.Container --+                
                                 |                
                object --+       |                
                         |       |                
        gobject.GInterface --+   |                
                             |   |                
                gtk.Orientable --+                
                                 |                
                           gtk.Box --+            
                                     |            
                              gtk.VBox --+        
                                         |        
                           qubx.faces.Face --+    
                                             |    
                                    ToolPlugin --+
                                                 |
                                                OptToolPlugin
Known Subclasses:

Base class for optimization plugins.

Override at minimum: robot_calculate_score, robot_get_pars, robot_set_pars. Optionally, override robot_optimize to replace the built-in optimizers.

They are called robot_* because they run on the worker (robot) thread. When called, the latest model has been copied into self.robot.model, a QubModel.

Add any additional widgets to self.top_panel and self.right_panel, or rearrange layout as needed.

model_prep has .source (the QubModel in GUI), .model (private copy for robot computation), and .set_rates2(K0, K1, K2) [faster than making new model_prep]

Instance Methods [hide private]
 
__init__(self, label, global_name='', opt_name=None, opt_options={}, have_grads=False)
x.__init__(...) initializes x; see help(type(x)) for signature
source code
 
set_score(self, x) source code
 
onShow(self, showing)
Override this method to do something when showing changes.
source code
 
__onSwitchModel(self, model) source code
 
__onInvalidateModel(self, product) source code
 
__onSetModel(self, *args) source code
 
__onSetRate(self, r, field, val, prev, undoing) source code
 
get_model_prep(self, model=None) source code
 
__onInvalidateData(self, product) source code
 
get_data_prep(self, segs, model_prep, wait=True, receiver=<__builtin__.function object>) source code
 
request_data_prep(self, receiver, segs=None, model_prep=None, last_data_prep=None) source code
 
__get_rates(self) source code
 
on_robot_begin(self)
Override this method to respond when the robot starts working.
source code
 
on_robot_end(self)
Override this method to respond when the robot finishes working.
source code
 
__onClickGetScore(self, btn) source code
 
__onClickAddToTrials(self, btn) source code
 
__onClickOptimize(self, btn) source code
 
append_output(self, s)
Appends a string to the output panel.
source code
 
clear_output(self)
Clears the text output panel.
source code
 
on_exception(self, task, typ, val, tb)
Override this method to do something with exceptions thrown on robot thread; default: print to stdout.
source code
 
add_to_trials(self, mtree, row) source code
 
make_trial(self, model_prep=None, data_prep=None, fields={}, initial_tree=None) source code
 
get_ndata(self, data_prep=None)
Override to tell how many datapoints/events used, for Trials.
source code
 
add_trial_fields(self, row, mtree, prefix='', model_prep=None, data_prep=None)
Override to pick info from the model.
source code
 
calculate_score(self, model_prep=None, data_prep=None, wait=True, receiver=<__builtin__.function object>, on_trial=None, **kw)
Starts the robot calculating the score.
source code
 
__calculate_score(self, receiver=<__builtin__.function object>, model_prep=None, data_prep=None, on_trial=None, **kw) source code
 
optimize(self, model_prep=None, data_prep=None, wait=True, receiver=None, ext_return=False, on_trial=None, **kw)
Starts the robot optimizing.
source code
 
__optimize(self, receiver=None, model_prep=None, data_prep=None, ext_return=False, on_trial=None, **kw) source code
 
__set_keys(self, **kw) source code
 
robot_setup_data(self, model_prep, data_prep) source code
 
__robot_calculate_score(self, on_finish=<__builtin__.function object>, model_prep=None, data_prep=None, on_trial=None)
Calculates score on worker thread, then passes it back to GUI thread.
source code
 
__robot_optimize(self, on_finish=None, model_prep=None, data_prep=None, ext_return=False, on_trial=None)
Optimizes on worker thread, then notifies GUI thread.
source code
 
__onOptimized(self, iterations, score, grads, Hessian) source code
 
update_score(self, score, call_me=<__builtin__.function object>)
Updates score and txtScore then calls call_me().
source code
 
robot_calculate_score(self, grads=None)
Calculates and returns the score, on worker thread; override this method.
source code
 
robot_get_pars(self)
Returns the list of initial parameter values, on worker thread; override this method.
source code
 
robot_set_pars(self, pars)
Updates self.robot.model_prep.model and/or other state from new param values, on worker thread; override this method.
source code
 
robot_optimize(self)
Finds improved param values, starting from robot_get_pars(); override if you don't want the built-in optimizers.
source code
 
__robot_func(self, pars) source code
 
__robot_grad_func(self, pars, grads) source code
 
__robot_iter(self, pars, grads, iterations, score) source code
 
robot_on_iteration(self, pars, grads, iterations, score)
Responds to a completed iteration; override this function to send model params etc back to gui.
source code

Inherited from ToolPlugin: on_interrupt

Inherited from qubx.faces.Face: request_show, set_parent_window, set_pop_prefs, set_showing

Inherited from gtk.VBox: __iter__

Inherited from gtk.Box: get_homogeneous, get_spacing, pack_end, pack_end_defaults, pack_start, pack_start_defaults, query_child_packing, reorder_child, set_child_packing, set_homogeneous, set_spacing

Inherited from gtk.Container: __len__, __nonzero__, add, add_with_properties, check_resize, child_get, child_get_property, child_set, child_set_property, child_type, children, do_add, do_check_resize, do_child_type, do_composite_name, do_forall, do_get_child_property, do_remove, do_set_child_property, do_set_focus_child, forall, foreach, get_border_width, get_children, get_focus_chain, get_focus_child, get_focus_hadjustment, get_focus_vadjustment, get_resize_mode, install_child_property, list_child_properties, propagate_expose, remove, resize_children, set_border_width, set_focus_chain, set_focus_child, set_focus_hadjustment, set_focus_vadjustment, set_reallocate_redraws, set_resize_mode, unset_focus_chain

Inherited from gtk.Widget: activate, add_accelerator, add_events, add_mnemonic_label, can_activate_accel, child_focus, child_notify, class_path, create_pango_context, create_pango_layout, destroy, do_button_press_event, do_button_release_event, do_can_activate_accel, do_client_event, do_composited_changed, do_configure_event, do_delete_event, do_destroy_event, do_direction_changed, do_drag_begin, do_drag_data_delete, do_drag_data_get, do_drag_data_received, do_drag_drop, do_drag_end, do_drag_leave, do_drag_motion, do_enter_notify_event, do_event, do_expose_event, do_focus, do_focus_in_event, do_focus_out_event, do_get_accessible, do_grab_broken_event, do_grab_focus, do_grab_notify, do_hide, do_hide_all, do_hierarchy_changed, do_key_press_event, do_key_release_event, do_leave_notify_event, do_map, do_map_event, do_mnemonic_activate, do_motion_notify_event, do_no_expose_event, do_parent_set, do_popup_menu, do_property_notify_event, do_proximity_in_event, do_proximity_out_event, do_realize, do_screen_changed, do_scroll_event, do_selection_clear_event, do_selection_get, do_selection_notify_event, do_selection_received, do_selection_request_event, do_show, do_show_all, do_show_help, do_size_allocate, do_size_request, do_state_changed, do_style_set, do_unmap, do_unmap_event, do_unrealize, do_visibility_notify_event, do_window_state_event, drag_begin, drag_check_threshold, drag_dest_add_image_targets, drag_dest_add_text_targets, drag_dest_add_uri_targets, drag_dest_find_target, drag_dest_get_target_list, drag_dest_get_track_motion, drag_dest_set, drag_dest_set_proxy, drag_dest_set_target_list, drag_dest_set_track_motion, drag_dest_unset, drag_get_data, drag_highlight, drag_source_add_image_targets, drag_source_add_text_targets, drag_source_add_uri_targets, drag_source_get_target_list, drag_source_set, drag_source_set_icon, drag_source_set_icon_name, drag_source_set_icon_pixbuf, drag_source_set_icon_stock, drag_source_set_target_list, drag_source_unset, drag_unhighlight, draw, ensure_style, error_bell, event, freeze_child_notify, get_accessible, get_action, get_activate_signal, get_allocation, get_ancestor, get_app_paintable, get_can_default, get_can_focus, get_child_requisition, get_child_visible, get_clipboard, get_colormap, get_composite_name, get_direction, get_display, get_double_buffered, get_events, get_extension_events, get_has_tooltip, get_has_window, get_mapped, get_modifier_style, get_name, get_no_show_all, get_pango_context, get_parent, get_parent_window, get_pointer, get_realized, get_receives_default, get_requisition, get_root_window, get_screen, get_sensitive, get_settings, get_size_request, get_snapshot, get_state, get_style, get_tooltip_markup, get_tooltip_text, get_tooltip_window, get_toplevel, get_visible, get_visual, get_window, grab_add, grab_default, grab_focus, grab_remove, has_default, has_focus, has_grab, has_rc_style, has_screen, hide, hide_all, hide_on_delete, input_shape_combine_mask, intersect, is_ancestor, is_composited, is_drawable, is_focus, is_sensitive, is_toplevel, keynav_failed, list_accel_closures, list_mnemonic_labels, map, menu_get_for_attach_widget, mnemonic_activate, modify_base, modify_bg, modify_cursor, modify_fg, modify_font, modify_style, modify_text, path, queue_clear, queue_clear_area, queue_draw, queue_draw_area, queue_resize, queue_resize_no_redraw, rc_get_style, realize, region_intersect, remove_accelerator, remove_mnemonic_label, render_icon, reparent, reset_rc_styles, reset_shapes, selection_add_target, selection_add_targets, selection_clear_targets, selection_convert, selection_owner_set, selection_remove_all, send_expose, send_focus_change, set_accel_path, set_activate_signal, set_allocation, set_app_paintable, set_can_default, set_can_focus, set_child_visible, set_colormap, set_composite_name, set_direction, set_double_buffered, set_events, set_extension_events, set_has_tooltip, set_has_window, set_mapped, set_name, set_no_show_all, set_parent, set_realized, set_receives_default, set_redraw_on_allocate, set_scroll_adjustments, set_sensitive, set_set_scroll_adjustments_signal, set_size_request, set_state, set_style, set_tooltip_markup, set_tooltip_text, set_tooltip_window, set_uposition, set_usize, set_visible, set_window, shape_combine_mask, show, show_all, show_now, size_allocate, size_request, style_attach, style_get_property, thaw_child_notify, translate_coordinates, trigger_tooltip_query, unmap, unparent, unrealize

Inherited from gtk.Object: do_destroy, flags, remove_data, remove_no_notify, set_flags, unset_flags

Inherited from unreachable.GObject: __copy__, __deepcopy__, __delattr__, __eq__, __gdoc__, __ge__, __gobject_init__, __gt__, __hash__, __le__, __lt__, __ne__, __new__, __repr__, __setattr__, chain, connect, connect_after, connect_object, connect_object_after, disconnect, disconnect_by_func, emit, emit_stop_by_name, freeze_notify, get_data, get_properties, get_property, handler_block, handler_block_by_func, handler_disconnect, handler_is_connected, handler_unblock, handler_unblock_by_func, notify, props, set_data, set_properties, set_property, stop_emission, thaw_notify, weak_ref

Inherited from atk.ImplementorIface: ref_accessible

Inherited from gtk.Buildable: add_child, construct_child, do_add_child, do_construct_child, do_get_internal_child, do_parser_finished, do_set_name, get_internal_child, parser_finished

Inherited from gtk.Orientable: get_orientation, set_orientation

Inherited from object: __format__, __getattribute__, __reduce__, __reduce_ex__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  __explore_featured = ['right_panel', 'top_panel', 'txtStatus',...

Inherited from gtk.VBox: __gtype__

Instance Variables [hide private]
  model_prep
ModelPrep with source model and private copy for robot use
  right_panel
gtk.VBox along right edge, with optimize controls already at the bottom
  top_panel
gtk.HBox along top edge, with score display already at far right
  txtStatus
gtk.TextView with text output; convenience methods self.append_output(s), self.clear_output()

Inherited from ToolPlugin: robot

Inherited from qubx.faces.Face: icon, menubar, showing, tab_sublayers

Properties [hide private]
  optimizing
  score
  model

Inherited from qubx.faces.Face: parent_window, pop_prefs

Inherited from gtk.Container: border_width, focus_child, has_focus_chain, need_resize, reallocate_redraws, resize_mode

Inherited from gtk.Widget: allocation, name, parent, requisition, saved_state, state, style, window

Inherited from unreachable.GObject: __grefcount__

Inherited from object: __class__

Method Details [hide private]

__init__(self, label, global_name='', opt_name=None, opt_options={}, have_grads=False)
(Constructor)

source code 

x.__init__(...) initializes x; see help(type(x)) for signature

Parameters:
  • label - tab label, becomes self.face_name
  • opt_name - optimizer preferences selector, defaults to label
  • opt_options - {option_label : default} to override specific defaults of the built-in optimizers (see qubx.optimize)
  • have_grads - True if your robot_calculate_score can also calculate dScore/dPar[i]
Overrides: object.__init__

onShow(self, showing)

source code 

Override this method to do something when showing changes.

Overrides: qubx.faces.Face.onShow
(inherited documentation)

on_robot_begin(self)

source code 

Override this method to respond when the robot starts working.

Overrides: ToolPlugin.on_robot_begin
(inherited documentation)

on_robot_end(self)

source code 

Override this method to respond when the robot finishes working.

Overrides: ToolPlugin.on_robot_end
(inherited documentation)

on_exception(self, task, typ, val, tb)

source code 

Override this method to do something with exceptions thrown on robot thread; default: print to stdout.

Overrides: ToolPlugin.on_exception
(inherited documentation)

calculate_score(self, model_prep=None, data_prep=None, wait=True, receiver=<__builtin__.function object>, on_trial=None, **kw)

source code 

Starts the robot calculating the score.

Parameters:
  • receiver - func(score) called when score is finished calculating

optimize(self, model_prep=None, data_prep=None, wait=True, receiver=None, ext_return=False, on_trial=None, **kw)

source code 

Starts the robot optimizing.

Parameters:
  • receiver - func() called when optimization is finished

update_score(self, score, call_me=<__builtin__.function object>)

source code 

Updates score and txtScore then calls call_me(). Intended as GUI callback from robot thread; e.g. >>> gobject.idle_add(self.update_score, score, on_finish)

robot_calculate_score(self, grads=None)

source code 

Calculates and returns the score, on worker thread; override this method. self.model_prep.model has just been updated.

Parameters:
  • grads - either None (no gradient requested) or an array to fill with dScore/dPar[i]

robot_get_pars(self)

source code 

Returns the list of initial parameter values, on worker thread; override this method. Derive parameter values from self.robot.model_prep.model and/or from your own widgets.

robot_optimize(self)

source code 

Finds improved param values, starting from robot_get_pars(); override if you don't want the built-in optimizers. If you override, also do self.optOptions = None. self.robot.model_prep.model has just been updated.


Class Variable Details [hide private]

__explore_featured

Value:
['right_panel',
 'top_panel',
 'txtStatus',
 'model_prep',
 'grads',
 'hessian',
 'OnLL',
 'OnIteration',
...

Property Details [hide private]

optimizing

Get Method:
unreachable(self)

score

Get Method:
unreachable(self)
Set Method:
unreachable(self, x)
Delete Method:
'quantity to maximize, e.g. log-likelihoo; auto-displayed at top-right\
'

model

Get Method:
unreachable(self)