Changes 8.5.0

From emergent
Jump to: navigation, search

Back to ChangeLog -- Svn Checkin Log for 8.5.0 --Svn Checkin Log for 8.5.1

NOTE: this page describes releases 8.5.0, 8.5.1, 8.5.2 which followed shortly thereafter.

Major Changes

  • State Separation -- The computational State (and functions to operate on it) are now fully separated from the Main gui / type-access enabled objects -- this enables GPU to run on the same code base, and also resulted in significant speedups for threaded CPU performance as well. IMPORTANT user-visible effects of this change:
    • cannot change which spec a given object is using after the network has been built -- instead use ParamSets and update parameters of existing specs -- see stroop.proj in CCN Text for an example of this.
    • Unit access routines have changed.
  • Lesion -- support for lesioning of different levels of the network has been improved significantly -- there were likely bugs in previous versions.

Minor Changes

  • Net State Display -- The current value of variables such as epoch, trial, sse, trial_name, etc are now displayed above the network view rather than an in the network view itself. The "Net Text" checkbox in the Net View control (middle panel) still controls whether the values are displayed. And now you can easily choose the variables you want displayed -- use the "Net State Values" tab in the Net View control panel to choose the variables you want displayed and to set the width of the field.
  • Network Monitor -- The Network now has a dedicated Monitor object. Any built-in or computed variables added to this monitor are displayable above the Net View display along with the standard network variables.
  • Leabra changes:
    • A new form of adaptation has been introduced, replacing the previous version from AdEx -- this new version is based on sodium-activated potassium (K_Na) channels that have multiple time constants and are argued to be the main form of adaptation present in cortex.
    • The rate-code equivalent of spiking activation (act_eq) is now computed by averaging spiking intervals, producing a much more accurate online measure. 8.5.2 fixes a bug with this -- wasn't waiting for 2nd spike at start to get an accurate isi.
    • wt_bal weight balance dynamics have been updated with a new parameter that excludes the lowest weights -- works better.
    • Noisy XX1 rate-code activation function now uses a computed function instead of a lookup table -- and new vm_act_thr param removes small oscillations when activation goes back down after unit has been active.
    • Various tau time constants tested and comments updated with cases when they can be lengthened to deal with oscillations -- in particular LeabraLayerSpec inhib.fb_tau can be lengthened to 3.0 instead of 1.4 if there are oscillations with stronger inhibition cases.
  • The Constraint Satisfaction (Cs) and Self Organizing (So) specific algorithms have not yet been ported over to the new State Separation framework, and are thus not currently available. Use the emergent7 7.1 LTS support for running these projects in the meantime.
  • Mac updated to use HomeBrew for installing most dependencies, and using latest Qt LTS version (5.9.3), but with WebKit from https://github.com/annulen/webkit instead of the default WebEngine due to a bug on crashing with the latter. This means you need to use webkit arg to configure script when building -- see Build Mac.
  • Misc gui changes:
    • Edit Dialogs use smaller fixed-width fields for entering float and int numbers -- default width configurable in expert Preferences.
    • Duplicating multiple items now keeps them in order
    • Selecting different tabs in the Editor no longer scrolls the Navigator to show that selection (items are still selected in the navigator)
    • Added precision option for unit text in NetView -- default is 2 -- allows values to be visible in larger networks
    • Visualizer tabs have a fix_name option and menu options to update for all tabs -- keeps a constant name instead of always updating to object name -- useful for e.g., textbook sims that refer to specific tabs.

Significant Bug Fixes

  • Strange crashing bug in DataTable Sort function fixed.
  • Major speedup in gui while Programs are running: a Qt timer call was eating huge amounts of time -- switched to much faster timer call.
  • Keyboard shortcuts changed by the user were not getting saved across sessions, now fixed.
  • Crash in css function calls taking const char* args from String fixed
  • 8.5.1 fixes: DataTable Sort() function fixed -- was crashing. weird. DoGRegionSpec fix for mono, to have prior behavior. Mac QWebView fixed in Qt package,
  • 8.5.2 fixes, mainly allow Wizard loading of Std Projects to work properly:
  • loading of files that refer to e.g., Network_0 will find Network_2 etc
  • fix duplicate creation of template objects for programming toolbar (was creating a new Network etc for each Project)
  • default name of objects subtracts extant instance, template objects, so first obj should be e.g., Network_0
  • completer and NetStateText fixes