[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