[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bp++ Seg Fault
Randy,
BACKGROUND:
=====================================================================
I am running redhat 8.0, and I would really like to use PDP++ again.
When you plan to have GCC3.2 compatibility completed?
I am attempting to create an image processing segmentation algorithm to
automatically identify subcortical structures of the brain. We already
have an implementation that work pretty good, but we believe that we
have new design will make it even better.
There is a c++ program that takes in a training set of images, known
segmentations, and Talairach parameters and produces the pdp++ compliant
training vectors.
We are using pdp++ to process and diagnose the training of the neural
network. Finally, there is another program that reads in new images,
Talairach parameters, and the pdp++ defined network weight, and produces
the automatically defined segmentations.
PROBLEM:
=====================================================================
I am using the statically linked pdp++ executable bp++
(pdp++_2.2_bin_LINUXstat.tar.gz), but the commands at the end of the
e-mail causes a seg fault after about 30 minutes of processing (dual
1600MP athlons) while reading in the test patterns.
-------------------
The file training.pat is an ascii text file with 52900 lines, an will
eventually have about 5,000,000 lines for the final version.
Line 1 of the file is:
IMimage01_000000 0.00784314 0 0.176937 -0.171821 0.328938 0.079139
-0.198212 0.272541 -0.941506 0.286275 0.247059 0.243137 0.278431
0.333333 0.423529 0.486275 0.545098 0.635294 0.729412 0.764706 0.0820021
-0.239114 0.16738 -0.956456 0.0627451 0.0313726 0.027451 0.0627451
0.145098 0.286275 0.309804 0.313726 0.34902 0.439216 0.521569 0.0508671
-0.154189 0.346925 -0.925132 0.215686 0.254902 0.262745 0.215686
0.180392 0.211765 0.27451 0.34902 0.407843 0.458824 0.486275 0.116018
-0.202808 0.354914 -0.912636 0.0392157 0.0196078 0.0117647 0.0196078
0.0588235 0.145098 0.278431 0.407843 0.498039 0.564706 0.588235 0 0
-------------------
I run bp++ by starting
%bp++
The I paste in the following into the bP++> prompt:
.projects->New(1,Project);
.projects[0].networks->New(1, Network);
.projects[0].networks[0].layers->New(3, Layer);
.projects[0].networks[0].layers[0].geom = "{x=65: y=1: z=1: }";
.projects[0].networks[0].layers[0].UpdateAfterEdit();
.projects[0].networks[0].layers[1].geom = "{x=65: y=1: z=1: }";
.projects[0].networks[0].layers[1].UpdateAfterEdit();
.projects[0].networks[0].layers[2].geom = "{x=2: y=1: z=1: }";
.projects[0].networks[0].layers[2].UpdateAfterEdit();
.projects[0].networks[0].Build();
.projects[0].networks[0].layers[2].projections.New(1);
.projects[0].networks[0].layers[2].projections[0].from_type =
Projection::CUSTOM;
.projects[0].networks[0].layers[2].projections[0].from =
.projects[0].networks[0].layers[1];
.projects[0].networks[0].layers[1].projections.New(1);
.projects[0].networks[0].layers[1].projections[0].from_type =
Projection::CUSTOM;
.projects[0].networks[0].layers[1].projections[0].from =
.projects[0].networks[0].layers[0];
.projects[0].networks[0].Connect();
.projects[0].environments->New(1, Environment);
.projects[0].environments[0].event_specs->New(1, EventSpec);
.environments[0].views.Reset();
fstream strm;
strm.open("training.pat", ios::in);
.projects[0].environments[0].ReadText(strm,
.projects[0].environments[0].event_specs[0]);
print .projects[0].environments[0].events
----------------------------
when training.pat has only 50 lines, everything work great.
I was going to try the 3.0 version to see if this problem has already
been addressed.
---------------------------------------------
Any help would be greatly appreciated.
Regards,
Hans J. Johnson
hans-johnson@uiowa.edu
PS:
If I remove the .environments[0].views.Reset(); line, and start with
bp++ -nogui, then I do not get the seg fault, but then I also loose all
the nice logging and gui features that I am interested in using.