Cheat Sheet: NNs in Tensorflow/Keras

1. Installation und Import

Installation und Importieren von TensorFlow und Keras:

pip install tensorflow

import tensorflow as tf from tensorflow import keras

2. Überprüfen der TensorFlow-Version

print(tf.__version__)

3. Erstellen eines neuronalen Netzes

Ein einfaches neuronales Netzwerk mit drei Schichten:

model = keras.Sequential([ keras.layers.Dense(128, activation='relu', input_shape=(input_dim,)), keras.layers.Dense(64, activation='relu'), keras.layers.Dense(num_classes, activation='softmax') ])

4. Kompilieren des Modells

Das Modell wird mit dem Adam-Optimizer und einer Verlustfunktion kompiliert:

model.compile( optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'] )

5. Modell trainieren

model.fit(x_train, y_train, epochs=10, batch_size=32, validation_data=(x_val, y_val))

6. Modellbewertung

loss, accuracy = model.evaluate(x_test, y_test) print(f'Test Accuracy: {accuracy:.4f}')

7. Vorhersagen treffen

predictions = model.predict(x_new) predicted_classes = tf.argmax(predictions, axis=1).numpy()

8. Callbacks (z. B. Early Stopping)

Verwendung von Early Stopping während des Trainings:

callback = keras.callbacks.EarlyStopping(monitor='val_loss', patience=3) model.fit(x_train, y_train, epochs=50, validation_data=(x_val, y_val), callbacks=[callback])

9. Modell speichern und laden

model.save("model.h5")
model = keras.models.load_model("model.h5")

10. Erstellen eines benutzerdefinierten Layers

class CustomLayer(keras.layers.Layer): def init(self, units=32): super(CustomLayer, self).init() self.units = units
def build(self, input_shape):
    self.w = self.add_weight(shape=(input_shape[-1], self.units), initializer="random_normal", trainable=True)
    self.b = self.add_weight(shape=(self.units,), initializer="zeros", trainable=True)

def call(self, inputs):
    return tf.matmul(inputs, self.w) + self.b

11. CNN-Modell (Convolutional Neural Network)

cnn_model = keras.Sequential([ keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(28,28,1)), keras.layers.MaxPooling2D((2,2)), keras.layers.Conv2D(64, (3,3), activation='relu'), keras.layers.MaxPooling2D((2,2)), keras.layers.Flatten(), keras.layers.Dense(64, activation='relu'), keras.layers.Dense(10, activation='softmax') ])

12. RNN-Modell (Recurrent Neural Network / LSTM)

Ein einfaches RNN-Modell mit LSTM-Schichten:

rnn_model = keras.Sequential([ keras.layers.Embedding(input_dim=10000, output_dim=64), keras.layers.LSTM(64, return_sequences=True), keras.layers.LSTM(64), keras.layers.Dense(1, activation='sigmoid') ])

13. Transfer Learning (VGG16 Beispiel)

Verwendung eines vortrainierten VGG16-Modells:

base_model = keras.applications.VGG16(weights='imagenet', include_top=False, input_shape=(224, 224, 3)) base_model.trainable = False
model = keras.Sequential([ base_model, keras.layers.Flatten(), keras.layers.Dense(128, activation='relu'), keras.layers.Dense(10, activation='softmax') ])

14. TensorFlow Dataset API nutzen

Erstellung eines TensorFlow-Datasets:

dataset = tf.data.Dataset.from_tensor_slices((x_train, y_train)) 
dataset = dataset.shuffle(10000).batch(32).prefetch(tf.data.experimental.AUTOTUNE)

15. TPU/GPU-Nutzung überprüfen

print("GPU verfügbar:", tf.config.list_physical_devices('GPU'))
Nach oben scrollen