[Eeglablist] Troubleshooting with AMICA

Jason Palmer japalmer29 at gmail.com
Tue Aug 6 04:02:02 PDT 2013


Hi Jake,

 

Sorry I seem to have missed this question (the word AMICA at the end was
hidden in the short subject listing).

 

On the Mac, it seems to be finding the data file okay, but there is a
discrepancy between the actual file size and the number of time points you
are giving it. Are you sure the data size is 128 x 459165?  The error you
are getting arises when you specify more frames / time points than are
actually in the file and it tries to read past the end of file.

 

I assume it's not a floating point precision vs. double issue (data should
be in float by default) as it looks like you are using floatwrite in the
scripts to create tmpdata.fdt.

 

Have you tried it and gotten the same error with the sample datafiles, or
another (smaller) dataset?

 

If the data size is correct, the only other possibilities I can think of
are:

1)      The "byte_size" or word size is different on that mac from most
macs. The default on mac and win is 4, but on linux clusters it is 1.
Actually I think amica actually tries to set this automatically now by
writing and reading a word, so this is unlikely to be the cause. Also I
think the automatic procedure supercedes any attempt to manually set
byte_size.

2)      There is an issue with RAM or stack size, or a hardware issue with
the disk . also unlikely I would think.

 

Hopefully the problem will be more apparent to you when you consider that
the data length is not being set correctly .

 

Let me know if you are still unable to resolve it.

 

Best,

Jason

 

 

 

From: eeglablist-bounces at sccn.ucsd.edu
[mailto:eeglablist-bounces at sccn.ucsd.edu] On Behalf Of Jacob Anderson
Sent: Wednesday, July 03, 2013 2:45 PM
To: eeglablist at sccn.ucsd.edu
Subject: Re: [Eeglablist] Troubleshooting with AMICA

 

Dear List,

I found success in running AMICA within MATLAB and at the prompt after
loading the scripts and binary onto a linux machine. Initially, I got a
similar error message to the one in my initial list email. Going off of a
friend's suggestion that there might be something up with permissions
(thanks Scott Burwell!!!), I gave the 'amica12' binary file  full -rwx
permissions. After a MATLAB restart, I tried running runamica12.m again and
it worked! 

 

I went back to the original Mac computer, and modified the permissions for
the mac64 binary. However, I'm still not able to run the scripts, and I get
the same error. I'm going to experiment more at another time, but perhaps
there's an additional permission setting I could change to make it work. 

 

That's what I know at this point.

Cheers,

Jake

 

 

On Thu, Jun 27, 2013 at 12:00 PM, Jacob Anderson <jea at umn.edu> wrote:

Dear List,

I'm trying AMICA out for the first time, and I'm running into some problems.
After downloading the mac64 binary and MATLAB functions from Jason's
website, I tried passing a continuous, 128-channel dataset through the
algorithm and got the error below. It looks like there is a Fortran error
message that pops up from a failure to run the 'amica12mac64' binary.  

 

I'm currently using EEGLAB 12.0.2.1b within Matlab 2013a on OSX (10.8.4).
I've tried using both the GUI and command line methods to see if they work,
both fail. The GUI just hangs, but I do get an error at the command line
referencing that it can't access the "libiomp5.dylib" library. Perhaps this
library changed in the recent releases of OSX. I did a quick google search,
and it looks like this library has something to do with Fortran and Intel,
which corroborates the error message below. The
http://sccn.ucsd.edu/wiki/Amica_Download page mentions moving this library
into the directory the binary is run from, but I can't find the library for
some reason.

 

I'm going to find a Win7 machine to try these scripts on this afternoon, but
I wanted to drop a note here to see if anyone else may have run into this
same issue.  

 

Thanks,

Jake

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

/bin/sh: qconf: command not found

/bin/sh: qconf: command not found

/bin/sh: qconf: command not found

No recognized parallel environment found. Run qconf -spl to get a list of
available environments and use keyword use_pe.

Running locally with maximum of 4 threads.

Writing data file: /Users/ande2523/Documents/MATLAB/amica/tmpdata12699.fdt

mkdir: /Users/ande2523/Documents/MATLAB/amica/amicaouttmp/: File exists

           1 processor name = 

           1 host_num =   1917549169

 This is MPI process           1 of           1 ; I am process           1
of

           1 on node: xxxxx

           1  : node root process           1 of           1

