Пример #1
0
    def test_shape_inference2(self):
        part1 = Linear(10, 100)
        part2 = Linear(100, 20)

        self.assertEqual(part1.get_shape(), ([Shape(10)], [Shape(100)]))
        self.assertEqual(part2.get_shape(), ([Shape(100)], [Shape(20)]))

        part1.chain(part2)

        self.assertEqual(part1.get_shape(), ([Shape(10)], [Shape(100)]))
        self.assertEqual(part2.get_shape(), ([Shape(100)], [Shape(20)]))
Пример #2
0
    def test_shape_elementwise(self):
        part1 = Linear()
        part2 = Linear(20)

        self.assertEqual(part1.get_shape(), (None, None))
        self.assertEqual(part2.get_shape(), (None, [Shape(20)]))

        part2.chain(part1)

        self.assertEqual(part1.get_shape(), ([Shape(20)], [Shape(20)]))
        self.assertEqual(part2.get_shape(), (None, [Shape(20)]))
Пример #3
0
    def test_shape_inference2(self):
        part1 = Linear(10, 100)
        part2 = Linear(100, 20)

        self.assertEqual(part1.get_shape(), ([Shape(10)], [Shape(100)]))
        self.assertEqual(part2.get_shape(), ([Shape(100)], [Shape(20)]))

        part1.chain(part2)

        self.assertEqual(part1.get_shape(), ([Shape(10)], [Shape(100)]))
        self.assertEqual(part2.get_shape(), ([Shape(100)], [Shape(20)]))
Пример #4
0
    def test_shape_elementwise(self):
        part1 = Linear()
        part2 = Linear(20)

        self.assertEqual(part1.get_shape(), (None, None))
        self.assertEqual(part2.get_shape(), (None, [Shape(20)]))

        part2.chain(part1)

        self.assertEqual(part1.get_shape(), ([Shape(20)], [Shape(20)]))
        self.assertEqual(part2.get_shape(), (None, [Shape(20)]))
Пример #5
0
    def test_shape_elementwise2(self):
        part1 = Linear(20)
        part2 = Linear()
        part3 = Linear(30, 40)

        self.assertEqual(part1.get_shape(), (None, [Shape(20)]))
        self.assertEqual(part2.get_shape(), (None, None))
        self.assertEqual(part3.get_shape(), ([Shape(30)], [Shape(40)]))

        part4 = part1.chain(part2)

        self.assertEqual(part1.get_shape(), (None, [Shape(20)]))
        self.assertEqual(part2.get_shape(), ([Shape(20)], [Shape(20)]))
        self.assertEqual(part4.get_shape(), (None, [Shape(20)]))

        with self.assertRaises(ShapeInError):
            part4.chain(part3)
Пример #6
0
    def test_shape_elementwise2(self):
        part1 = Linear(20)
        part2 = Linear()
        part3 = Linear(30, 40)

        self.assertEqual(part1.get_shape(), (None, [Shape(20)]))
        self.assertEqual(part2.get_shape(), (None, None))
        self.assertEqual(part3.get_shape(), ([Shape(30)], [Shape(40)]))

        part4 = part1.chain(part2)

        self.assertEqual(part1.get_shape(), (None, [Shape(20)]))
        self.assertEqual(part2.get_shape(), ([Shape(20)], [Shape(20)]))
        self.assertEqual(part4.get_shape(), (None, [Shape(20)]))

        with self.assertRaises(ShapeInError):
            part4.chain(part3)
Пример #7
0
    def test_bad_shape2(self):
        part1 = Linear(100)
        part2 = Linear(20)

        self.assertEqual(part1.get_shape(), (None, [Shape(100)]))
        self.assertEqual(part2.get_shape(), (None, [Shape(20)]))

        part1.chain(part2)

        self.assertEqual(part1.get_shape(), (None, [Shape(100)]))
        self.assertEqual(part2.get_shape(), ([Shape(100)], [Shape(20)]))

        part3 = Linear(100)
        part2.chain(part3)

        part4 = Linear(90)
        with self.assertRaises(ShapeInError):
            part4.chain(part3)
Пример #8
0
    def test_bad_shape2(self):
        part1 = Linear(100)
        part2 = Linear(20)

        self.assertEqual(part1.get_shape(), (None, [Shape(100)]))
        self.assertEqual(part2.get_shape(), (None, [Shape(20)]))

        part1.chain(part2)

        self.assertEqual(part1.get_shape(), (None, [Shape(100)]))
        self.assertEqual(part2.get_shape(), ([Shape(100)], [Shape(20)]))

        part3 = Linear(100)
        part2.chain(part3)

        part4 = Linear(90)
        with self.assertRaises(ShapeInError):
            part4.chain(part3)
Пример #9
0
    def test_bad_shape(self):
        part1 = Linear(10, 100)
        part2 = Linear(90, 20)

        with self.assertRaises(ShapeInError):
            part1.chain(part2)
Пример #10
0
    def test_bad_shape(self):
        part1 = Linear(10, 100)
        part2 = Linear(90, 20)

        with self.assertRaises(ShapeInError):
            part1.chain(part2)