DEEPLEARNING 4J PART OF COURSE SGR 94

 Topic : Softwere Engineering for Machine Learning. Handbook of Arizona State University and Chatgpt.

Learned from Arizona State University Spring 2022 Handbook and Chatgpt.

Introduction :

Step 1: Set Up Your Maven Project

<dependencies>

<dependency>

<groupId>org.deeplearning4j</groupId>

<artifactId>deeplearning4j-core</artifactId>

<version>1.0.0-M2</version>

</dependency>

<dependency>

<groupId>org.nd4j</groupId>

<artifactId>nd4j-native-platform</artifactId>

<version>1.0.0-M2</version>

</dependency>

<dependency>

<groupId>org.datavec</groupId>

<artifactId>datavec-api</artifactId>

<version>1.0.0-M2</version>

</dependency>

</dependencies>

These dependencies are essential for building and training neural networks with DL4J

Step 2 : Define the Neural Network Configuration

import org.deeplearning4j.nn.conf.*;

import org.deeplearning4j.nn.conf.layers.*;

import org.nd4j.linalg.activations.Activation;

import org.nd4j.linalg.lossfunctions.LossFunctions;

import org.nd4j.linalg.learning.config.Sgd;

public class NeuralNetworkConfig {

public static MultiLayerConfiguration createConfig() {

return new NeuralNetConfiguration.Builder()

.seed(123)

.updater(new Sgd(0.1))

.list()

.layer(0, new DenseLayer.Builder()

.nIn(2)

.nOut(3)

.activation(Activation.RELU)

.build())

.layer(1, new OutputLayer.Builder(LossFunctions.LossFunction.MSE)

.nIn(3)

.nOut(1)

.activation(Activation.IDENTITY)

.build())

.build();

}

}

This configuration sets up a simple feedforward neural network with one hidden layer

Step 3: Prepare the Training Data

import org.nd4j.linalg.factory.Nd4j;

import org.nd4j.linalg.dataset.DataSet;

import org.nd4j.linalg.dataset.api.iterator.ListDataSetIterator;

import java.util.Arrays;

import java.util.List;

public class DataPreparation {

public static ListDataSetIterator<DataSet> prepareData() {

INDArray input = Nd4j.create(new double[][]{

{0, 0},

{0, 1},

{1, 0},

{1, 1}

});

INDArray labels = Nd4j.create(new double[][]{

{0},

{1},

{1},

{0}

});

DataSet dataSet = new DataSet(input, labels);

return new ListDataSetIterator<>(dataSet.asList(), 4);

}

}

This method prepares the XOR dataset for training

Step 4: Train the Neural Network

import org.deeplearning4j.nn.multilayer.MultiLayerNetwork;

import org.deeplearning4j.optimize.listeners.ScoreIterationListener;

public class ModelTrainer {

public static void trainModel() {

MultiLayerNetwork model = new MultiLayerNetwork(NeuralNetworkConfig.createConfig());

model.init();

model.setListeners(new ScoreIterationListener(100));

ListDataSetIterator<DataSet> iterator = DataPreparation.prepareData();

for (int i = 0; i < 1000; i++) {

model.fit(iterator);

if (i % 100 == 0) {

System.out.println(“Iteration “ + i + “ — Score: “ + model.score());

}

}

}

}

This class trains the neural network for 1000 epochs and prints the score every 100 iterations

import org.nd4j.linalg.api.ndarray.INDArray;

public class ModelEvaluator {

public static void evaluateModel(MultiLayerNetwork model) {

INDArray output = model.output(Nd4j.create(new double[][]{{1, 0}}));

System.out.println(“Prediction for [1, 0]: “ + Arrays.toString(output.toDoubleVector()));

}

}

Step 5: Evaluate the Model

import org.nd4j.linalg.api.ndarray.INDArray;

public class ModelEvaluator {

public static void evaluateModel(MultiLayerNetwork model) {

INDArray output = model.output(Nd4j.create(new double[][]{{1, 0}}));

System.out.println(“Prediction for [1, 0]: “ + Arrays.toString(output.toDoubleVector()));

}

}

Step 5: Evaluate the Model

This method evaluates the trained model on a new input.

public class Main {

public static void main(String[] args) {

ModelTrainer.trainModel();

MultiLayerNetwork model = new MultiLayerNetwork(NeuralNetworkConfig.createConfig());

model.init();

ModelEvaluator.evaluateModel(model);

}

}

Step 6: Run the Application

public class Main {

public static void main(String[] args) {

ModelTrainer.trainModel();

MultiLayerNetwork model = new MultiLayerNetwork(NeuralNetworkConfig.createConfig());

model.init();

ModelEvaluator.evaluateModel(model);

}

}

This is the entry point of the application, which trains the model and evaluates it.

By following these steps, you can build a simple neural network using Deeplearning4j in Java. This example demonstrates the basic workflow of setting up a neural network, preparing data, training the model, and evaluating its performance.

contact for Business in Delhi and India

Analytics, Mathematics Training.

Business consulting.

English and Education Consulting.

Subject to Availability: http://shankytyagi.github.io

shankyedtech23@gmail.com

SHAAN TYAGI EDUCATION AND ANALYTICS ENTERPRISES Delhi : WEBSITE :

Popular posts from this blog

Being Ignored and Asoociated Struggle : Business in Description

Friendship :Your Best Friend India

Jealousy Quotes