(self)
| 26 | pass |
| 27 | |
| 28 | def test_net1(self): |
| 29 | print('-' * 20, 'test_net1', '-' * 20) |
| 30 | |
| 31 | def get_model(input_shape): |
| 32 | ni = Input(input_shape) |
| 33 | |
| 34 | nii = Conv2d(32, filter_size=(3, 3), strides=(1, 1), name='conv1')(ni) |
| 35 | nn = Dropout(keep=0.9, name='drop1')(nii) |
| 36 | |
| 37 | conv = Conv2d(32, filter_size=(3, 3), strides=(1, 1), name='conv2') |
| 38 | tt = conv(nn) # conv2_node_0 |
| 39 | nn = conv(nn) # conv2_node_1 |
| 40 | |
| 41 | # a branch |
| 42 | na = Conv2d(64, filter_size=(3, 3), strides=(1, 1), name='conv3')(nn) |
| 43 | na = MaxPool2d(name='pool1')(na) |
| 44 | |
| 45 | # b branch |
| 46 | nb = MaxPool2d(name='pool2')(nn) |
| 47 | nb = conv(nb) # conv2_node_2 |
| 48 | |
| 49 | out = Concat(name='concat')([na, nb]) |
| 50 | M = Model(inputs=ni, outputs=[out, nn, nb]) |
| 51 | |
| 52 | gg = conv(nii) # this node will not be added since model fixed |
| 53 | |
| 54 | return M |
| 55 | |
| 56 | net = get_model([None, 24, 24, 3]) |
| 57 | |
| 58 | for k, v in enumerate(net._node_by_depth): |
| 59 | print(k, [x.name for x in v], [x.in_tensors_idxes for x in v]) |
| 60 | |
| 61 | all_node_names = [] |
| 62 | for k, v in enumerate(net._node_by_depth): |
| 63 | all_node_names.extend([x.name for x in v]) |
| 64 | |
| 65 | self.assertNotIn('conv2_node_0', all_node_names) |
| 66 | self.assertNotIn('conv2_node_3', all_node_names) |
| 67 | |
| 68 | self.assertEqual(len(net.all_layers), 8) |
| 69 | print(net.all_layers) |
| 70 | |
| 71 | data = np.random.normal(size=[2, 24, 24, 3]).astype(np.float32) |
| 72 | out, nn, nb = net(data, is_train=True) |
| 73 | |
| 74 | self.assertEqual(nn.shape, [2, 24, 24, 32]) |
| 75 | self.assertEqual(nb.shape, [2, 12, 12, 32]) |
| 76 | |
| 77 | def test_net2(self): |
| 78 | print('-' * 20, 'test_net2', '-' * 20) |
nothing calls this directly
no test coverage detected