Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

152
Views
¿Fuga de memoria NumPy en np.ones?

Uno de mis alumnos me mostró el siguiente caso de prueba que muestra una aparente pérdida de memoria en NumPy. Me pregunto si el generador de perfiles de memoria es correcto aquí o qué está pasando. Aquí está el caso de prueba:

 from memory_profiler import profile import numpy as np import gc @profile def test(): arr = np.ones((10000, 6912)) for i in range(2000): arr[0:75,:] = np.ones((75, 6912)) del arr gc.collect() pass test()

Esto produce la siguiente salida:

 Filename: test.py Line # Mem usage Increment Occurences Line Contents ============================================================ 5 32.9 MiB 32.9 MiB 1 @profile 6 def test(): 7 560.3 MiB 527.4 MiB 1 arr = np.ones((10000, 6912)) 8 564.2 MiB 0.0 MiB 2001 for i in range(2000): 9 564.2 MiB 3.9 MiB 2000 arr[0:75,:] = np.ones((75, 6912)) 10 37.0 MiB -527.3 MiB 1 del arr 11 37.0 MiB -0.0 MiB 1 gc.collect() 12 37.0 MiB 0.0 MiB 1 pass

Parece que la línea con np.ones((75, 6912)) está perdiendo memoria lentamente (alrededor de 4 MB aquí). Si reemplazamos esta expresión con solo 1 , entonces la fuga aparente desaparece.

Probé esto en Python 3.8.10 y 3.9.5 con Numpy versiones 1.21.3 (más reciente al momento de escribir) y 1.20.3 y memory_profiler versión 0.58.0 (más reciente al momento de escribir). Mi sistema operativo es Ubuntu Linux 20.04 LTS; mi estudiante demostró esto en macOS (no estoy seguro de qué versión).

¿Qué está sucediendo?

over 4 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!