Anpassung des TensorFlow-Modells

Anika Tabassum Era 15 Februar 2024
Anpassung des TensorFlow-Modells

Die von der TensorFlow-Bibliothek angebotene Methode model.fit() spart Zeit beim maschinellen Lernen. Normalerweise müssen wir beim Erstellen eines bestimmten Modells die Trainingsfunktion festlegen, was viele Einschränkungen und Programmieraufwand erfordert.

Um diese Probleme für die Basismodelle zu mildern, kann model.fit() sehr praktisch sein.

Wenn dagegen model.fit() die Trainingseinheit behandelt, extrahiert model.evaluate() die erwarteten Ausgabedaten aus beliebigen zufälligen Eingaben basierend auf dem trainierten Modell. Beide Methoden spielen bei der Entscheidungsfindung und Wertgenerierung eine unumgängliche Rolle.

Im folgenden Abschnitt untersuchen wir, wie die Methode model.fit() für das Modell Sequential() von Keras implementiert wird. Die Demonstration ist mit grundlegenden Konzepten, und die Live-Code-Demo wird auch in diesem Thread präsentiert. Lass uns anfangen!

Verwenden Sie TensorFlow model.fit()

Wir benötigen einen gültigen Datensatz, um das Training und das Testen eines Modells zu initiieren. In unserem Fall generieren wir einen Datensatz mit einem unabhängigen Satz von Werten und ihren abhängigen Werten.

Später zeigen wir ein Streudiagramm, um zu sehen, ob unsere Werte so dargestellt werden können, wie die Gleichung für sie festgelegt wurde. Der Code für dieses Laufwerk lautet wie folgt.

# 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)

Ausgang:

Verwenden Sie Modelfit in TensorFlow 1

Wir werden das Modell und den Dense-Layer dafür initiieren. Die Dense-Schicht definierte die Input- und erwarteten Output-Dimensionen.

Außerdem werden wir die loss-Funktion und den optimizer für unser Modell einstellen. Der folgende Code repräsentiert die Wörter.

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")

Verwenden Sie TensorFlow model.fit() und model.evaluate()

Wir werden nun die model.fit() und model.evaluate() untersuchen, um zu sehen, ob das Training war und auch die letzten Epochen loss-Funktion aus der model.fit() mit den evaluierten Methoden abgleichen loss funktion. Und wenn es übereinstimmt, können wir sagen, dass das Modell richtig trainiert wurde, und unser System kann jetzt jeden Wert identifizieren, der unter diese Einschränkungen fällt.

Hier setzen wir im Training die batch_size (Sample) auf 100 von 500 Daten. Und im Test haben wir eine Losgröße von 500 angegeben.

Das System hätte Erkenntnisse über diese 100 Proben mit einer größeren Epochennummer gewinnen können.

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))

Ausgang:

Verwenden Sie Modelfit in Tensorflow 2

Verwenden Sie modelfit in 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