numpy 배열의 Python 메모리 사용량

| | | |

저는 python을 사용하여 일부 대용량 파일을 분석하고 있으며 메모리 문제가 발생하고 있으므로 sys.getsizeof()를 사용하여 사용량을 추적하고 있지만 numpy 배열의 동작을 추적하고 있습니다. 이상하다. 다음은 내가 열어야 하는 알베도 지도와 관련된 예입니다.

>>> numpy를 np로 가져오기 >>> 가져오기 구조체 >>> from sys import getsizeof >>> f = open("Albedo_map.assoc", "rb") >>> getsizeof(f) 144 >>> 알베도 = struct.unpack("%df" % (7200*3600), f.read(7200*3600*4)) >>> getsizeof(albedo) 207360056 >>> 알베도 = np.array(알베도).reshape(3600,7200) >>> getsizeof(albedo) 80 

데이터는 여전히 존재하지만 객체의 크기인 3600x7200픽셀 맵은 ~200Mb에서 80바이트로 늘어났습니다. 내 기억 문제가 끝나고 모든 것을 numpy 배열로 변환하기를 희망하지만, 이 동작이 사실이라면 어떤 식으로든 정보 이론이나 열역학 또는 그 밖의 법칙을 위반할 것이라고 생각합니다. 그래서 저는 그렇게 믿고 싶습니다. getsizeof()는 numpy 배열에서 작동하지 않습니다. 어떤 아이디어가 있습니까?

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method