Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

151
Vistas
¿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
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda