Inicialice la aleatoriedad para ejecutar de forma repetible
Controle las semillas aleatorias en NumPy, PyTorch y Python.
Inicialice la aleatoriedad para ejecutar de forma repetible es una lección gratuita de MLOps Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de MLOps Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de MLOps Academy incluye 4 lecciones en total.
Por qué difieren las ejecuciones
El ML utiliza aleatoriedad para barajar datos, dividirlos e inicializar pesos. Si ejecuta el proceso dos veces, obtiene dos modelos diferentes. Fijar la semilla hace que la aleatoriedad sea repetible. 🎲
Qué es una semilla
Una semilla es un número inicial para el generador aleatorio. Si introduce la misma semilla, obtendrá la misma secuencia de números aleatorios.
Fijar la semilla de Python puro
El módulo random propio de Python necesita random.seed para que cualquier barajado realizado en Python puro sea reproducible.
import random
random.seed(42)Fijar la semilla de NumPy
La mayor parte del trabajo con datos pasa por NumPy, así que establezca np.random.seed para fijar el barajado y el muestreo de arrays.
import numpy as np
np.random.seed(42)Fijar la semilla de PyTorch
La inicialización del aprendizaje profundo y el dropout utilizan el generador de PyTorch, así que llame a torch.manual_seed antes de crear el modelo.
import torch
torch.manual_seed(42)No olvidar la GPU
CUDA tiene su propio estado aleatorio, por lo que debe fijarlo por separado. cuda.manual_seed_all cubre todos los dispositivos GPU a la vez.
torch.cuda.manual_seed_all(42)Fijar las divisiones de scikit-learn
Pase random_state a funciones como train_test_split para que las mismas filas queden en la misma división en cada ejecución.
train_test_split(X, y, random_state=42)Una función auxiliar para controlarlas todas
Reúna todas las llamadas para fijar semillas en una única función set_seed. Llámela una vez al inicio para no olvidar ninguna.
def set_seed(s):
random.seed(s)
np.random.seed(s)
torch.manual_seed(s)Forzar kernels deterministas
Algunos kernels de GPU siguen siendo aleatorios incluso después de fijar la semilla. Active el modo deterministic en PyTorch para forzar cálculos repetibles.
torch.use_deterministic_algorithms(True)Registrar la semilla
Registre siempre el valor de la semilla que utilizó junto con la ejecución. Un resultado que no puede reproducir es un resultado en el que no puede confiar.
Reproducible, no con hardware idéntico
Incluso con semillas, los resultados pueden variar entre hardware diferente o versiones distintas de las bibliotecas. Fije también esos elementos para lograr una repetibilidad real.
Comprobación rápida
Fijó la semilla de Python y NumPy, pero su modelo de PyTorch sigue variando. ¿Qué olvidó?
Repaso
Aprendió a fijar todas las fuentes de aleatoriedad —Python, NumPy, PyTorch, CUDA y sklearn— y a registrar la semilla para obtener ejecuciones repetibles. 🔁
Preguntas frecuentes
¿La lección «Inicialice la aleatoriedad para ejecutar de forma repetible» es gratis?
Sí — el texto completo de «Inicialice la aleatoriedad para ejecutar de forma repetible» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de MLOps Academy, actualiza a CoddyKit PRO. El curso de MLOps Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Inicialice la aleatoriedad para ejecutar de forma repetible»?
Controle las semillas aleatorias en NumPy, PyTorch y Python. Practicas MLOps Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar MLOps Academy?
No se requiere experiencia previa. MLOps Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Inicialice la aleatoriedad para ejecutar de forma repetible»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de MLOps Academy?
Sí. Cada lección de MLOps Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Fije las dependencias con requirements.txt
- Aísle los proyectos con entornos virtuales
- Inicialice la aleatoriedad para ejecutar de forma repetible
- Capture la configuración completa de la ejecución