Articles of memoria de

¿Cómo hago un bucle a través de un gran conjunto de datos en python sin obtener un MemoryError?

Tengo una gran serie de conjuntos de datos de ttwig que representan la precipitación mensual durante varias décadas. He escrito un script en Python que recorre cada ráster y hace lo siguiente: Convierte el raster a una matriz enmascarada numpy, Realiza gran cantidad de álgebra de matrices para calcular un nuevo nivel de agua, Escribe […]

¿La liberación se maneja de manera diferente para arreglos de grandes y pequeños números?

Estoy intentando depurar un problema de memoria con mi gran aplicación Python. La mayoría de la memoria está en matrices numpy administradas por clases de Python, por lo que Heapy, etc., son inútiles, ya que no tienen en cuenta la memoria en las matrices numpy . Así que traté de rastrear manualmente el uso de […]

error de memoria en python

Traceback (most recent call last): File “/run-1341144766-1067082874/solution.py”, line 27, in main() File “/run-1341144766-1067082874/solution.py”, line 11, in main if len(s[i:j+1]) > 0: MemoryError Error in sys.excepthook: Traceback (most recent call last): File “/usr/lib/python2.7/dist-packages/apport_python_hook.py”, line 64, in apport_excepthook from apport.fileutils import likely_packaged, get_recent_crashes File “/usr/lib/python2.7/dist-packages/apport/__init__.py”, line 1, in from apport.report import Report MemoryError Original exception was: Traceback […]

Marco de datos de pandas: ¿seleccionar filas y borrar memoria?

Tengo un gran dataframe de pandas (tamaño = 3 GB): x = read.table (‘big_table.txt’, sep = ‘\ t’, header = 0, index_col = 0) Debido a que estoy trabajando bajo restricciones de memoria, subconjunto el dataframe: rows = Calculate_rows () # una función que calcula qué filas necesito cols = Calculate_cols () # una función […]

nbytes y getsizeof devuelven diferentes valores

Me he dado cuenta de que nbytes y getsizeof devuelven dos valores diferentes cuando el banco está en una matriz NumPy. Ejemplo: import sys import numpy as np x = np.random.rand(10000, 50) print(‘x.nbytes: {0} bytes’.format(x.nbytes)) print(‘sys.getsizeof(x): {0} bytes’.format(sys.getsizeof(x))) Salida: x.nbytes: 4000000 bytes sys.getsizeof(x): 4000112 bytes ¿Por qué?

¿Por qué este objeto asignado comparte el mismo espacio de memoria que el objeto original?

En Python encontré este extraño fenómeno mientras trabajaba con itertools groupby module. En python, la asignación de variables significa asignar a la nueva variable su propia memoria en lugar de un puntero a la memoria original (por lo que entiendo, si esto es incorrecto, hágamelo saber): y = 7 x = yy = 9 x […]

Versión profunda de sys.getsizeof

Quiero calcular la memoria utilizada por un objeto. sys.getsizeof es genial, pero es poco profundo (por ejemplo, llamado en una lista, no incluiría la memoria tomada por los elementos de la lista). Me gustaría escribir una versión genérica “profunda” de sys.getsizeof . Entiendo que hay cierta ambigüedad en la definición de “profundo”; Estoy perfectamente satisfecho […]

Alternativas eficientes de memoria a los diccionarios de Python

En uno de mis proyectos paralelos actuales, estoy escaneando un texto mirando la frecuencia de los tríos de palabras. En mi primer bash, utilicé el diccionario predeterminado con tres niveles de profundidad. En otras palabras, topDict[word1][word2][word3] devuelve el número de veces que estas palabras aparecen en el texto, topDict[word1][word2] devuelve un diccionario con todas las […]

Limitar la memoria de Python VM

Estoy tratando de encontrar una manera de limitar la memoria disponible para la máquina virtual de Python, como lo hace la opción “-Xmx” en la máquina virtual de Java. (La idea es poder jugar con la excepción MemoryError) No estoy seguro de que exista esta opción, pero puede haber una solución que utilice un comando […]

Tensorflow – GPU dedicada vs memoria compartida

¿Tensorflow usa solo memoria GPU dedicada o también puede usar memoria compartida? También corrí esto: desde tensorflow.python.client import device_lib device_lib.list_local_devices () [nombre: “/ device: CPU: 0” device_type: “CPU” memory_limit: 268435456 nombre: “/ device: GPU: 0” device_type: “GPU” memory_limit: 112128819 ¿Cuáles son estos “límites de memoria” 268,435,456 y 112,128,819? A esto es de lo que estoy […]