经过对原作者的代码修改,可以用到3080平台。
请在git clone后将root文件夹名称修改为crfnet。
-
环境:
- GPU: NVDIA Geforce RTX3080 x 2
- System: Windows10
- python: 3.6.13
- tensorflow: 2.4.1
- keras: 2.2.4
https://github.com/nacayu/CRFNet_reproduce_on_tensorflow2.4.4_3080
感谢作者提供了一个非常棒的融合模型!
修改不易,欢迎star原作者的工作(和我的修改代码)
模型结构:
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
input_1 (InputLayer) (None, 360, 640, 5) 0
__________________________________________________________________________________________________
image_channels (Lambda) (None, 360, 640, 3) 0 input_1[0][0]
__________________________________________________________________________________________________
radar_channels (Lambda) (None, 360, 640, 2) 0 input_1[0][0]
__________________________________________________________________________________________________
concat_0 (Concatenate) (None, 360, 640, 5) 0 image_channels[0][0]
radar_channels[0][0]
__________________________________________________________________________________________________
block1_conv1 (Conv2D) (None, 360, 640, 64) 2944 concat_0[0][0]
__________________________________________________________________________________________________
block1_conv2 (Conv2D) (None, 360, 640, 64) 36928 block1_conv1[0][0]
__________________________________________________________________________________________________
block1_pool (MaxPooling2D) (None, 180, 320, 64) 0 block1_conv2[0][0]
__________________________________________________________________________________________________
rad_block1_pool (MaxPooling2D) (None, 180, 320, 2) 0 radar_channels[0][0]
__________________________________________________________________________________________________
concat_1 (Concatenate) (None, 180, 320, 66) 0 block1_pool[0][0]
rad_block1_pool[0][0]
__________________________________________________________________________________________________
block2_conv1 (Conv2D) (None, 180, 320, 128 76160 concat_1[0][0]
__________________________________________________________________________________________________
block2_conv2 (Conv2D) (None, 180, 320, 128 147584 block2_conv1[0][0]
__________________________________________________________________________________________________
block2_pool (MaxPooling2D) (None, 90, 160, 128) 0 block2_conv2[0][0]
__________________________________________________________________________________________________
rad_block2_pool (MaxPooling2D) (None, 90, 160, 2) 0 rad_block1_pool[0][0]
__________________________________________________________________________________________________
concat_2 (Concatenate) (None, 90, 160, 130) 0 block2_pool[0][0]
rad_block2_pool[0][0]
__________________________________________________________________________________________________
block3_conv1 (Conv2D) (None, 90, 160, 256) 299776 concat_2[0][0]
__________________________________________________________________________________________________
block3_conv2 (Conv2D) (None, 90, 160, 256) 590080 block3_conv1[0][0]
__________________________________________________________________________________________________
block3_conv3 (Conv2D) (None, 90, 160, 256) 590080 block3_conv2[0][0]
__________________________________________________________________________________________________
block3_pool (MaxPooling2D) (None, 45, 80, 256) 0 block3_conv3[0][0]
__________________________________________________________________________________________________
rad_block3_pool (MaxPooling2D) (None, 45, 80, 2) 0 rad_block2_pool[0][0]
__________________________________________________________________________________________________
concat_3 (Concatenate) (None, 45, 80, 258) 0 block3_pool[0][0]
rad_block3_pool[0][0]
__________________________________________________________________________________________________
block4_conv1 (Conv2D) (None, 45, 80, 512) 1189376 concat_3[0][0]
__________________________________________________________________________________________________
block4_conv2 (Conv2D) (None, 45, 80, 512) 2359808 block4_conv1[0][0]
__________________________________________________________________________________________________
block4_conv3 (Conv2D) (None, 45, 80, 512) 2359808 block4_conv2[0][0]
__________________________________________________________________________________________________
block4_pool (MaxPooling2D) (None, 22, 40, 512) 0 block4_conv3[0][0]
__________________________________________________________________________________________________
rad_block4_pool (MaxPooling2D) (None, 22, 40, 2) 0 rad_block3_pool[0][0]
__________________________________________________________________________________________________
concat_4 (Concatenate) (None, 22, 40, 514) 0 block4_pool[0][0]
rad_block4_pool[0][0]
__________________________________________________________________________________________________
block5_conv1 (Conv2D) (None, 22, 40, 512) 2369024 concat_4[0][0]
__________________________________________________________________________________________________
block5_conv2 (Conv2D) (None, 22, 40, 512) 2359808 block5_conv1[0][0]
__________________________________________________________________________________________________
block5_conv3 (Conv2D) (None, 22, 40, 512) 2359808 block5_conv2[0][0]
__________________________________________________________________________________________________
block5_pool (MaxPooling2D) (None, 11, 20, 512) 0 block5_conv3[0][0]
__________________________________________________________________________________________________
rad_block5_pool (MaxPooling2D) (None, 11, 20, 2) 0 rad_block4_pool[0][0]
__________________________________________________________________________________________________
concat_5 (Concatenate) (None, 11, 20, 514) 0 block5_pool[0][0]
rad_block5_pool[0][0]
__________________________________________________________________________________________________
C5_reduced (Conv2D) (None, 11, 20, 254) 130810 concat_5[0][0]
__________________________________________________________________________________________________
P5_upsampled (UpsampleLike) (None, 22, 40, 254) 0 C5_reduced[0][0]
concat_4[0][0]
__________________________________________________________________________________________________
C4_reduced (Conv2D) (None, 22, 40, 254) 130810 concat_4[0][0]
__________________________________________________________________________________________________
P4_merged (Add) (None, 22, 40, 254) 0 P5_upsampled[0][0]
C4_reduced[0][0]
__________________________________________________________________________________________________
P4_upsampled (UpsampleLike) (None, 45, 80, 254) 0 P4_merged[0][0]
concat_3[0][0]
__________________________________________________________________________________________________
C3_reduced (Conv2D) (None, 45, 80, 254) 65786 concat_3[0][0]
__________________________________________________________________________________________________
P6 (Conv2D) (None, 6, 10, 254) 1175258 concat_5[0][0]
__________________________________________________________________________________________________
P3_merged (Add) (None, 45, 80, 254) 0 P4_upsampled[0][0]
C3_reduced[0][0]
__________________________________________________________________________________________________
rad_block6_pool (MaxPooling2D) (None, 6, 10, 2) 0 rad_block5_pool[0][0]
__________________________________________________________________________________________________
C6_relu (Activation) (None, 6, 10, 254) 0 P6[0][0]
__________________________________________________________________________________________________
P3 (Conv2D) (None, 45, 80, 254) 580898 P3_merged[0][0]
__________________________________________________________________________________________________
P4 (Conv2D) (None, 22, 40, 254) 580898 P4_merged[0][0]
__________________________________________________________________________________________________
P5 (Conv2D) (None, 11, 20, 254) 580898 C5_reduced[0][0]
__________________________________________________________________________________________________
P7 (Conv2D) (None, 3, 5, 254) 580898 C6_relu[0][0]
__________________________________________________________________________________________________
rad_block7_pool (MaxPooling2D) (None, 3, 5, 2) 0 rad_block6_pool[0][0]
__________________________________________________________________________________________________
P3_rad (Concatenate) (None, 45, 80, 256) 0 P3[0][0]
rad_block3_pool[0][0]
__________________________________________________________________________________________________
P4_rad (Concatenate) (None, 22, 40, 256) 0 P4[0][0]
rad_block4_pool[0][0]
__________________________________________________________________________________________________
P5_rad (Concatenate) (None, 11, 20, 256) 0 P5[0][0]
rad_block5_pool[0][0]
__________________________________________________________________________________________________
P6_rad (Concatenate) (None, 6, 10, 256) 0 P6[0][0]
rad_block6_pool[0][0]
__________________________________________________________________________________________________
P7_rad (Concatenate) (None, 3, 5, 256) 0 P7[0][0]
rad_block7_pool[0][0]
__________________________________________________________________________________________________
regression_submodel (Model) multiple 2443300 P3_rad[0][0]
P4_rad[0][0]
P5_rad[0][0]
P6_rad[0][0]
P7_rad[0][0]
__________________________________________________________________________________________________
classification_submodel (Model) multiple 2526280 P3_rad[0][0]
P4_rad[0][0]
P5_rad[0][0]
P6_rad[0][0]
P7_rad[0][0]
__________________________________________________________________________________________________
regression (Concatenate) (None, 42975, 4) 0 regression_submodel[1][0]
regression_submodel[2][0]
regression_submodel[3][0]
regression_submodel[4][0]
regression_submodel[5][0]
__________________________________________________________________________________________________
classification (Concatenate) (None, 42975, 8) 0 classification_submodel[1][0]
classification_submodel[2][0]
classification_submodel[3][0]
classification_submodel[4][0]
classification_submodel[5][0]
==================================================================================================
Total params: 23,537,020
Trainable params: 23,537,020
Non-trainable params: 0
__________________________________________________________________________________________________