Grundsätzlich bekomme ich einen Speicherfehler in Python beim Versuch, eine algebraische Operation auf einer numpy Matrix durchzuführen. Die Variable u
, ist eine große Matrix von Double (im Fehlerfall ist es eine 288x288x156 Matrix von Doppel. Ich bekomme nur diesen Fehler in diesem großen Fall, aber ich bin in der Lage, dies auf anderen großen Matrizen zu tun, nur nicht so groß). Hier ist die Python-Fehler:Python/Numpy MemoryError
Traceback (most recent call last):
File "S:\3D_Simulation_Data\Patient SPM Segmentation\20 pc
t perim erosion flattop\SwSim.py", line 121, in __init__
self.mainSimLoop()
File "S:\3D_Simulation_Data\Patient SPM Segmentation\20 pc
t perim erosion flattop\SwSim.py", line 309, in mainSimLoop
u = solver.solve_cg(u,b,tensors,param,fdHold,resid) # Solve the left hand si
de of the equation Au=b with conjugate gradient method to approximate u
File "S:\3D_Simulation_Data\Patient SPM Segmentation\20 pc
t perim erosion flattop\conjugate_getb.py", line 47, in solv
e_cg
u = u + alpha*p
MemoryError
u = u + alpha*p
ist die Codezeile, die fehlschlägt.
alpha
ist nur ein Doppel, während u
und r
sind die großen Matrizen oben beschrieben (beide von der gleichen Größe).
Ich weiß nicht viel über Speicherfehler besonders in Python. Irgendwelche Einblicke/Tipps zur Lösung dieses Problems wären sehr willkommen!
Dank
Dies ist sehr hilfreich, ich wusste das nicht. – tylerthemiler