기본적으로 numpy 행렬에서 대수 연산을 수행하려고하면 파이썬에서 메모리 오류가 발생합니다. 변수 u
은 두 배의 큰 매트릭스입니다 (실패한 경우 288x288x156 매트릭스의 두 배입니다.이 큰 경우에만이 오류가 발생하지만 다른 큰 행렬에서는이 오류를 만날 수 있습니다.) 여기 파이썬 오류는 다음과 같습니다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
실패 코드의 라인입니다.
alpha
은 단지 두 배이며, u
과 r
은 위에 설명 된 큰 매트릭스입니다 (둘 다 같은 크기 임).
특히 파이썬에서 메모리 오류에 대해 많이 알지 못합니다. 이것에 대한 통찰력/팁은 매우 높이 평가 될 것입니다!
감사
이것은 매우 도움이됩니다. – tylerthemiler