[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bp++ Seg Fault
"Hans J. Johnson" <hans-johnson@uiowa.edu> writes:
> I am running redhat 8.0, and I would really like to use PDP++ again.
> When you plan to have GCC3.2 compatibility completed?
Note that the 3.0b release I just announce compiles under 3.2.
> 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.
sounds like a cool application -- let me know if it works as some of
my colleagues might be interested..
> 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.
I'm pretty sure that this should be fixed in 3.0b -- sounds like a
display problem in the enviro-view, and I fixed a few of those. If
you could give this a try with 3.0b, that would be great.
btw, you can just put your commands in a file and do:
bp++ -i -f command_file.css
- Randy
> -------------------
> 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.