Hello,
We ran CellProfiler 2.1.1 in batch mode (using generated in GUI mode, Batch_data.h5 file) on a Linux (CentOS 6.5) machine with more than 220 GB of RAM. Below is the error log we see after 128m 54.783s.
CellProfiler: Version: 2014-11-04T15:34:33 2.1.1 / 20141104153433
Operating system: CentOS release 6.5 (Final); Linux bc112 2.6.32-431.29.2.el6.x86_64 #1 SMP Tue Sep 9 21:36:05 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
===== Error Log ====
Running job cp on bc112
time /projects/mikem/cellprofiler/bin/python /projects/mikem/cellprofiler/src/CellProfiler/CellProfiler.py --jvm-heap-size=4g -p /projects/mikem/test1/output/Batch_data.h5 -c -r -f 1 -l 1
Version: 2014-11-04T15:34:33 2.1.1 / 20141104153433
Could not load cellprofiler.modules.ilastik_pixel_classification
Traceback (most recent call last):
File “/projects/mikem/cellprofiler/src/CellProfiler/cellprofiler/modules/init.py”, line 301, in add_module
m = import(mod, globals(), locals(), ‘all’], 0)
ImportError: No module named ilastik_pixel_classification
could not load these modules: cellprofiler.modules.ilastik_pixel_classification
Times reported are CPU times for each module, not wall-clock time
Thu May 14 15:36:48 2015: Image # 1, module LoadImages # 1: 86.34 sec
Thu May 14 15:37:40 2015: Image # 1, module IdentifyPrimaryObjects # 2: 6067.58 sec
Error detected during run of module IdentifySecondaryObjects
Traceback (most recent call last):
File “/projects/mikem/cellprofiler/src/CellProfiler/cellprofiler/pipeline.py”, line 1799, in run_with_yield
module.run(workspace)
File “/projects/mikem/cellprofiler/src/CellProfiler/cellprofiler/modules/identifysecondaryobjects.py”, line 683, in run
objects.relate_children(objects_out)
File “/projects/mikem/cellprofiler/src/CellProfiler/cellprofiler/objects.py”, line 413, in relate_children
histogram = self.histogram_from_labels(self.segmented, children.segmented)
File “/projects/mikem/cellprofiler/src/CellProfiler/cellprofiler/objects.py”, line 480, in histogram_from_labels
shape=(parent_count + 1, child_count + 1)).toarray()
File “/projects/mikem/cellprofiler/lib/python2.7/site-packages/scipy/sparse/coo.py”, line 239, in toarray
B = self._process_toarray_args(order, out)
File “/projects/mikem/cellprofiler/lib/python2.7/site-packages/scipy/sparse/base.py”, line 699, in _process_toarray_args
return np.zeros(self.shape, dtype=self.dtype, order=order)
MemoryError
Thu May 14 17:18:39 2015: Image # 1, module IdentifySecondaryObjects # 3: 1607.79 sec
Exiting the JVM monitor thread
real 128m54.783s
user 95m51.086s
sys 33m38.668s
Note, we have reserved/allocated 220 GB for this run (see cp_run.sh job submission script below in the P.S. section).
Your any feedback at your earliest convenience is greatly appreciated.
P.S.:
=== cp_run.sh ===
# -cwd
# -S /bin/sh
# -l h_rt=400:00:00
# -j y
# -N cp
# -pe thread 1
# -l bigbox
# -l h_vmem=220G
echo “Running job $JOB_NAME on $HOSTNAME”
base=/projects/mikem
prefix=$base/cellprofiler
export LD_LIBRARY_PATH=$prefix/jdk/jre/lib/amd64/server
export LD_LIBRARY_PATH=$prefix/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$prefix/lib/wxPython-2.8.11.0-gtk2-unicode/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$base/usr/lib64:$LD_LIBRARY_PATH
export PATH=$prefix/bin:$prefix/jdk/bin:$PATH
APP="$prefix/bin/python $prefix/src/CellProfiler/CellProfiler.py"
DOF=$base/test1/output
echo “time $APP --jvm-heap-size=4g -p $DOF/Batch_data.h5 -c -r -f 1 -l 1”
time $APP --jvm-heap-size=4g -p $DOF/Batch_data.h5 -c -r -f 1 -l 1