Fondamentalement, j'obtiens une erreur de mémoire en python lorsque j'essaie d'effectuer une opération algébrique sur une matrice numpy. La variable u
, est une grande matrice de double (dans le cas contraire c'est une matrice de doubles de 288x288x156.) Je n'obtiens cette erreur que dans ce cas, mais je suis capable de le faire sur d'autres grandes matrices. Voici l'erreur Python: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
est la ligne de code qui échoue.
alpha
est juste un double, tandis que u
et r
sont les grandes matrices décrites ci-dessus (les deux de la même taille).
Je ne sais pas grand-chose sur les erreurs de mémoire en particulier en Python. Toute idée/conseils pour résoudre ce problème serait très apprécié!
Merci
Ceci est très utile, je ne le savais pas. – tylerthemiler