[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pdp++ 3.0 beta
The beta version of pdp++ version 3.0 is now available for download
from the following ftp site:
ftp://grey.colorado.edu/pub/oreilly/pdp++
pdp++_3.0b_src.tar.gz and iv-15.tar.gz are the main source code files,
and there are binary executable tar files for LINUX (CYGWIN should be
forthcoming relatively soon). If anyone has a chance to try it out
over the next couple of weeks or so, any bug reports would be
appreciated before the official 3.0 release. We've done a fair amount
of testing in my lab here, so it should be pretty solid.. Attached
below is the NEWS file describing updates. See the ChangeLog in the
src tar for all the gory details.
- Randy
This file contains a summary of important changes from the previous
release of PDP++. See the ChangeLog file for a comprehensive, though
less comprehensible, list.
===========================================
Release 3.0
===========================================
IMPORTANT NOTE FOR EXISTING PROJECTS:
- If you have a stopping criterion set on a MonitorStat (e.g.,
stopping when MAX activation exceeds some threshold in the output
layer), then this stopping criterion will be lost when you load the
project. If you look in the spew of messages generated during the
load process, you'll see a message like this:
*** Member: mon not found in type: MonitorStat (this is likely just
harmless version skew)
<<err_skp ->>{name="max_act_Output": disp_opts=" ": is_string=false:
vec_n=0: val=0: str_val="": stopcrit={flag=true: rel=GREATERTHAN:
val=.5: cnt=1: n_met=0: }: };<<- err_skp>>
Just get the stopcrit value (val=.5 in this example) and
relationship (GREATERTHAN) from this and enter it into the first
element in the mon_vals list in the appropriate MonitorStat in the
opened project to restore function (or replace this stat entirely
with a new ActThreshRTStat).
- GraphLog FIXED ranges will be lost upon loading: there is now a
fix_min and fix_max flag inline with the ranges that will need to be
clicked as appropriate (the range values are preserved, just the
flag to fix them is missing). Look for FIXED messages in the spew
as per above.
- SelectEdit (.edits) labels will be lost upon loading, and can be
recovered in the same manner as above.
- NetView Layer fonts will be smaller than before -- use
View:Actions/Set Layer Font to set a larger font. The new default
for new views is 18 point.
- For your additional C++ code: El() function on Lists/Groups/Arrays
renamed to SafeEl() to better reflect its function (index range
checking), and [] operator changed to FastEl() (no index range
checking) instead of SafeEl(), to better reflect typical usage.
- Error functions in BP: if you've written your own, see comments in
ChangeLog (search for date 2002-09-13).
NEW FEATURES:
- Wizard that automates the construction of simulation objects:
creates commonly-used configurations of neworks, environments,
processes, stats and logs.
- Distributed-memory parallel processing via MPI (instead of pthread):
DMEM can be much more efficient than pthread, and is much more
flexible in that it works in both shared and distributed memory
architectures. Support for distributing computation across both
connections and across events is provided, by setting the number of
processors in the Network and the EpochProcess. In both cases, each
processor runs everything redundantly except for a subset of events
or connections -- this makes for relatively little extra code
required to support dmem -- connections/events are divided across
processes, and results are synchronized to keep everything consistent.
- Additional analysis functions: PCA (principal components analysis)
and MDS (multidimensional scaling), and Cluster Plot efficiency
vastly improved to handle large data sets. Also added processes for
automatically computing these functions over hidden layers, etc.
Other new analysis routines include automatic generation of
statistics on environment frequencies -- useful for validating
environments.
- Much improved GraphLog, focusing on discriminating overlapping line
traces (repeated passes through the same set of X axis values --
eg. multiple settles of a network, multiple training runs, etc).
Traces can be color-coded (line_type = TRACE_COLORS), incremented
(producing a 3D-like effect) via trace_incr, and stacked (vertical =
STACK_TRACES). A spike-raster-like plot, or even a continuous
color-coded version, can be achieved by not displaying any vertical
axis values at all (vertical = NO_VERTICAL) and using either
VALUE_COLORS (continuous color-coded) or THRESH_POINTS (thresholded
spike raster). Also, columns of data can be plotted row-wise
instead (e.g., for monitored activations, or COPY aggregators), and
the view_bufsz value is now actually respected, so you can scroll
through large amounts of data instead of seeing it all.
- Log displays are now much more robust when you add or remove data to
be logged -- you should now spend much less time reconfiguring the
log views.
- Color-coded edit dialogs and view window backdrops based on an enhanced
(and customizable) Project view color scheme.
- Ability to save view displays to a JPEG or TIFF file (in addition to
existing Postscript), including automatic saving at each update for
constructing animations.
- Automatic SimLog creation whenever project is saved -- helps you
keep track of what each project is.
- Support for g++ 3.x compilers (default for CYGWIN, DARWIN), and zlib
now used instead of forking to call gzip for loading/saving
compressed files: should be much faster and more reliable under
CYGWIN (MS Windows). Check your Makefile.in for $(X11_LIB) instead
of -lX11 if you get link errors involving zlib or jpeg lib calls.
- Added new algorithm: Long Short Term Memory (Hochreiter, Schmidhuber
et al) implemented as lstm++. This works really well on sequential
learning problems in general.
- Numerous small processes and statistics to facilitate auotomation of
common tasks. Also, a better interface for interactive environments
where subsequent events depend on current network outputs (see
demo/leabra/nav.proj.gz for an example).
- Mersenne Twister random number generator now used for all random
number calls (by Makoto Matsumoto and Takuji Nishimura,
http://www.math.keio.ac.jp/~matumoto/emt.html)
- Easier access to view configuration variables through view menu
functions; support for window manager close button; SelectEdit can
include Methods (Functions) in addition to member data; Net log view
usability considerably improved; Added buttons for graphing
activation functions, etc on relevant specs.