0% found this document useful (0 votes)
29 views

Deep Learning Notebook

Uploaded by

Sahil Mhaske
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Deep Learning Notebook

Uploaded by

Sahil Mhaske
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

In [1]: import numpy as np

# Generate toy dataset


np.random.seed(0)
X = np.random.rand(100, 2) # 100 samples, 2 features
y = (X[:, 0] + X[:, 1] > 1).astype(int) # Binary target variable

print("Shape of X:", X.shape)


print("Shape of y:", y.shape)

Shape of X: (100, 2)
Shape of y: (100,)

Split Dataset
In [3]: from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y,


test_size=0.2, random_state=42)

print("Shape of X_train:", X_train.shape)


print("Shape of X_test:", X_test.shape)

Shape of X_train: (80, 2)


Shape of X_test: (20, 2)

Build Neural Network


In [5]: import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# Define the model


model = Sequential([
Dense(10, activation='relu', input_shape=(2,)),
Dense(10, activation='relu'),
Dense(1, activation='sigmoid')
])

# Compile the model


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

# Print the model summary


model.summary()
WARNING:tensorflow:From C:\Users\ASHISH\anaconda3\Lib\site-packages\keras\src\losse
s.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use
tf.compat.v1.losses.sparse_softmax_cross_entropy instead.

WARNING:tensorflow:From C:\Users\ASHISH\anaconda3\Lib\site-packages\keras\src\backen
d.py:873: The name tf.get_default_graph is deprecated. Please use tf.compat.v1.get_d
efault_graph instead.

WARNING:tensorflow:From C:\Users\ASHISH\anaconda3\Lib\site-packages\keras\src\optimi
zers\__init__.py:309: The name tf.train.Optimizer is deprecated. Please use tf.compa
t.v1.train.Optimizer instead.

Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 10) 30

dense_1 (Dense) (None, 10) 110

dense_2 (Dense) (None, 1) 11

=================================================================
Total params: 151 (604.00 Byte)
Trainable params: 151 (604.00 Byte)
Non-trainable params: 0 (0.00 Byte)
_________________________________________________________________

Train The model


In [7]: # Train the model
history = model.fit(X_train, y_train, epochs=50, batch_size=32,
validation_data=(X_test, y_test))
Epoch 1/50
WARNING:tensorflow:From C:\Users\ASHISH\anaconda3\Lib\site-packages\keras\src\utils
\tf_utils.py:492: The name tf.ragged.RaggedTensorValue is deprecated. Please use tf.
compat.v1.ragged.RaggedTensorValue instead.

WARNING:tensorflow:From C:\Users\ASHISH\anaconda3\Lib\site-packages\keras\src\engine
\base_layer_utils.py:384: The name tf.executing_eagerly_outside_functions is depreca
ted. Please use tf.compat.v1.executing_eagerly_outside_functions instead.

3/3 [==============================] - 2s 179ms/step - loss: 0.6949 - accuracy: 0.41


