| logfile='', mode='w', top=10) |
'w' for overwriting or 'a' for appending).
If unspecified, logfile defaults to the base script name (i.e. the content of sys.argv[0] without the final .py) with a .log-psyco extension appened.
See below for the meaning of top.
A log file has the structure outlined in the following example (from test/bpnn.py):
11:33:53.19 Logging started, 12/22/02 %%%%%%%%%%%%%%%%%%%%
11:33:53.29 ActivePassiveProfiler: starting %%%%%
11:33:53.40 ______
#1 |95.1 %| active_start ...psyco\profiler.py:258
#2 | 0.9 %| ? ...\lib\traceback.py:1
#3 | 0.8 %| ? bpnn.py:8
#4 | 0.7 %| time bpnn.py:22
#5 | 0.4 %| seed ...222\lib\random.py:140
#6 | 0.3 %| ? ...\lib\linecache.py:6
#7 | 0.3 %| write ...s\psyco\logger.py:22
#8 | 0.3 %| __init__ bpnn.py:48
#9 | 0.2 %| go ...psyco\profiler.py:31
11:33:53.62 tag function: backPropagate %
11:33:53.62 tag function: update %
11:33:53.67 tag function: train %
11:33:54.12 ______
#1 |58.4 %| active_start ...psyco\profiler.py:258
#2 | 2.5 %| random ...222\lib\random.py:168
#3 | 2.1 %| __init__ bpnn.py:48
#4 | 2.1 %| demo bpnn.py:167
#5 | 2.0 %| dumpcharges ...s\psyco\logger.py:56
#6 | 1.2 %| do_profile ...psyco\profiler.py:299
#7 | 1.2 %| rand bpnn.py:36
#8 | 0.9 %| makeMatrix bpnn.py:40
#9 | 0.8 %| time bpnn.py:22
#10 | 0.6 %| ? bpnn.py:8
(...cut...)
11:33:55.50 ______
#1 |42.5 %| active_start ...psyco\profiler.py:258
#2 | 8.3 %| random ...222\lib\random.py:168
#3 | 6.7 %| dumpcharges ...s\psyco\logger.py:56
#4 | 6.6 %| __init__ bpnn.py:48
#5 | 4.0 %| rand bpnn.py:36
#6 | 3.4 %| demo bpnn.py:167
#7 | 2.9 %| makeMatrix bpnn.py:40
#8 | 2.3 %| do_profile ...psyco\profiler.py:299
#9 | 1.3 %| time bpnn.py:22
#10 | 1.0 %| test bpnn.py:140
11:33:55.50 tag function: random %
11:33:55.94 memory usage: 220+ kb %
11:33:55.94 program exit, 12/22/02 %%%%%%%%%%%%%%%%%%%%
The first column is a time (hours, minutes, seconds, hundredths). Most lines end in a number of percent signs; the more percent signs, the more important the line is, so that you can for example do a "grep %%% bpnn.log-psyco" to see the lines of importance 3 or more. As an exception, lines produced by the Psyco C core (as opposed to the Python glue, e.g. the profiler logic) end in "% %" (percent, space, percent).
The most common lines you will find in logs are:
+ sign is supposed to remind you that this figure is highly underestimated). Use this info to tune the memory limits (section 3.2.2).
** argument. This is a limitation of Psyco; try to avoid ** arguments (or write to me and insist on this feature).