Processing arguments ...

 num_files =            1

 FILES: 

 /Users/ande2523/Documents/MATLAB/amica/tmpdata12699.fdt

 num_dir_files =            1

 matrix block_size =          256

 number of models =            1

 number of density mixture components =            3

 pdf type =            0

 max_iter =         2000

 num_samples =            1

 data_dim =          128

 field_dim =       459165

 do_history =            0

 histstep =           10

 share_comps =            0

 share_start =          100

 comp_thresh =   0.990000000000000     

 share_int =          100

 initial lrate =   5.000000000000000E-002

 minimum lrate =   1.000000000000000E-008

 lrate factor =   0.500000000000000     

 initial rholrate =   5.000000000000000E-002

 rho0 =    1.50000000000000     

 min rho =    1.00000000000000     

 max rho =    2.00000000000000     

 rho lrate factor =   0.500000000000000     

 kurt_start =            3

 num kurt =            5

 kurt interval =            1

 do_newton =            1

 newt_start =           50

 newt_ramp =           10

 initial newton lrate =    1.00000000000000     

 do_reject =            0

 num reject =            3

 reject sigma =    3.00000000000000     

 reject start =            2

 reject interval =            3

 max_thrds =            2

 write step =           10

 write_nd =            0

 write_LLt =            1

 dec window =            1

 max_decs =            3

 fix_init =            0

 update_A =            1

 update_c =            1

 update_gm =            1

 update_alpha =            1

 update_mu =            1

 update_beta =            1

 invsigmax =    100.000000000000     

 invsigmin =   0.000000000000000E+000

 do_rho =            1

 load_rej =            0

 load_c =            0

 load_gm =            0

 load_alpha =            0

 load_mu =            0

 load_beta =            0

 load_rho =            0

 load_comp_list =            0

 do_mean =            1

 do_sphere =            1

 doPCA =            1

 pcakeep =          128

 pcadb =    30.0000000000000     

 byte_size =            4

 doscaling =            1

 scalestep =            1

mkdir: /Users/ande2523/Documents/MATLAB/amica/amicaouttmp/: File exists

 output directory = /Users/ande2523/Documents/MATLAB/amica/amicaouttmp/

           1 : setting num_thrds to            2  ...

           1 : using           2 threads.

           1 : node_thrds =            2

 getting segment list ...

 blocks in sample =       459165

 total blocks =       459165

 node blocks =       459165

 node            1  start: file            1  sample            1  index 

           1

 node            1  stop : file            1  sample            1  index 

      459165

forrtl: severe (36): attempt to access non-existent record, unit 8, file
/Users/ande2523/Documents/MATLAB/amica/tmpdata12699.fdt

Image              PC        Routine            Line        Source


amica12mac64       0039A6C8  Unknown               Unknown  Unknown

amica12mac64       003990A9  Unknown               Unknown  Unknown

amica12mac64       0037099F  Unknown               Unknown  Unknown

amica12mac64       00336294  Unknown               Unknown  Unknown

amica12mac64       00335967  Unknown               Unknown  Unknown

amica12mac64       0034CB44  Unknown               Unknown  Unknown

amica12mac64       0034B413  Unknown               Unknown  Unknown

amica12mac64       00229E34  Unknown               Unknown  Unknown

amica12mac64       001FC4D2  Unknown               Unknown  Unknown

amica12mac64       0000218D  Unknown               Unknown  Unknown

amica12mac64       00002145  Unknown               Unknown  Unknown

Unknown            00000002  Unknown               Unknown  Unknown

No gm present, setting num_models to 1

No W present, exiting

Reference to non-existent field 'W'.

 

Error in runamica12 (line 854)

    weights = mods.W(:,:,1);

 

Error in amica_test (line 3)

[ EEG.icaweights, EEG.icasphere, mods ] = runamica12(EEG.data(:,:));

 

 

 

 

 

 

-- 

*************************************************
Jacob E. Anderson, MA
Doctoral Student
Institute of Child Development
51 East River Rd.
Minneapolis, MN  55455

E-mail: jea at umn.edu
Web: Click Here
<http://www.cehd.umn.edu/icd/people/gradstudents/andersonJ.html> 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://sccn.ucsd.edu/pipermail/eeglablist/attachments/20130806/42787dc1/attachment.html>


More information about the eeglablist mailing list