Ver el uso de memoria de un script

Ver el uso de memoria de un script Ver el uso de memoria de un script

Ver el uso de memoria de un scriptlink image 0

Si un script nos consume mucha RAM podemos monitorizarlo para ver qué es lo que está consumiendo.

Instalaciónlink image 1

Para poder monitorearlo vamos a instalar memory_profiler. Lo podemos instalar con Conda

conda install memory_profiler
      

o con pip

pip install memory_profiler
      

Usolink image 2

Decoradorlink image 3

Podemos poner un decorador en la función que queremos monitorizar.

from memory_profiler import profile
      
      @profile
      def my_function():
          pass
      
	
%%writefile memory_profiler_decorator.py
from memory_profiler import profile
@profile
def my_function():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
if __name__ == '__main__':
my_function()
Copy
	
Overwriting memory_profiler_decorator.py

Ahora lo ejecutamos usando -m memory_profiles memory_profiler_decorator.py

	
!python -m memory_profiler memory_profiler_decorator.py
Copy
	
Filename: memory_profiler_decorator.py
Line # Mem usage Increment Occurrences Line Contents
=============================================================
3 49.5 MiB 49.5 MiB 1 @profile
4 def my_function():
5 57.0 MiB 7.5 MiB 1 a = [1] * (10 ** 6)
6 209.6 MiB 152.6 MiB 1 b = [2] * (2 * 10 ** 7)
7 57.2 MiB -152.4 MiB 1 del b
8 57.2 MiB 0.0 MiB 1 return a

Como vemos, obtenemos el uso de memoria de cada línea del script.

Uso de memoria en el tiempolink image 4

Podemos obtener una gráfica del uso de memoria en el tiempo haciendo

mprof run memory_profiler_decorator.py
      mprof plot
      
	
!mprof run memory_profiler_decorator.py
Copy
	
mprof: Sampling memory every 0.1s
running new process
running as a Python program...
Filename: memory_profiler_decorator.py
Line # Mem usage Increment Occurrences Line Contents
=============================================================
3 49.5 MiB 49.5 MiB 1 @profile
4 def my_function():
5 57.0 MiB 7.5 MiB 1 a = [1] * (10 ** 6)
6 209.6 MiB 152.6 MiB 1 b = [2] * (2 * 10 ** 7)
7 57.2 MiB -152.4 MiB 1 del b
8 57.2 MiB 0.0 MiB 1 return a
	
!mprof plot
Copy
	
Using last profile data.
Figure(1260x540)

Al ejecutarlo se crea esta gráfica

memory_profiler plot

Seguir leyendo

Stream información en MCP: Guía Completa para Actualizaciones de Progreso en Tiempo Real con FastMCP

Stream información en MCP: Guía Completa para Actualizaciones de Progreso en Tiempo Real con FastMCP

Aprende cómo implementar streaming en tiempo real en aplicaciones MCP (Model Context Protocol) usando FastMCP. Esta guía completa te muestra cómo crear servidores y clientes MCP que soportan actualizaciones de progreso e información streaming para tareas de larga duración. Construirás herramientas habilitadas para streaming que proporcionan retroalimentación en tiempo real durante el procesamiento de datos, subida de archivos, tareas de monitoreo y otras operaciones que requieren mucho tiempo. Descubre cómo usar StreamableHttpTransport, implementar manejadores de progreso con Context y crear barras de progreso visuales que mejoran la experiencia del usuario al trabajar con aplicaciones MCP que requieren retroalimentación continua.

MCP: Guía Completa para Crear servidores y clientes MCP (Model Context Protocol) con FastMCP

MCP: Guía Completa para Crear servidores y clientes MCP (Model Context Protocol) con FastMCP

Aprende qué es el Model Context Protocol (MCP), el estándar de código abierto de Anthropic que revoluciona la forma en que los modelos de IA interactúan con herramientas externas. En esta guía práctica y detallada, te llevo paso a paso en la creación de un servidor y un cliente MCP desde cero utilizando la librería fastmcp. Construirás un agente de IA "inteligente" con Claude Sonnet, capaz de interactuar con la API de GitHub para consultar issues e información de repositorios. Cubriremos desde los conceptos básicos hasta funcionalidades avanzadas como el filtrado de herramientas por tags, la composición de servidores, el uso de recursos estáticos y plantillas dinámicas (resource templates), la generación de prompts y la implementación de autenticación segura. ¡Descubre cómo MCP puede estandarizar y simplificar la integración de herramientas en tus aplicaciones de IA, de forma análoga a como el USB unificó los periféricos!

Últimos posts -->

¿Has visto estos proyectos?

Horeca chatbot

Horeca chatbot Horeca chatbot
Python
LangChain
PostgreSQL
PGVector
React
Kubernetes
Docker
GitHub Actions

Chatbot conversacional para cocineros de hoteles y restaurantes. Un cocinero, jefe de cocina o camaeror de un hotel o restaurante puede hablar con el chatbot para obtener información de recetas y menús. Pero además implementa agentes, con los cuales puede editar o crear nuevas recetas o menús

Naviground

Naviground Naviground

Subtify

Subtify Subtify
Python
Whisper
Spaces

Generador de subtítulos para videos en el idioma que desees. Además a cada persona le pone su subtítulo de un color

Ver todos los proyectos -->

¿Quieres aplicar la IA en tu proyecto? Contactame!

¿Quieres mejorar con estos tips?

Últimos tips -->

Usa esto en local

Los espacios de Hugging Face nos permite ejecutar modelos con demos muy sencillas, pero ¿qué pasa si la demo se rompe? O si el usuario la elimina? Por ello he creado contenedores docker con algunos espacios interesantes, para poder usarlos de manera local, pase lo que pase. De hecho, es posible que si pinchas en alún botón de ver proyecto te lleve a un espacio que no funciona.

Flow edit

Flow edit Flow edit

Edita imágenes con este modelo de Flow. Basándose en SD3 o FLUX puedes editar cualquier imagen y generar nuevas

FLUX.1-RealismLora

FLUX.1-RealismLora FLUX.1-RealismLora
Ver todos los contenedores -->

¿Quieres aplicar la IA en tu proyecto? Contactame!

¿Quieres entrenar tu modelo con estos datasets?

short-jokes-dataset

Dataset de chistes en inglés

opus100

Dataset con traducciones de inglés a español

netflix_titles

Dataset con películas y series de Netflix

Ver más datasets -->