Documentacióncargar_red(archivo)
Nombre
cargar_red - Recupera una red entrenada desde un archivo.
Sinopsis
red = neural.cargar_red(archivo)
Descripcion
Lee un archivo serializado y reconstruye la estructura red = {W1, b1, W2, b2}.
Usa extraer_W() y extraer_b() para recomponer pesos y bias desde texto.
La estructura recuperada corresponde a la arquitectura fija del modulo: una capa oculta y una capa de salida.
Espera lineas serializadas del tipo:
ejemplo.blox
"W1[20][10] = -0.01, -0.46, -0.34, ..., 0.39"
"b1[1][10] = 0.89, -0.13, 0.04, ..., 0.07"
Restringido: este ejemplo no puede ejecutarse en el Playground web porque la API requerida no está disponible en el sandbox.
Validaciones y casos borde
- Si no puede abrir el archivo, emite
ERROR(). - Si alguna linea esperada esta vacia o mal serializada, las validaciones de
extraer_W()oextraer_b()emitenERROR(). - La funcion espera exactamente la estructura correspondiente a
W1,b1,W2yb2.
Comportamiento
- Lee cuatro lineas principales del archivo:
W1,b1,W2yb2. - Reconstruye cada bloque usando
extraer_W()yextraer_b(). - Retorna una
TABLAcon la red ya recompuesta.
Funciones API relacionadas
neural.guardar_red()neural.extraer_W()neural.extraer_b()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| archivo | STRING | Nombre o ruta del archivo de entrada o salida. |
Valor de retorno
TABLA - TABLA con los campos W1, b1, W2 y b2 reconstruidos desde archivo.
Ejemplo
ejemplo.blox
INCLUIR "matrices.api"
INCLUIR "neural.api"
INCLUIR "graficos.api"
INCLUIR "tablas.api"
FUNCION probar_columna_x0(red)
FUNCION PRINCIPAL
INICIO "XOR con red neuronal en BLOX"
NUMERICO n_in, n_hid, n_out
NUMERICO m
NUMERICO tasa, epocas
NUMERICO i
TABLA red, red_tmp
MATRIZ W1[][], W2[][]
MATRIZ b1[][], b2[][]
MATRIZ X[][], Y[][]
VECTOR x_test[], y_pred[]
NUMERICO salida_red
NUMERICO salida_binaria
// ---------------------------------------
// 1. Definir dimensiones de la red
// ---------------------------------------
n_in = 2 // 2 entradas (X1, X2)
n_hid = 3 // 3 neuronas ocultas (podés probar 4 o más)
n_out = 1 // 1 salida (XOR binario)
m = 4 // 4 ejemplos en la tabla verdad
IMPRIMIR ("\n DIMENSIONES DE LA RED")
IMPRIMIR ("\n ----------------------\n")
IMPRIMIR ("\n Entradas = ", n_in)
IMPRIMIR ("\n Ocutas = ", n_hid)
IMPRIMIR ("\n Salidas = ", n_out)
IMPRIMIR ("\n")
// ---------------------------------------
// 2. Crear matrices de datos X (entrada) y Y (objetivo)
// ---------------------------------------
X = matrices.carga_cero(m, n_in)
Y = matrices.carga_cero(m, n_out)
// XOR - Tabla verdad
// X-Entrada
// Y-Salida
//
X = [ [ 0.00, 0.00 ],
[ 0.00, 1.00 ],
[ 1.00, 0.00 ],
[ 1.00, 1.00 ] ]
Y[0][0] = 0
Y[1][0] = 1
Y[2][0] = 1
Y[3][0] = 0
matrices.imprimir(X)
IMPRIMIR ("\n EJEMPLO: XOR - Tabla verdad")
IMPRIMIR ("\n ----------------------------\n")
IMPRIMIR ("\n X = \n")
matrices.imprimir(X)
IMPRIMIR ("\n Y = \n")
matrices.imprimir(Y)
IMPRIMIR ("\n")
// ---------------------------------------
// 3. Crear red y parámetros de entrenamiento
// ---------------------------------------
// 3.1) Crear red en una tabla “externa” a la función API
red = neural.crear_red_simple(n_in, n_hid, n_out)
tasa = 0.5 // 0.5
epocas = 10000 // Converge en 10.000 epocas
IMPRIMIR ("\nEntrenando red XOR...")
red = neural.entrenar_mse(red, X, Y, tasa, epocas)
W1 = red.W1
W2 = red.W2
b1 = red.b1
b2 = red.b2
// "guardar_red(red, archivo)" y "red = cargar_red(archivo)"
//
STRING archivo
archivo = "Red XOR.nn"
neural.guardar_red(red, archivo)
matrices.imprimir(W1)
matrices.imprimir(W2)
matrices.imprimir(b1)
matrices.imprimir(b2)
IMPRIMIR ("\nEntrenamiento finalizado.")
IMPRIMIR ("\n-------------------------------------\n\n")
FINAL
Restringido: este ejemplo no puede ejecutarse en el Playground web porque la API requerida no está disponible en el sandbox.