def test_output(self): n_inputs = 10 n_hidden = 20 x = tf.placeholder(dtype=tf.float32, shape=[None,n_inputs]) input_layer = Layer(n_units=n_inputs,activation=x) nn = NeuralNetwork(input_layer) # add an identity layer id_layer = Layer(n_hidden, activation=tf.identity) nn.add_layer(id_layer,biased=True) wij = nn.weights(0,1) expected_out = id_layer.activation(tf.add(tf.matmul(x,wij), nn.biases(1))) init = tf.initialize_all_variables() with tf.Session() as ss: ss.run(init) feed = {x: np.ones((1,n_inputs),dtype=np.float32)} r1 = ss.run(nn.output(), feed_dict=feed) r2 = ss.run(expected_out,feed_dict=feed) self.assertTrue(np.array_equal(r1,r2))
def test_biases(self): n_inputs = 10 n_hidden = 20 x = tf.ones([1,n_inputs]) input_layer = Layer(n_units=n_inputs,activation=x) nn = NeuralNetwork(input_layer) # add a layer with biases id_layer = Layer(n_hidden,activation=tf.identity) nn.add_layer(id_layer, biased=True) # get biases b = nn.biases(1) self.assertIsInstance(b,tf.Variable) init = tf.initialize_all_variables() with tf.Session() as ss: ss.run(init) (bs) = ss.run(tf.shape(b)) self.assertEqual(bs,n_hidden)