Beispiel #1
0
class MnistTest(unittest.TestCase):
    def setUp(self):
        self.mock = Net()

    def tearDown(self):
        self.mock.close()

    def test_mnist(self):
        mock = self.mock  #= Deco()
        make_net(mock)
        test(mock, self)
Beispiel #2
0
class Test(unittest.TestCase):
    def setUp(self):
        self.mock = Net()

    def tearDown(self):
        self.mock.close()

    def test_add_layer(self):
        mock = self.mock
        mock.add_layer(3)

    def test_add_layer_shape(self):
        mock = self.mock
        mock.add_layer(shape=[None, 12 * 12, 5])

    def test_for_features_net(self):
        mock = self.mock
        width = 12
        size = 3
        mock.add_layer(shape=[None, width * width * size])
        mock.add_layer(100)
        mock.add_layer(width * width)

    def test_reshape(self):
        width = 12
        size = 40
        features = np.random.rand(width, width, size)
        features = features.reshape([width * width * size])

    def test_tf_reduce_mean_of_boolean_list(self):
        x = [True, True, True, False]
        try:
            with tf.Session() as s:
                acc = tf.reduce_mean(tf.cast(x, tf.float32))
                self.assertEquals(.75, s.run(acc))
        finally:
            s.close()

    def test_acc(self):
        out = np.zeros([5, 3])
        target = np.zeros([5, 3])
        out[:5, 0] = 1
        target[:4, 0] = 1
        target[4, 1] = 1
        try:
            with tf.Session() as s:
                acc = self.mock.get_acc(out, target)
                self.assertAlmostEquals(.8, acc)
        finally:
            s.close()
Beispiel #3
0
class XorTest(unittest.TestCase):
    def setUp(self):
        self.mock = Net()

    def tearDown(self):
        self.mock.close()

    def test_xor(self):
        make_net(self.mock)
        mock = self.mock
        first_loss = mock.run(mock.loss)
        mock.fit()
        trained_loss = mock.run(mock.loss)
        self.assertTrue(first_loss > trained_loss)
        self.assertGreater(first_loss, trained_loss)
        self.assertTrue(.005 > trained_loss,
                        msg='trained_loss=%3.5f' % trained_loss)
Beispiel #4
0
class Test(ut.TestCase):
    def setUp(self):
        ut.TestCase.setUp(self)
        self.mock = Net()

    def tearDown(self):
        ut.TestCase.tearDown(self)
        self.mock.close()

    # width == height
    def test_add_conv2d_square(self):
        mock = self.mock
        width = 10
        height = width
        input_channel_size = 3
        # 10 * 10 * 3
        # width = 10 = height
        # input channel size = 3
        mock.add_layer(width * height * input_channel_size)

        filter_size = 5
        output_channel_size = 64
        mock.add_conv2d(filter_size, output_channel_size, width, height,
                        input_channel_size)

    def test_make_auto_normal_layer(self):
        mock = self.mock
        width = 28
        height = width
        input_channel_size = 5
        output_channel_size = 7
        filter_size = 5
        mock.add_conv2d(filter_size, output_channel_size, width, height,
                        input_channel_size)
        self.assertEquals([None, width * height * input_channel_size],
                          mock.layers[0].get_shape().as_list())

    def test_add_conv2d_on_conv2d(self):
        mock = self.mock
        width = 28
        height = width
        input_channel_size = 5
        output_channel_size = 7
        filter_size = 5
        mock.add_conv2d(filter_size, output_channel_size, width, height,
                        input_channel_size)
        mock.add_conv2d(filter_size, output_channel_size)
        mock.add_layer(5)

    def test_pool(self):
        mock = self.mock
        width = 28
        height = width
        input_channel_size = 5
        output_channel_size = 7
        filter_size = 5
        mock.add_conv2d(filter_size, output_channel_size, width, height,
                        input_channel_size)
        mock.add_pool()
        mock.add_conv2d(filter_size, output_channel_size)
        mock.add_pool()
        mock.add_layer(7)

    def test_get_width_height_for_convolution_layer(self):
        mock = self.mock
        width = 28
        height = width
        input_channel_size = 5
        output_channel_size = 7
        filter_size = 5
        mock.add_conv2d(filter_size, output_channel_size, width, height,
                        input_channel_size)
        width_, height_, output_channel_size_ = mock.get_width_height_input_channel_size(
        )
        self.assertEquals([width, height, output_channel_size],
                          [width_, height_, output_channel_size_])

    def test_add_second_conv2d_layer_without_width_height_input_channel_size(
            self):
        mock = self.mock
        width = 28
        height = width
        input_channel_size = 5
        output_channel_size = 7
        filter_size = 5
        mock.add_conv2d(filter_size, output_channel_size, width, height,
                        input_channel_size)
        mock.add_conv2d(filter_size, output_channel_size)