×
Reviews 4.9/5 Order Now

Create a Program to Implement Cross Entropy in Python Assignment Solution

July 01, 2024
Martin Jonas
Martin Jonas
🇦🇺 Australia
Python
Dr. Martin Jonas, PhD in Computer Science from Southern Cross University, Australia. With 4 years of experience in Python assignments, I offer expert guidance and support to help you excel in your programming projects.
Key Topics
  • Instructions
  • Requirements and Specifications
Tip of the day
Understand the power of recursion and list manipulation—core concepts in Lisp. Keep your parentheses balanced and use indentation for clarity. Practice writing simple functions first, then build up to more complex expressions. Use the REPL to test and debug your code incrementally.
News
Visual Studio Code v1.101 (May 2025) introduced full Model Context Protocol features, an open-sourced Copilot Chat extension, and expanded Python REPL and agent-mode support—empowering AI-enhanced workflows for student projects

Instructions

Objective

Write a program to implement cross entropy in python.

Requirements and Specifications

program to implement cross entropy in python

Source Code

import numpy as np from keras.datasets import mnist from keras.utils import np_utils from dense import Dense from softmax import Softmax from convolutional import Convolutional from reshape import Reshape from activations import Tanh, Sigmoid from losses import binary_cross_entropy, binary_cross_entropy_prime def preprocess_data(x, y, limit): ''' Will limit our data since using the whole thing will take forever on a cpu especially since we're implementing this from scratch. ''' x = x.reshape(len(x), 1, 28, 28) x = x.astype("float32") / 255 y = np_utils.to_categorical(y) y = y.reshape(len(y), 10, 1) return x[:limit], y[:limit] # load MNIST from server, limit to 100 images per class since we're not training on GPU (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, y_train = preprocess_data(x_train, y_train, 100) x_test, y_test = preprocess_data(x_test, y_test, 100) # TODO: Add our layers and the flow of input into this list. network = [ Convolutional((1, 28, 28), 3, 5), Sigmoid(), Reshape((5, 26, 26), (5 * 26 * 26, 1)), Dense(5 * 26 * 26, 100), Sigmoid(), Dense(100, 100), Sigmoid(), Dense(100, 10), Softmax() ] epochs = 100 learning_rate = 0.1 #train for e in range(epochs): error = 0 for x, y in zip(x_train, y_train): # forward output = x for layer in network: output = layer.forward(output) # TODO: update our error error += binary_cross_entropy(y,output) grad = binary_cross_entropy_prime(y,output) # TODO: perform back prop for layer in reversed(network): grad = layer.backward(grad,learning_rate) error /= len(x_train) print(f"{e + 1}/{epochs}, error={error}") # TODO: run the test data through and print out your predictions for x, y in zip(x_test, y_test): output = x for layer in network: output = layer.forward(output) print(f"y_pred: {np.argmax(output)}, y_true: {np.argmax(y)}")

Similar Samples

At Programming Homework Help, we offer a wide range of sample solutions to showcase our expertise in various programming languages. Our detailed and well-commented code examples serve as a testament to our commitment to quality and precision, helping you understand complex concepts effortlessly.