Spaces:
Running
Running
Create Network.py
Browse files- Network.py +33 -0
Network.py
ADDED
@@ -0,0 +1,33 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from keras.layers import Input, Conv2D, Conv2DTranspose, Concatenate
|
2 |
+
from keras.applications.vgg19 import VGG19
|
3 |
+
from keras.models import Model
|
4 |
+
|
5 |
+
def build_vgg():
|
6 |
+
vgg_model = VGG19(include_top=False, weights='imagenet')
|
7 |
+
vgg_model.trainable = False
|
8 |
+
return Model(inputs=vgg_model.input, outputs=vgg_model.get_layer('block3_conv4').output)
|
9 |
+
|
10 |
+
def build_mbllen(input_shape):
|
11 |
+
|
12 |
+
def EM(input, kernal_size, channel):
|
13 |
+
conv_1 = Conv2D(channel, (3, 3), activation='relu', padding='same', data_format='channels_last')(input)
|
14 |
+
conv_2 = Conv2D(channel, (kernal_size, kernal_size), activation='relu', padding='valid', data_format='channels_last')(conv_1)
|
15 |
+
conv_3 = Conv2D(channel*2, (kernal_size, kernal_size), activation='relu', padding='valid', data_format='channels_last')(conv_2)
|
16 |
+
conv_4 = Conv2D(channel*4, (kernal_size, kernal_size), activation='relu', padding='valid', data_format='channels_last')(conv_3)
|
17 |
+
conv_5 = Conv2DTranspose(channel*2, (kernal_size, kernal_size), activation='relu', padding='valid', data_format='channels_last')(conv_4)
|
18 |
+
conv_6 = Conv2DTranspose(channel, (kernal_size, kernal_size), activation='relu', padding='valid', data_format='channels_last')(conv_5)
|
19 |
+
res = Conv2DTranspose(3, (kernal_size, kernal_size), activation='relu', padding='valid', data_format='channels_last')(conv_6)
|
20 |
+
return res
|
21 |
+
|
22 |
+
inputs = Input(shape=input_shape)
|
23 |
+
FEM = Conv2D(32, (3, 3), activation='relu', padding='same', data_format='channels_last')(inputs)
|
24 |
+
EM_com = EM(FEM, 5, 8)
|
25 |
+
|
26 |
+
for j in range(3):
|
27 |
+
for i in range(0, 3):
|
28 |
+
FEM = Conv2D(32, (3, 3), activation='relu', padding='same', data_format='channels_last')(FEM)
|
29 |
+
EM1 = EM(FEM, 5, 8)
|
30 |
+
EM_com = Concatenate(axis=3)([EM_com, EM1])
|
31 |
+
|
32 |
+
outputs = Conv2D(3, (1, 1), activation='relu', padding='same', data_format='channels_last')(EM_com)
|
33 |
+
return Model(inputs, outputs)
|