[Numpy-discussion] pickling ufuncs?
eric jones
eric at enthought.com
Mon Feb 12 00:19:52 EST 2007
I recently noticed that we can't pickle ufuncs (like sin, ...). Is
there any technical reason this doesn't work, or is it in the category
of 'just needs to be done...'
FYI, I noticed that it didn't work on the old Numeric either.
thanks,
eric
Python 2.4.3 - Enthought Edition 1.0.0 (#69, Aug 2 2006, 12:09:59) [MSC
v.1310
32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pickle
>>> import numpy
>>> import math
>>> pickle.dumps(numpy.arange)
'cnumpy.core.multiarray\narange\np0\n.'
>>> pickle.dumps(math.sin)
'cmath\nsin\np0\n.'
>>> pickle.dumps(numpy.sin)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "C:\Python24\lib\pickle.py", line 1386, in dumps
Pickler(file, protocol, bin).dump(obj)
File "C:\Python24\lib\pickle.py", line 231, in dump
self.save(obj)
File "C:\Python24\lib\pickle.py", line 313, in save
rv = reduce(self.proto)
File "C:\Python24\lib\copy_reg.py", line 69, in _reduce_ex
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle ufunc objects
>>>
More information about the NumPy-Discussion
mailing list