MCPcopy Create free account
hub / github.com/CandleLabAI/PCBSegClassNet / tem_block

Function tem_block

src/models/blocks.py:171–226  ·  view source on GitHub ↗

Texture Enhancement Module Args: inputs: input to the tem module Returns: permute_2: output from the tem module

(inputs)

Source from the content-addressed store, hash-verified

169 return tf.keras.layers.concatenate(concat_list)
170
171def tem_block(inputs):
172 """
173 Texture Enhancement Module
174 Args:
175 inputs: input to the tem module
176 Returns:
177 permute_2: output from the tem module
178 """
179 conv_1 = tf.keras.layers.Conv2D(filters=256,
180 kernel_size=(3, 3),
181 padding="same",
182 name="conv_1")(inputs)
183 gap_1 = tf.keras.layers.GlobalAveragePooling2D(keepdims=True,
184 name="gap_1")(conv_1)
185 conv_2 = tf.keras.layers.Conv2D(filters=256,
186 kernel_size=(1, 1),
187 activation="relu",
188 padding="same",
189 name="conv_2")(gap_1)
190 conv_3 = tf.keras.layers.Conv2D(filters=256,
191 kernel_size=(1, 1),
192 activation="sigmoid",
193 padding="same",
194 name="conv_3")(conv_2)
195 mult_1 = tf.keras.layers.Multiply(name="mult_1")([conv_1, conv_3])
196 add_1 = tf.keras.layers.Add(name="add_123")([conv_1, mult_1])
197
198 gap_2 = tf.keras.layers.GlobalAveragePooling2D(keepdims=True,
199 name="gap_2")(add_1)
200 cos_sim_1 = tf.keras.layers.Dot(axes=(3),
201 normalize=True,
202 name="cos_sim1")([gap_2, add_1])
203 reshape_1 = tf.keras.layers.Flatten()(cos_sim_1)
204 transpose_1 = tf.keras.backend.transpose(reshape_1)
205 mat_mul_1 = tf.keras.backend.dot(transpose_1,
206 reshape_1)
207
208 conv_4 = tf.keras.layers.Conv2D(filters=256,
209 kernel_size=(1, 1),
210 padding="same",
211 name="conv_4")(add_1)
212 permute_1 = tf.keras.layers.Permute((3, 1, 2),
213 name="permute_1")(conv_4)
214 reshape_2 = tf.keras.layers.Reshape((-1,
215 int(conv_4.shape[-2]) * int(conv_4.shape[-3])),
216 name="reshape_2")(permute_1)
217 mat_mul_2 = tf.keras.backend.dot(reshape_2,
218 mat_mul_1)
219
220 reshape_3 = tf.keras.layers.Reshape((-1,
221 int(conv_4.shape[-2]),
222 int(conv_4.shape[-3])), name="reshape_3")(mat_mul_2)
223 permute_2 = tf.keras.layers.Permute((2, 3, 1),
224 name="permute_2")(reshape_3)
225
226 return permute_2
227
228def learning_module(input_layer):

Callers 1

get_decoderFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected