Ajuste del modelo de TensorFlow

Anika Tabassum Era 15 febrero 2024
Ajuste del modelo de TensorFlow

El método model.fit() que ofrece la biblioteca TensorFlow ahorra tiempo en el proceso de aprendizaje automático. Por lo general, al construir un modelo específico, necesitamos configurar la función de entrenamiento, lo que requiere muchas restricciones y problemas de codificación.

Para mitigar estos problemas para los modelos básicos, el model.fit() puede ser muy útil.

Por el contrario, cuando model.fit() se ocupa de la sesión de entrenamiento, model.evaluate() extrae los datos de salida esperados de cualquier entrada aleatoria basada en el modelo entrenado. Ambos métodos juegan un papel inevitable en el caso de la toma de decisiones y la generación de valor.

En la siguiente sección, examinaremos cómo implementar el método model.fit() para el modelo Sequential() de Keras. La demostración es con conceptos básicos, y la demostración de código en vivo también se presenta en este hilo. ¡Vamos a empezar!

Usa TensorFlow model.fit()

Necesitamos un conjunto de datos válido para iniciar el entrenamiento y la prueba de un modelo. En nuestro caso, generaremos un conjunto de datos con un conjunto independiente de valores y sus valores dependientes.

Más tarde, mostraremos un diagrama de dispersión para ver si nuestros valores pueden trazarse como se estableció la ecuación para ellos. El código para esta unidad es el siguiente.

# Necessary Imports
from tensorflow.keras import layers
import matplotlib.pyplot as plt
from tensorflow import keras
import tensorflow as tf
import numpy as np
import os

# Generating random data
x = np.random.uniform(0.0, 1.0, (500))
y = 0.3 + 0.5 * x + np.random.normal(0.0, 0.3, len(x))

plt.scatter(x, y)

Producción:

Usar Modelfit en TensorFlow 1

Iniciaremos el modelo y la capa Densa para ello. La capa Densa definió las dimensiones de entrada y salida esperadas.

Y también, estableceremos la función de pérdida y optimizador para nuestro modelo. El siguiente código representa las palabras.

model = (
    keras.Sequential()
)  # Sequential for 1D data correlating (as we only have x[independent] and y[dependent])
model.add(tf.keras.layers.Dense(1, input_shape=(1,)))
model.compile(loss="mse", optimizer="rmsprop")

Usa TensorFlow model.fit() y model.evaluate()

Ahora examinaremos el model.fit() y model.evaluate() para ver si el entrenamiento fue y también emparejar la función de loss de las últimas épocas del model.fit() con los métodos evaluados función de loss. Y si coincide, podemos decir que el modelo se entrenó correctamente y nuestro sistema ahora puede identificar cualquier valor que se encuentre bajo estas restricciones.

Aquí, en el entrenamiento, configuramos el batch_size (muestra) a 100 de 500 datos. Y en la prueba, dimos un tamaño de lote de 500.

El sistema podría haber adquirido conocimiento sobre esas 100 muestras con un número de época mayor.

print("train: ", model.fit(x, y, epochs=600, batch_size=100))

# The evaluate() method - gets the loss statistics
print("test: ", model.evaluate(x, y, batch_size=500))

Producción:

Usar Modelfit en Tensorflow 2

Usar modelfit en TensorFlow 3

Anika Tabassum Era avatar Anika Tabassum Era avatar

Era is an observer who loves cracking the ambiguos barriers. An AI enthusiast to help others with the drive and develop a stronger community.

LinkedIn Facebook