Ver Mensaje Individual
  #8 (permalink)  
Antiguo 07/06/2014, 02:35
edanvar
 
Fecha de Ingreso: octubre-2013
Mensajes: 59
Antigüedad: 11 años
Puntos: 0
Respuesta: Problema: Memory Error

Mira, aqui te muestro un frangmento de codigo, este tipo de algoritmo es el que estoy utilizando para sacar datos de la tabla, es el mismo todo el timepo, pero cambiando los parametros dependiendo del caso.

Entonces las primeras veces, al principio del script funciona, pero hacia el final del script es cuando muestra el Memory Error.


Código Python:
Ver original
  1. def findGoodPages(pathToTable, pages, rows, columns, possibleValues):
  2.    
  3.     with openFile(pathToTable, 'r') as f:
  4.        
  5.         tab = f.getNode("/previous")
  6.        
  7.        
  8.     #Lo que necesito hacer es recorrer toda la pytable y seleccionar ciertos campos
  9.     #pero unicamente de las rows que cumplan ciertas condiciones
  10.  
  11.     #primero convierto las listas a diccionarios, esto aumenta la eficiencia en las busquedas
  12.         dpages = dict((i, None) for i in pages
  13.         drows = dict((i, None) for i in rows
  14.         dcolumns = dict((i, None) for i in columns
  15.         dpossibleValues = dict((i, None) for i in possibleValues
  16.        
  17.     #aqui guardare lo que necesito
  18.         result = []
  19.        
  20.         t1 = time.time()
  21.     #dpossibleValues guarda 800 posibles valores de un total de mas de 1000
  22.  
  23.         for i in dpossibleValues:
  24.            
  25.            
  26.             aux = [row['is_ok'] for row in tab.where("(value == i)") if row['page'] in dpages and row['page_row'] in drows and row['page_col'] in dcolumns]
  27.             result.append([i,format(np.array(aux).mean(), '.2f'), format(np.array(aux).std(), '.2f')])
  28.            
  29.         #en cada paso del loop borro
  30.             del aux
  31.        
  32.         return result