Path: blob/main/C3 - Unsupervised Learning, Recommenders, Reinforcement Learning/week2/C3W2/C3W2A2/public_tests.py
3565 views
from tensorflow.keras.activations import relu, linear1from tensorflow.keras.layers import Dense23import numpy as np45def test_tower(target):6num_outputs = 327i = 08assert len(target.layers) == 3, f"Wrong number of layers. Expected 3 but got {len(target.layers)}"9expected = [[Dense, [None, 256], relu],10[Dense, [None, 128], relu],11[Dense, [None, num_outputs], linear]]1213for layer in target.layers:14assert type(layer) == expected[i][0], \15f"Wrong type in layer {i}. Expected {expected[i][0]} but got {type(layer)}"16assert layer.output.shape.as_list() == expected[i][1], \17f"Wrong number of units in layer {i}. Expected {expected[i][1]} but got {layer.output.shape.as_list()}"18assert layer.activation == expected[i][2], \19f"Wrong activation in layer {i}. Expected {expected[i][2]} but got {layer.activation}"20i = i + 12122print("\033[92mAll tests passed!")232425def test_sq_dist(target):26a1 = np.array([1.0, 2.0, 3.0]); b1 = np.array([1.0, 2.0, 3.0])27c1 = target(a1, b1)28a2 = np.array([1.1, 2.1, 3.1]); b2 = np.array([1.0, 2.0, 3.0])29c2 = target(a2, b2)30a3 = np.array([0, 1]); b3 = np.array([1, 0])31c3 = target(a3, b3)32a4 = np.array([1, 1, 1, 1, 1]); b4 = np.array([0, 0, 0, 0, 0])33c4 = target(a4, b4)3435assert np.isclose(c1, 0), f"Wrong value. Expected {0}, got {c1}"36assert np.isclose(c2, 0.03), f"Wrong value. Expected {0.03}, got {c2}"37assert np.isclose(c3, 2), f"Wrong value. Expected {2}, got {c3}"38assert np.isclose(c4, 5), f"Wrong value. Expected {5}, got {c4}"3940print('\033[92mAll tests passed!')414243