Neural nets from scratch using NumPy.
- clone repo
- install locally (
python -m pip install -e ./numpynets
) - get 2d image data
x_train.shape = (n, height, width), y_train.shape = (n, classes)
or in addition provide x_valid.shape=(m, height, width), y_valid.shape(m, classes)
- initialise and run an arbitrary length feed-forward fully connected net
With the learnt net:
- extract learnt weights/biases with
.trained_ned[layer_num].W
,.trained_net[layer_num].B
- extract learning histories/losses using
.history
- predict values for new inputs with
.predict(xdata)
- He initialisations
- (Stochastic) Gradient Descent
- Feed-forward and fully connected
- convs
- 1d data as input (req's a minor bug fix)
- easier custom loss, activations, initialisations
- cuda-aware training (this has been done just needs uploading)