_ Ticket original http://projects.scipy.org/numpy/ticket/1803 el 19-04-2011 por el usuario de trac meawoppl, asignado a unknown._
a = ceros ((300000, 1000))
f = abierto ("test.pkl", "w")
SystemError Traceback (última llamada más reciente)
/ inicio / kddcup / code / matt / svd-projection / take5 /
SystemError: retorno de error sin conjunto de excepciones
O usando la función .dump:
SystemError Traceback (última llamada más reciente)
/ inicio / kddcup / code / matt / svd-projection / take5 /
SystemError: resultado NULL sin error en PyObject_Call
No estoy seguro de si se trata de un error numpy o de Pickle / cPickle. En cualquier caso, un mensaje de error más instructivo sin duda ayudaría. Creo que el problema solo ocurre para matrices de más de 2 ** (32-1) bytes, pero tendría que experimentar más para estar seguro.
También me enfrento a este problema.
@zhlsk no intentó más ni investigó si hay una solución en Python, pero creo que esto no es un problema de número, sino de Python, ya que: cPickle.dump(a.tostring(), f)
también me falla igual y eso es solo un gran cadena entonces y no tiene nada que ver con numpy. Sin embargo, el uso de las funciones de guardado numpy no debería tener este tipo de problemas.
@seberg Gracias por tu respuesta. Tienes razón. Es un problema de Python: http://bugs.python.org/issue11564
En principio, probablemente podríamos solucionar el error de todos modos pasando grandes
matrices al pickler como una serie de objetos, cada uno de los cuales encaja en el
límites y reconstruir la matriz en el momento oportuno. Suena como el
el límite está en el tamaño de una matriz de un solo byte.
El 14 de diciembre de 2012 a las 22:11, "zhlsk" [email protected] escribió:
@seberg https://github.com/seberg Gracias por su respuesta. Tienes razón.
Es un problema de Python: http://bugs.python.org/issue11564-
Responda a este correo electrónico directamente o véalo en Gi
¿Algún progreso en esto? Parece que numpy.save
y numpy.savetxt
se ven afectados por este problema. ¿Alguna solución?
Es un error en Python, la solución es actualizar a una versión más nueva (se corrigió en Python 3.3), y la solución es seleccionar tu matriz en partes más pequeñas o usar algún otro formato de archivo que no sea Python pickles.
np.savetxt no se ve afectado por esto, y np.save solo se ve afectado por las matrices de objetos.
Clausura.
Recibo esto cuando trato de seleccionar una matriz dispersa de 11,314 x 8,463,980,778 con 352,451,719 elementos almacenados en formato scipy.sparse.csr_matrix. Versión de Python: Python 2.7.10 | Anaconda 2.3.0 (x86_64) | (predeterminado, 28 de mayo de 2015, 17:04:42)