Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

BasicDNN

Historical learning project from 2020-2021. This repository is retained as an educational artefact and does not represent production AI/ML engineering.

Status and Limitations

  • Not actively maintained.
  • No automated test suite, packaging, CI or production deployment.
  • Some advanced training paths may be incomplete or incorrect.
  • Not intended for production use.

Generic L-layer fully connected neural-network implementation written directly in Python using NumPy.

Implemented Concepts

  • Input data arranged as an n_x by m matrix, where n_x is the number of input features and m is the number of training examples.
  • Output data arranged as a 1 by m matrix.
  • Activation functions: Sigmoid, ReLU, Leaky ReLU, Tanh and Softmax.
  • Weight initialization: zeros, random, He and Xavier.
  • Regularization: L2 and Dropout.
  • Optimization: Mini-Batch Gradient Descent, Momentum and Adam.

Historical Usage Example

MODEL = (
    (20, "relu", "he"),
    (7, "relu", "he"),
    (5, "relu", "he"),
    (1, "sigmoid", "random"),
)

parameters = L_layer_model(trainX, trainY, MODEL)
predictTrain = predict(trainX, parameters, trainY)
predictDev = predict(devX, parameters, devY)
predictTest = predict(testX, parameters, testY)

Batch normalization was planned but not implemented.