Exemplo n.º 1
0
 def test_conv_ext_false_bias_term(self, weights_biases_mock,
                                   layout_attrs_mock):
     weights_biases_mock.return_value = {}
     layout_attrs_mock.return_value = {}
     params = {
         'pad': 10,
         'kernel_size': 11,
         'stride': 12,
         'dilation': 13,
         'group': 14,
         'num_output': 15,
         'bias_term': False
     }
     node = PB({'pb': FakeConvProtoLayer(FakeMultiParam(params))})
     res = DeconvFrontExtractor.extract(node)
     res = node
     exp_res = {
         'op': 'Deconv2D',
         'pad': np.array([[0, 0], [0, 0], [10, 10], [10, 10]]),
         'pad_spatial_shape': np.array([[10, 10], [10, 10]]),
         'stride': np.array([1, 1, 12, 12]),
         'kernel_spatial': np.array([11, 11]),
         'dilation': np.array([1, 1, 13, 13]),
         'group': 14,
         'bias_addable': True,
         'bias_term': False,
     }
     self.assertTrue(weights_biases_mock.called)
     self.assertTrue(layout_attrs_mock.called)
     for key in exp_res.keys():
         if key in ('pad', 'pad_spatial_shape', 'stride', 'kernel_spatial',
                    'dilation', 'bias_term'):
             np.testing.assert_equal(res[key], exp_res[key])
         else:
             self.assertEqual(res[key], exp_res[key])
Exemplo n.º 2
0
 def test_conv_ext_empty_numbers(self, weights_biases_mock,
                                 layout_attrs_mock):
     weights_biases_mock.return_value = {}
     layout_attrs_mock.return_value = {}
     params = {
         'pad': None,
         'kernel_size': None,
         'stride': None,
         'dilation': None,
         'group': 14,
         'num_output': 15,
         'bias_term': True,
         'pad_w': 3,
         'pad_h': 4,
         'kernel_w': 5,
         'kernel_h': 6,
         'stride_h': 3,
         'stride_w': 2,
     }
     node = PB({'pb': FakeConvProtoLayer(FakeMultiParam(params))})
     res = DeconvFrontExtractor.extract(node)
     res = node
     exp_res = {
         'op': 'Deconv2D',
         'pad': np.array([[0, 0], [0, 0], [4, 4], [3, 3]]),
         'pad_spatial_shape': np.array([[4, 4], [3, 3]]),
         'stride': np.array([1, 1, 3, 2]),
         'kernel_spatial': np.array([6, 5]),
         'dilation': np.array([1, 1, 1, 1]),
         'group': 14,
         'bias_addable': True,
     }
     self.assertTrue(weights_biases_mock.called)
     self.assertTrue(layout_attrs_mock.called)
     for key in exp_res.keys():
         if key in ('pad', 'pad_spatial_shape', 'stride', 'kernel_spatial',
                    'dilation'):
             np.testing.assert_equal(res[key], exp_res[key])
         else:
             self.assertEqual(res[key], exp_res[key])