[SciPy-user] Memory error loading .mat file
Robin
robince at gmail.com
Tue Feb 12 10:56:28 EST 2008
Hello,
I am having trouble loading a matlab file with latest SVN's on
Windows. The matlab file is about 350MB on disk. The machine has 2gb
of ram. The same code loads the file OK on a mac os x system (same
scipy version) with 2gb ram and also on a ubuntu 64 bit linux system.
Is this a bug, or do I just need more RAM on windows? Is there
anything I can do to get the data to load.
Thanks,
Robin
-----
In [1]: numpy.__version__
Out[1]: '1.0.5.dev4788'
In [2]: scipy.__version__
Out[2]: '0.7.0.dev3920'
In [6]: d = ds.LudtkeData()
---------------------------------------------------------------------------
<type 'exceptions.MemoryError'> Traceback (most recent call last)
C:\phd\maxent\python\<ipython console> in <module>()
C:\phd\maxent\python\datasource.py in __init__(self, feature)
34 Load data, with selected output feature"""
35 data = sio.loadmat(
---> 36 '..\ludtke_data\parameters.mat')
37 # skip first 2 blank variables
38 self.input = data['param'][2:,:]
C:\Python25\Lib\site-packages\scipy\io\matlab\mio.py in loadmat(file_name, mdict
, appendmat, basename, **kwargs)
94 '''
95 MR = mat_reader_factory(file_name, appendmat, **kwargs)
---> 96 matfile_dict = MR.get_variables()
97 if mdict is not None:
98 mdict.update(matfile_dict)
C:\Python25\Lib\site-packages\scipy\io\matlab\miobase.py in get_variables(self,
variable_names)
268 mdict['__globals__'] = []
269 while not self.end_of_stream():
--> 270 getter = self.matrix_getter_factory()
271 name = getter.name
272 if variable_names and name not in variable_names:
C:\Python25\Lib\site-packages\scipy\io\matlab\mio5.py in matrix_getter_factory(s
elf)
531
532 def matrix_getter_factory(self):
--> 533 return self._array_reader.matrix_getter_factory()
534
535 def guess_byte_order(self):
C:\Python25\Lib\site-packages\scipy\io\matlab\mio5.py in matrix_getter_factory(s
elf)
238 next_pos = self.mat_stream.tell() + byte_count
239 if mdtype == miCOMPRESSED:
--> 240 getter = Mat5ZArrayReader(self, byte_count).matrix_getter_fa
ctory()
241 elif not mdtype == miMATRIX:
242 raise TypeError, \
C:\Python25\Lib\site-packages\scipy\io\matlab\mio5.py in __init__(self, array_re
ader, byte_count)
290 data = array_reader.mat_stream.read(byte_count)
291 super(Mat5ZArrayReader, self).__init__(
--> 292 StringIO(zlib.decompress(data)),
293 array_reader.dtypes,
294 array_reader.processor_func,
<type 'exceptions.MemoryError'>:
In [7]:
More information about the SciPy-User
mailing list