Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.
Path: blob/master/C2 - Improving Deep Neural Networks Hyperparameter tuning, Regularization and Optimization/Week 2/testCases.py
Views: 4802
import numpy as np12def update_parameters_with_gd_test_case():3np.random.seed(1)4learning_rate = 0.015W1 = np.random.randn(2,3)6b1 = np.random.randn(2,1)7W2 = np.random.randn(3,3)8b2 = np.random.randn(3,1)910dW1 = np.random.randn(2,3)11db1 = np.random.randn(2,1)12dW2 = np.random.randn(3,3)13db2 = np.random.randn(3,1)1415parameters = {"W1": W1, "b1": b1, "W2": W2, "b2": b2}16grads = {"dW1": dW1, "db1": db1, "dW2": dW2, "db2": db2}1718return parameters, grads, learning_rate1920"""21def update_parameters_with_sgd_checker(function, inputs, outputs):22if function(inputs) == outputs:23print("Correct")24else:25print("Incorrect")26"""2728def random_mini_batches_test_case():29np.random.seed(1)30mini_batch_size = 6431X = np.random.randn(12288, 148)32Y = np.random.randn(1, 148) < 0.533return X, Y, mini_batch_size3435def initialize_velocity_test_case():36np.random.seed(1)37W1 = np.random.randn(2,3)38b1 = np.random.randn(2,1)39W2 = np.random.randn(3,3)40b2 = np.random.randn(3,1)41parameters = {"W1": W1, "b1": b1, "W2": W2, "b2": b2}42return parameters4344def update_parameters_with_momentum_test_case():45np.random.seed(1)46W1 = np.random.randn(2,3)47b1 = np.random.randn(2,1)48W2 = np.random.randn(3,3)49b2 = np.random.randn(3,1)5051dW1 = np.random.randn(2,3)52db1 = np.random.randn(2,1)53dW2 = np.random.randn(3,3)54db2 = np.random.randn(3,1)55parameters = {"W1": W1, "b1": b1, "W2": W2, "b2": b2}56grads = {"dW1": dW1, "db1": db1, "dW2": dW2, "db2": db2}57v = {'dW1': np.array([[ 0., 0., 0.],58[ 0., 0., 0.]]), 'dW2': np.array([[ 0., 0., 0.],59[ 0., 0., 0.],60[ 0., 0., 0.]]), 'db1': np.array([[ 0.],61[ 0.]]), 'db2': np.array([[ 0.],62[ 0.],63[ 0.]])}64return parameters, grads, v6566def initialize_adam_test_case():67np.random.seed(1)68W1 = np.random.randn(2,3)69b1 = np.random.randn(2,1)70W2 = np.random.randn(3,3)71b2 = np.random.randn(3,1)72parameters = {"W1": W1, "b1": b1, "W2": W2, "b2": b2}73return parameters7475def update_parameters_with_adam_test_case():76np.random.seed(1)77v, s = ({'dW1': np.array([[ 0., 0., 0.],78[ 0., 0., 0.]]), 'dW2': np.array([[ 0., 0., 0.],79[ 0., 0., 0.],80[ 0., 0., 0.]]), 'db1': np.array([[ 0.],81[ 0.]]), 'db2': np.array([[ 0.],82[ 0.],83[ 0.]])}, {'dW1': np.array([[ 0., 0., 0.],84[ 0., 0., 0.]]), 'dW2': np.array([[ 0., 0., 0.],85[ 0., 0., 0.],86[ 0., 0., 0.]]), 'db1': np.array([[ 0.],87[ 0.]]), 'db2': np.array([[ 0.],88[ 0.],89[ 0.]])})90W1 = np.random.randn(2,3)91b1 = np.random.randn(2,1)92W2 = np.random.randn(3,3)93b2 = np.random.randn(3,1)9495dW1 = np.random.randn(2,3)96db1 = np.random.randn(2,1)97dW2 = np.random.randn(3,3)98db2 = np.random.randn(3,1)99100parameters = {"W1": W1, "b1": b1, "W2": W2, "b2": b2}101grads = {"dW1": dW1, "db1": db1, "dW2": dW2, "db2": db2}102103return parameters, grads, v, s104105106