MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / check_kernels

Function check_kernels

tests/networks/nets/test_hovernet.py:103–153  ·  view source on GitHub ↗
(net, mode)

Source from the content-addressed store, hash-verified

101
102
103def check_kernels(net, mode):
104 # Check the Encoder blocks
105 for layer_num, res_block in enumerate(net.res_blocks):
106 for inner_num, layer in enumerate(res_block.layers):
107 if layer_num > 0 and inner_num == 0:
108 sz = 2
109 else:
110 sz = 1
111
112 if (
113 layer.layers.conv1.kernel_size != (1, 1)
114 or layer.layers.conv2.kernel_size != (3, 3)
115 or layer.layers.conv3.kernel_size != (1, 1)
116 ):
117 return True
118
119 if (
120 layer.layers.conv1.stride != (1, 1)
121 or layer.layers.conv2.stride != (sz, sz)
122 or layer.layers.conv3.stride != (1, 1)
123 ):
124 return True
125
126 sz2 = 1
127 if layer_num > 0:
128 sz2 = 2
129 if res_block.shortcut.kernel_size != (1, 1) or res_block.shortcut.stride != (sz2, sz2):
130 return True
131
132 if net.bottleneck.conv_bottleneck.kernel_size != (1, 1) or net.bottleneck.conv_bottleneck.stride != (1, 1):
133 return True
134
135 # Check HV Branch
136 if check_branch(net.horizontal_vertical.decoder_blocks, mode):
137 return True
138 if check_output(net.horizontal_vertical.output_features, mode):
139 return True
140
141 # Check NP Branch
142 if check_branch(net.nucleus_prediction.decoder_blocks, mode):
143 return True
144 if check_output(net.nucleus_prediction.output_features, mode):
145 return True
146
147 # Check NC Branch
148 if check_branch(net.type_prediction.decoder_blocks, mode):
149 return True
150 if check_output(net.type_prediction.output_features, mode):
151 return True
152
153 return False
154
155
156class TestHoverNet(unittest.TestCase):

Callers 1

test_kernels_stridesMethod · 0.85

Calls 2

check_branchFunction · 0.85
check_outputFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…