25 - val_loss: 0.6920 - val_accuracy: 0.5500
Epoch 2/50
3/3 [==============================] - 0s 30ms/step - loss: 0.6929 - accuracy: 0.450
0 - val_loss: 0.6909 - val_accuracy: 0.5000
Epoch 3/50
3/3 [==============================] - 0s 30ms/step - loss: 0.6911 - accuracy: 0.512
5 - val_loss: 0.6897 - val_accuracy: 0.5000
Epoch 4/50
3/3 [==============================] - 0s 30ms/step - loss: 0.6893 - accuracy: 0.525
0 - val_loss: 0.6885 - val_accuracy: 0.5000
Epoch 5/50
3/3 [==============================] - 0s 50ms/step - loss: 0.6877 - accuracy: 0.525
0 - val_loss: 0.6873 - val_accuracy: 0.5000
Epoch 6/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6859 - accuracy: 0.525
0 - val_loss: 0.6862 - val_accuracy: 0.5000
Epoch 7/50
3/3 [==============================] - 0s 31ms/step - loss: 0.6843 - accuracy: 0.525
0 - val_loss: 0.6851 - val_accuracy: 0.5000
Epoch 8/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6825 - accuracy: 0.525
0 - val_loss: 0.6840 - val_accuracy: 0.5000
Epoch 9/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6809 - accuracy: 0.525
0 - val_loss: 0.6829 - val_accuracy: 0.5000
Epoch 10/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6790 - accuracy: 0.525
0 - val_loss: 0.6819 - val_accuracy: 0.5000
Epoch 11/50
3/3 [==============================] - 0s 33ms/step - loss: 0.6773 - accuracy: 0.525
0 - val_loss: 0.6808 - val_accuracy: 0.5000
Epoch 12/50
3/3 [==============================] - 0s 33ms/step - loss: 0.6757 - accuracy: 0.525
0 - val_loss: 0.6798 - val_accuracy: 0.5000
Epoch 13/50
3/3 [==============================] - 0s 33ms/step - loss: 0.6740 - accuracy: 0.525
0 - val_loss: 0.6787 - val_accuracy: 0.5000
Epoch 14/50
3/3 [==============================] - 0s 25ms/step - loss: 0.6721 - accuracy: 0.525
0 - val_loss: 0.6775 - val_accuracy: 0.5000
Epoch 15/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6703 - accuracy: 0.525
0 - val_loss: 0.6764 - val_accuracy: 0.5000
Epoch 16/50
3/3 [==============================] - 0s 32ms/step - loss: 0.6684 - accuracy: 0.525
0 - val_loss: 0.6752 - val_accuracy: 0.5000
Epoch 17/50
3/3 [==============================] - 0s 31ms/step - loss: 0.6669 - accuracy: 0.525
0 - val_loss: 0.6740 - val_accuracy: 0.5000
Epoch 18/50
3/3 [==============================] - 0s 27ms/step - loss: 0.6648 - accuracy: 0.525
0 - val_loss: 0.6727 - val_accuracy: 0.5000
Epoch 19/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6631 - accuracy: 0.525
0 - val_loss: 0.6714 - val_accuracy: 0.5000
Epoch 20/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6610 - accuracy: 0.525
0 - val_loss: 0.6700 - val_accuracy: 0.5000
Epoch 21/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6591 - accuracy: 0.537
5 - val_loss: 0.6686 - val_accuracy: 0.5000
Epoch 22/50
3/3 [==============================] - 0s 32ms/step - loss: 0.6570 - accuracy: 0.537
5 - val_loss: 0.6673 - val_accuracy: 0.5000
Epoch 23/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6550 - accuracy: 0.537
5 - val_loss: 0.6659 - val_accuracy: 0.5000
Epoch 24/50
3/3 [==============================] - 0s 42ms/step - loss: 0.6527 - accuracy: 0.537
5 - val_loss: 0.6644 - val_accuracy: 0.5000
Epoch 25/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6503 - accuracy: 0.537
5 - val_loss: 0.6627 - val_accuracy: 0.5000
Epoch 26/50
3/3 [==============================] - 0s 32ms/step - loss: 0.6477 - accuracy: 0.550
0 - val_loss: 0.6611 - val_accuracy: 0.5000
Epoch 27/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6451 - accuracy: 0.550
0 - val_loss: 0.6595 - val_accuracy: 0.5000
Epoch 28/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6421 - accuracy: 0.550
0 - val_loss: 0.6580 - val_accuracy: 0.5500
Epoch 29/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6391 - accuracy: 0.587
5 - val_loss: 0.6562 - val_accuracy: 0.5500
Epoch 30/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6359 - accuracy: 0.587
5 - val_loss: 0.6545 - val_accuracy: 0.5500
Epoch 31/50
3/3 [==============================] - 0s 30ms/step - loss: 0.6328 - accuracy: 0.600
0 - val_loss: 0.6525 - val_accuracy: 0.6000
Epoch 32/50
3/3 [==============================] - 0s 27ms/step - loss: 0.6295 - accuracy: 0.650
0 - val_loss: 0.6505 - val_accuracy: 0.6000
Epoch 33/50
3/3 [==============================] - 0s 33ms/step - loss: 0.6259 - accuracy: 0.675
0 - val_loss: 0.6484 - val_accuracy: 0.6000
Epoch 34/50
3/3 [==============================] - 0s 29ms/step - loss: 0.6223 - accuracy: 0.687
5 - val_loss: 0.6461 - val_accuracy: 0.6000
Epoch 35/50
3/3 [==============================] - 0s 26ms/step - loss: 0.6188 - accuracy: 0.687
5 - val_loss: 0.6437 - val_accuracy: 0.6000
Epoch 36/50
3/3 [==============================] - 0s 28ms/step - loss: 0.6151 - accuracy: 0.687
5 - val_loss: 0.6414 - val_accuracy: 0.6000
Epoch 37/50
3/3 [==============================] - 0s 44ms/step - loss: 0.6116 - accuracy: 0.687
5 - val_loss: 0.6393 - val_accuracy: 0.6500
Epoch 38/50
3/3 [==============================] - 0s 31ms/step - loss: 0.6082 - accuracy: 0.700
0 - val_loss: 0.6372 - val_accuracy: 0.7000
Epoch 39/50
3/3 [==============================] - 0s 27ms/step - loss: 0.6047 - accuracy: 0.712
5 - val_loss: 0.6351 - val_accuracy: 0.7000
Epoch 40/50
3/3 [==============================] - 0s 30ms/step - loss: 0.6011 - accuracy: 0.712
5 - val_loss: 0.6327 - val_accuracy: 0.7000
Epoch 41/50
3/3 [==============================] - 0s 31ms/step - loss: 0.5974 - accuracy: 0.712
5 - val_loss: 0.6304 - val_accuracy: 0.7000
Epoch 42/50
3/3 [==============================] - 0s 31ms/step - loss: 0.5938 - accuracy: 0.700
0 - val_loss: 0.6281 - val_accuracy: 0.7000
Epoch 43/50
3/3 [==============================] - 0s 28ms/step - loss: 0.5900 - accuracy: 0.700
0 - val_loss: 0.6258 - val_accuracy: 0.7000
Epoch 44/50
3/3 [==============================] - 0s 34ms/step - loss: 0.5862 - accuracy: 0.712
5 - val_loss: 0.6235 - val_accuracy: 0.7000
Epoch 45/50
3/3 [==============================] - 0s 34ms/step - loss: 0.5824 - accuracy: 0.725
0 - val_loss: 0.6213 - val_accuracy: 0.7000
Epoch 46/50
3/3 [==============================] - 0s 32ms/step - loss: 0.5784 - accuracy: 0.737
5 - val_loss: 0.6191 - val_accuracy: 0.7000
Epoch 47/50
3/3 [==============================] - 0s 28ms/step - loss: 0.5745 - accuracy: 0.737
5 - val_loss: 0.6170 - val_accuracy: 0.7000
Epoch 48/50
3/3 [==============================] - 0s 28ms/step - loss: 0.5705 - accuracy: 0.750
0 - val_loss: 0.6149 - val_accuracy: 0.7000
Epoch 49/50
3/3 [==============================] - 0s 31ms/step - loss: 0.5666 - accuracy: 0.787
5 - val_loss: 0.6128 - val_accuracy: 0.7000
Epoch 50/50
3/3 [==============================] - 0s 30ms/step - loss: 0.5625 - accuracy: 0.787
5 - val_loss: 0.6106 - val_accuracy: 0.7000

Evaluate the model


In [9]: # Evaluate the model
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Test loss: {loss:.4f}")
print(f"Test accuracy: {accuracy:.4f}")
1/1 [==============================] - 0s 31ms/step - loss: 0.6106 - accuracy: 0.700
0
Test loss: 0.6106
Test accuracy: 0.7000

Visualize the history


In [11]: import matplotlib.pyplot as plt

# Plot training & validation accuracy values


plt.plot(history.history['accuracy'])
plt.plot(history.history['val_accuracy'])
plt.title('Model accuracy')
plt.ylabel('Accuracy')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()

# Plot training & validation loss values


plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('Model loss')
plt.ylabel('Loss')
plt.xlabel('Epoch')
plt.legend(['Train', 'Test'], loc='upper left')
plt.show()

You might also like