TGViewer
Machine Learning with Python Machine Learning with Python @codeprogrammer · 68.6K subscribers
Post #4344 3.63K
💡 Keras: Building Neural Networks Simply

Keras is a high-level deep learning API, now part of TensorFlow, designed for fast and easy experimentation. This guide covers the fundamental workflow: defining, compiling, training, and using a neural network model.

from tensorflow import keras
from tensorflow.keras import layers

# Define a Sequential model
model = keras.Sequential([
# Input layer with 64 neurons, expecting flat input data
layers.Dense(64, activation="relu", input_shape=(784,)),
# A hidden layer with 32 neurons
layers.Dense(32, activation="relu"),
# Output layer with 10 neurons for 10-class classification
layers.Dense(10, activation="softmax")
])

model.summary()

• Model Definition: keras.Sequential creates a simple, layer-by-layer model.
• layers.Dense is a standard fully-connected layer. The first layer must specify the input_shape.
• activation functions like "relu" introduce non-linearity, while "softmax" is used on the output layer for multi-class classification to produce probabilities.

# (Continuing from the previous step)
model.compile(
optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy']
)

print("Model compiled successfully.")

• Compilation: .compile() configures the model for training.
• optimizer is the algorithm used to update the model's weights (e.g., 'adam' is a popular choice).
• loss is the function the model tries to minimize during training. sparse_categorical_crossentropy is common for integer-based classification labels.
• metrics are used to monitor the training and testing steps. Here, we track accuracy.

import numpy as np

# Create dummy training data
x_train = np.random.random((1000, 784))
y_train = np.random.randint(10, size=(1000,))

# Train the model
history = model.fit(
x_train,
y_train,
epochs=5,
batch_size=32,
verbose=0 # Hides the progress bar for a cleaner output
)

print(f"Training complete. Final accuracy: {history.history['accuracy'][-1]:.4f}")
# Output (will vary):
# Training complete. Final accuracy: 0.4570

• Training: The .fit() method trains the model on your data.
• x_train and y_train are your input features and target labels.
• epochs defines how many times the model will see the entire dataset.
• batch_size is the number of samples processed before the model is updated.

# Create a single dummy sample to test
x_test = np.random.random((1, 784))

# Get the model's prediction
predictions = model.predict(x_test)
predicted_class = np.argmax(predictions[0])

print(f"Predicted class: {predicted_class}")
print(f"Confidence scores: {predictions[0].round(2)}")
# Output (will vary):
# Predicted class: 3
# Confidence scores: [0.09 0.1 0.1 0.12 0.1 0.09 0.11 0.1 0.09 0.1 ]

• Prediction: .predict() is used to make predictions on new, unseen data.
• For a classification model with a softmax output, this returns an array of probabilities for each class.
• np.argmax() is used to find the index (the class) with the highest probability score.

#Keras #TensorFlow #DeepLearning #MachineLearning #Python

━━━━━━━━━━━━━━━
By: @CodeProgrammer ✨
  • ❤ 8
  • 🔥 2
  • 👍 1
More from @codeprogrammer
  1. Oct 10, 2026📚 Download 10 Python books for FREE: 1. Think Python — O’Reilly https://t.co/X7y3pX68IW 2…
  2. Oct 9, 2026One of the key moments when I truly understood how transformers work: 🧠✨ "Stop thinking o…
  3. Oct 9, 2026🔖 Official PyTorch Tutorials This collection includes: 🫡 PyTorch fundamentals and torch.…
  4. Oct 7, 2026A distinctive bot for subscribing to courses on the most popular educational platforms acr…
  5. Oct 7, 2026Understanding algorithms changes the way you write code. 🧠 This playlist teaches you exac…
  6. Oct 6, 2026🛠 Built an AI app with Cursor, Claude Code or Lovable? Publish it on Zibby (zibby.run), a…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →