loop_stats
of the process you wish to stop. So, if you wan to
stop training, look in the TrainProcess (see section 12.4.2 Iterating over Epochs: TrainProcess)
for the statistic.
unix > pdp++ -nogui -f startup.css <myproj> <extra args> &where `pdp++' refers to the PDP++ executable you are using (bp++, cs++, etc), and
-nogui
tells it to not open up the graphical user
interface, and -f startup.css
is a script file that will automate
the process of loading the project and running it. For more information
on different startup arguments for PDP++, see section 9.3 Startup Arguments to PDP++. Also,
check out the comments at the top of `startup.css' (located in the
`css/include' directory) to see what kinds of assumptions it makes
about your project. Also see section 9.6 Project Scripts for more useful scripts
that you can use. See section 9.4 Signals to Control a PDP++ Process for information on how to
control the process once it is running in the background.
loop_procs
group of an appropriate Batch or Train process. This
process names the network with the name field of the network object plus
the current epoch and, if present, batch counters. You can set the mod
value of this process to save the networks at different intervals. An
example project using this is `demo/bp/gridsearch_xor.proj.gz'.
There is a CSS script version of this process called
`save_networks.css' in the `css/include' directory, as well as
a modified version that saves networks that get below some criterion
(which is presumably higher than the stopping criterion), called
`save_good_nets.css'. These scripts are meant to be attached to
ScriptProcess objects created in the loop_procs
group of an
appropriate Batch or Train process. They basically just issue a save
command on the network, but they also give the network a name based on
the current epoch and/or batch counters. See these scripts for more
detailed documentation.
environment
and network
pointers are automatically
inherited from the parent process in the hierarchy (this is true for
stats and other process objects hanging off of a given process as well).
This means that you can only change these at the top-level process in a
given hierarchy. On the other hand, it means that when you want to
change these pointers, you only have to change them in one place and
they are automatically propagated to all processes (see section 12.1 The Basic Features of all Processes).
name
field, which is what
determines the label used by the log. However, as it appears on most
stats (e.g., SE_Stat), the name
field is hidden, so you have to
use the CSS script to set it. Typing:
css> .processes[1].loop_stats[0].se.Edit();will pull up an editor for the epoch level SE_Stat StatVal (which is the member
se
of an SE_Stat) in the `demo/bp/xor.proj.gz' demo,
and allow you to edit the name. Alternatively you can use
PDP++Root/Object/Browe and click your way through the process
hierarchy until you get to the variable you want to change, and then hit
Select to edit it. You will have to do a GetHeaders
on the
log to see this new name. Other stats like ScriptStat have a list of
StatVals, which, when edited, allow you to edit the names directly.
An easier alternative is to simply change the display_name
of the
ViewSpec in the relevant log. However, this will not survive a call
to GetHeaders
, nor will it show up in the log file saved to disk.
loop_procs
of the training process. You should set the modulo
factor (in the mod
field of the process) of your testing epoch
process to reflect the frequency with which you want to perform testing.
See `demo/bp_misc/bp_xval.proj.gz' for a demonstration of a
cross-validation training setup.
final_stats
of your training epoch process (i.e., make an
SE_Stat there, set its time_agg.from
to point to your test
epoch SE_Stat, use the LAST
operator). You will want to
create aggregates of this stat (which is itself an aggregator) using
LAST
, and set the stopping criterion in the aggregator of this
stat in the loop_stats of the train process. The project
`demo/bp_misc/bp_dig_xval.proj.gz' contains an example of this.