Building Neural Net
We’re going to build a neural network.. but first some math!
import pandas as pd
import numpy as np
import os
from tensorflow.keras.models import Sequential, load_model
from tensorflow.keras.layers import (Dense,
Conv2D,
MaxPooling1D,
MaxPooling2D,
Flatten,
Dense,
Dropout,
Conv1D,
Activation,
BatchNormalization,
AveragePooling1D,
MaxPool1D,
GlobalMaxPool2D,
LSTM,
Bidirectional
)
I’m going to start building a neural network!
model = Sequential()
model.add(Conv2D(32,(3,3),activation = 'relu', input_shape=(1000,50,1)))
model.add(BatchNormalization())
model.add(MaxPooling2D(2,2))
model.add(Dropout(0.1))
model.add(Conv2D(64,(3,8),activation = 'relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D((2,2), padding = 'same'))
model.add(Conv2D(128,(2),activation = 'relu'))
model.add(BatchNormalization())
model.add(MaxPooling2D((2,2), padding = 'same'))
model.add(Dropout(0.2))
model.add(Flatten())
model.add(Dense(16))
model.add(BatchNormalization())
model.add(Dropout(0.25))
model.add(Activation('relu'))
model.add(Dense(7, activation='softmax'))
model.summary()
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 998, 48, 32) 320
_________________________________________________________________
batch_normalization (BatchNo (None, 998, 48, 32) 128
_________________________________________________________________
max_pooling2d (MaxPooling2D) (None, 499, 24, 32) 0
_________________________________________________________________
dropout (Dropout) (None, 499, 24, 32) 0
_________________________________________________________________
conv2d_1 (Conv2D) (None, 497, 17, 64) 49216
_________________________________________________________________
batch_normalization_1 (Batch (None, 497, 17, 64) 256
_________________________________________________________________
max_pooling2d_1 (MaxPooling2 (None, 249, 9, 64) 0
_________________________________________________________________
conv2d_2 (Conv2D) (None, 248, 8, 128) 32896
_________________________________________________________________
batch_normalization_2 (Batch (None, 248, 8, 128) 512
_________________________________________________________________
max_pooling2d_2 (MaxPooling2 (None, 124, 4, 128) 0
_________________________________________________________________
dropout_1 (Dropout) (None, 124, 4, 128) 0
_________________________________________________________________
flatten (Flatten) (None, 63488) 0
_________________________________________________________________
dense (Dense) (None, 16) 1015824
_________________________________________________________________
batch_normalization_3 (Batch (None, 16) 64
_________________________________________________________________
dropout_2 (Dropout) (None, 16) 0
_________________________________________________________________
activation (Activation) (None, 16) 0
_________________________________________________________________
dense_1 (Dense) (None, 7) 119
=================================================================
Total params: 1,099,335
Trainable params: 1,098,855
Non-trainable params: 480
_________________________________________________________________
Cool we did it!
Written on June 18, 2020