Code Monkey home page Code Monkey logo

msmdff-net's Introduction

A Multiscale and Multidirection Feature Fusion Network for Road Detection From Satellite Imagery

This paper (MSMDFF-Net) has been published in IEEE TGRS 2024.

This code is licensed for non-commerical research purpose only.

Introduction

The completeness of road extraction is very important for road application. However, existing deep learning (DP) methods of extraction often generate fragmented results. The prime reason is that DP-based road extraction methods use square kernel convolution, which is challenging to learn long-range contextual relationships of roads. The road often produce fractures in the local interference area. Besides, the quality of extraction results will be subjected to the resolution of remote sensing (RS) image. Generally, an algorithm will produce worse fragmentation when the used data differ from the resolution of the training set. To address these issues, we propose a novel road extraction framework for RS images, named the multiscale and multidirection feature fusion network (MSMDFF-Net). This framework comprises three main components: the multidirectional feature fusion (MDFF) initial block, the multiscale residual (MSR) encoder, and the multidirectional combined fusion (MDCF) decoder. First, according to the road’s morphological characteristics, we develop a strip convolution module with a direction parameter (SCM-D). Then, to make the extracted result more complete, four SCM-D with different directions are used to MDFF-initial block and multidirectional combined fusion decoder (MDCF-decoder). Finally, we incorporate an additional branch into the residual network (ResNet) encoding module to build multiscale residual encoder (MSR-encoder) for improving the generalization of the model on different resolution RS image. Extensive experiments on three popular datasets with different resolution (Massachusetts, DeepGlobe, and SpaceNet datasets) show that the proposed MSMDFF-Net achieves new state-of-the-art results. The code will be available at https://github.com/wycloveinfall/MSMDFF-NET. fig1.png fig2.png

Citations

If you are using the code/model provided here in a publication, please consider citing:

@article{wang2024MSMDFF-Net,
title={A Multiscale and Multidirection Feature Fusion Network for Road Detection From Satellite Imagery},
author={Wang, Yuchuan and Tong, Ling and Luo, Shiyu and Xiao, Fanghong and Yang, Jiaxing},
journal={IEEE Transactions on Geoscience and Remote Sensing},
volume={62},
pages={1-18},
year={2024},
publisher={IEEE},
doi={10.1109/TGRS.2024.3379988}}
}

Requirements

The code is built with the following dependencies:

  • Python ==3.8.16
  • PyTorch ==1.8.1
  • opencv-python==4.7.0.72
  • gdal==3.0.2
  • scikit-learn==1.2.2
  • tqdm==4.65.0
  • tensorboard==2.13.0
  • six==1.16.0
  • torchsummary==1.5.1
conda create -n torch1.8.1
conda activate torch1.8.1
conda install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=10.2 -c pytorch
conda install six==1.16.0
conda install gdal==3.0.2
pip install opencv-python==4.7.0.72
pip install scikit-learn==1.2.2
pip install tqdm==4.65.0
pip install tensorboard==2.13.0
pip install torchsummary==1.5.1

Data Preparation

PreProcess SpaceNet Dataset

  • Convert SpaceNet 11-bit images to 8-bit Images.
cd MSMDFF-NET-main
python data/data_tools/SP_datatools/1.convert_to_8bit.py
  • Create road centerline.
cd MSMDFF-NET-main
python data/data_tools/SP_datatools/2.cerete_label.py
  • Create road masks.
cd MSMDFF-NET-main
python data/data_tools/SP_datatools/3.fill_center_line.py 
  • select Train files. Not all JSON files can generate masks, so it's necessary to filter out paired training samples.
cd MSMDFF-NET-main
python data/data_tools/SP_datatools/4.choose_train_flie.py 

SpaceNet dataset tree structure.

before preprocessing

spacenet
|
└───AOI_2_Vegas
│   └───PS-RGB
|          └───SN3_roads_train_AOI_2_Vegas_PS-RGB_img1.tif
           └───SN3_roads_train_AOI_2_Vegas_PS-RGB_img2.tif
           └───---------
|   └———geojson_roads
           └───SN3_roads_train_AOI_2_Vegas_geojson_roads_img1.geojson
           └───SN3_roads_train_AOI_2_Vegas_geojson_roads_img2.geojson
└───AOI_3_Paris
└───AOI_4_Shanghai
└───AOI_4_Shanghai

after preprocessing

spacenet
|
└───AOI_2_Vegas
│   └───train_RGB
|          └───SN3_roads_train_AOI_2_Vegas_PS-RGB_img1_sat.tif
           └───SN3_roads_train_AOI_2_Vegas_PS-RGB_img2_sat.tif
           └───---------
|   └———label_width24
           └───SN3_roads_train_AOI_2_Vegas_roads_label_img1_mask.tif
           └───SN3_roads_train_AOI_2_Vegas_roads_label_img2_mask.tif
└───AOI_3_Paris
└───AOI_4_Shanghai
└───AOI_4_Shanghai

Download DeepGlobe Road dataset in the following tree structure.

DeepGlobe
   └───104_sat.jpg
   └───104_mask.jpg

Download Massachusetts Roads dataset in the following tree structure.

MassachusettsRoads
   └───train
         └───10078660_15.tiff
         └───10078675_15.tiff
   └───train_labels
         └───10078660_15.tif
         └───10078675_15.tif

Training

Before starting the training, the above data needs to be prepared.

Modify the configuration file.

general_cfg.py Open the configuration file, and then modify the following content.

################# you need to change following parameters ##############
DATA_TYPE_flage = '1' #todo you can set 0 1 2 to select SP DP MA dataset
batch_size = 1 #todo 
NUMBER_WORKERS = 0 #todo
image_size = [3,512,512] #todo
SHUFFLE = True
MODEL_SELECT_flag = "17" #todo

LOSS_FUNCTION_flage = "0" #todo you can choose different loss function

LR_SCHEDULER_flage = "6" #todo you can choose different methods for updating learning rate

OPTIMIZER_flage = "6" #todo you can select different OPTIMIZER

train_model_savePath = '/home/wyc/mount/DISCK_1/train_data_cache' #todo choose your save path

#######################  Numeric correspondence  ###########################################################
DATA_TYPE ={
    "-1":'v1',
    "0" : 'spacenet_512x512',
    "1" : 'DeepGlobe_512x512',
    "2" : 'Massachusetts_512x512'
}
_MODEL_SELECT = {
    ############## UNet 系列 ###############
    "1": "UNet",
    "2": "UNet++",
    ############## LinkNet 系列 #############
    "5": "LinkNet18",
    "6": "DinkNet18",
    "7": "LinkNet34",
    "8": "DinkNet34",
    "9": "LinkNet50",
    "10": "DinkNet50",
    ############# DeepRoadMapper 2017 ##########
    "11": "DeepRoadMapper_segment",
    ############## RoadCNN 2018 ################
    "12": "RoadCNN",
    ############## Batra_net 2019 ##############
    "13": "Batra_net",
    ############## GAMSNet 2021 ################
    "14": "GAMSNet",
    ############## CADUNet 2021 ################
    "15": "CADUNet",
    ################## CoANet ##################
    "16": "CoANet[withoutUB]",
    ############## SGCNNet 2022 ################
    "17": "SGCNNet",
    ############### MSMDFF 2024 ##############
    "18": "LinkNet34_MDFF",
    "19": "LinkNet34_MDCF_s2",
    #
    "20": "LinkNet34_MDFF_MDCF_v2",
    "21": "LinkNet34_MDFF_MSR",
    "22": "LinkNet34_MSR_MDCF",
    #
    "23": "LinkNet34_MDFF_strip_size_3",
    "24": "LinkNet34_MDFF_strip_size_5",
    "25": "LinkNet34_MDFF_strip_size_7",
    "26": "LinkNet34_MDFF_strip_size_9",
    "27": "LinkNet34_MDFF_strip_size_11",
    "28": "LinkNet34_MDFF_strip_size_13",
    #
    "29": "LinkNet34_MDCF_s2_strip_size_3",
    "30": "LinkNet34_MDCF_s2_strip_size_5",
    "31": "LinkNet34_MDCF_s2_strip_size_7",
    "32": "LinkNet34_MDCF_s2_strip_size_9",
    "33": "LinkNet34_MDCF_s2_strip_size_11",
    "34": "LinkNet34_MDCF_s2_strip_size_13",
    #
    "35": "CoANet_USE_SCMD",
    "36": "CoANet_USE_SCM",
    "37": "MSMDFF_USE_SCMD",
    "38": "MSMDFF_USE_SCM",

}


_LOSS_FUNCTION = {
    '0':'dice_bce_loss',
    '1':'MSE_loss',
    '2':'DiceLoss',
    '3':'MulticlassDiceLoss',
    '4':'SoftIoULoss',
    '5':'MSE_loss_edges',
    '6':'dice_bce_loss_edges'
}

_LR_SCHEDULER = {
    '0': "StepLR",# 每隔n个epoch时调整学习率,具体是用当前学习率乘以gamma即lr=lr∗gamma
    '1':"MultiStepLR",#milestones设定调整时刻数 gamma调整系数 如构建个list设置milestones=[50,125,180],在第50次、125次、180次时分别调整学习率,具体是用当前学习率乘以gamma即lr=lr∗gamma ;
    '2':"ExponentialLR",
    '3':"CosineAnnealingLR",
    '4':"ReduceLRonPlateau",
    '5':"LambdaLR",
    '6':"POLY"
    }

_OPTIMIZER = {
    '0':'SGD',
    '1':'ASGD',
    '2':'Rprop',
    '3':'Adagrad',
    '4':'Adadelta',
    '5':'RMSprop',
    '6':'Adam(AMSGrad)'}
########################################################################################################################

Run the configuration file.

cd MSMDFF-NET-main
python cfg_file/general_cfg.py

run traing file

cd MSMDFF-NET-main
python train.py

维护记录

如果任何人在代码运行过程中遇到问题,可以联系[email protected]

  • 2024.04.12 完整的代码已经上传完毕
  • 2024.04.13 更新代码运行需要的详细的环境配置信息
  • 2024.04.24 回复来自University of Brescia (Italy)的Andrea Loreggia,添加训练样本的划分方式,请注意示例中只给出了样本的名字,并没有给出绝对地址,如果使用需要加入绝对的文件路径.

msmdff-net's People

Contributors

wycloveinfall avatar

Stargazers

Yuxuan Li avatar LiuPeng avatar

Watchers

 avatar

Forkers

jayku88 lpeng625

msmdff-net's Issues

Road Dataset

Can you share the dataset that was used as a result of the paper's revisions?
If it's not convenient, can you share the SpaceNet dataset separately?
Thanks, my contact is [email protected]
Thank you very much for your work on this paper!

Size Mismatch

After that I tried another model and it is showing following error. How to start it by clearing previous instances

(torch1.9sta) jayakumar@hlbs-S2600STB:/MSMDFF-NET-main$ python cfg_file/general_cfg.py
cwd: /home/jayakumar/MSMDFF-NET-main
data use: /home/jayakumar/MSMDFF-NET-main/dataset_split_text/deepglobe/
本地样本划分!!!
/home/jayakumar/MSMDFF-NET-main
(torch1.9sta) jayakumar@hlbs-S2600STB:
/MSMDFF-NET-main$ python train.py
cwd: /home/jayakumar/MSMDFF-NET-main
Call Linux tasks
setting file: general_cfg
Time : 2024-06-24 09:24:47
MODEL_TYPE : MSMDFF_USE_SCM
Data_use : /home/jayakumar/MSMDFF-NET-main/data/train/DeepGlobe
Data_size : [3, 512, 512]
batch_size : 32
DataEnchance: True - False
Input_normal: False
OPTIMIZER_SETTING : {'LOSS_FCT': 'dice_bce_loss', 'OPTIMIZER': 'Adam(AMSGrad)', 'LR_SCHEDULER': 'POLY', 'MOMENTUM': 0.9, 'WEIGHT_DECAY': 0.0005, 'LR_INIT': 0.005, 'LR_END': 1e-06, 'WARMUP_EPOCHS': 2}
Train_save : /home/jayakumar/MSMDFF-NET-main/models/general_cfg-网络配置/weights/net_sate/
other log : {'main': 'default:soft iou + bce loss'}
########################### 分割线 #######################

Using POLY LR Scheduler!
Traceback (most recent call last):
File "train.py", line 233, in
solver.load(model_name)
File "/home/jayakumar/MSMDFF-NET-main/utils/frame_work_general.py", line 194, in load
self.net.load_state_dict(checkpoint_all)
File "/home/jayakumar/anaconda3/envs/torch1.9sta/lib/python3.8/site-packages/torch/nn/modules/module.py", line 2189, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for DataParallel:
Missing key(s) in state_dict: "module.init_block.conv_a0.0.weight", "module.init_block.conv_a0.1.weight", "module.init_block.conv_a0.1.bias", "module.init_block.conv_a0.1.running_mean", "module.init_block.conv_a0.1.running_var", "module.init_block.multi_conv1.weight", "module.init_block.multi_conv1.bias", "module.init_block.multi_conv2.weight", "module.init_block.multi_conv2.bias", "module.init_block.multi_conv3.weight", "module.init_block.multi_conv3.bias", "module.init_block.multi_conv4.weight", "module.init_block.multi_conv4.bias", "module.init_block.channel_concern.0.weight", "module.init_block.channel_concern.1.weight", "module.init_block.channel_concern.1.bias", "module.init_block.channel_concern.1.running_mean", "module.init_block.channel_concern.1.running_var", "module.encoder1.resnet_i.0.conv1.weight", "module.encoder1.resnet_i.0.bn1.weight", "module.encoder1.resnet_i.0.bn1.bias", "module.encoder1.resnet_i.0.bn1.running_mean", "module.encoder1.resnet_i.0.bn1.running_var", "module.encoder1.resnet_i.0.conv2.weight", "module.encoder1.resnet_i.0.bn2.weight", "module.encoder1.resnet_i.0.bn2.bias", "module.encoder1.resnet_i.0.bn2.running_mean", "module.encoder1.resnet_i.0.bn2.running_var", "module.encoder1.resnet_i.1.conv1.weight", "module.encoder1.resnet_i.1.bn1.weight", "module.encoder1.resnet_i.1.bn1.bias", "module.encoder1.resnet_i.1.bn1.running_mean", "module.encoder1.resnet_i.1.bn1.running_var", "module.encoder1.resnet_i.1.conv2.weight", "module.encoder1.resnet_i.1.bn2.weight", "module.encoder1.resnet_i.1.bn2.bias", "module.encoder1.resnet_i.1.bn2.running_mean", "module.encoder1.resnet_i.1.bn2.running_var", "module.encoder1.resnet_i.2.conv1.weight", "module.encoder1.resnet_i.2.bn1.weight", "module.encoder1.resnet_i.2.bn1.bias", "module.encoder1.resnet_i.2.bn1.running_mean", "module.encoder1.resnet_i.2.bn1.running_var", "module.encoder1.resnet_i.2.conv2.weight", "module.encoder1.resnet_i.2.bn2.weight", "module.encoder1.resnet_i.2.bn2.bias", "module.encoder1.resnet_i.2.bn2.running_mean", "module.encoder1.resnet_i.2.bn2.running_var", "module.encoder1.connect_i.connect_conv.conv1.weight", "module.encoder1.connect_i.connect_conv.bn1.weight", "module.encoder1.connect_i.connect_conv.bn1.bias", "module.encoder1.connect_i.connect_conv.bn1.running_mean", "module.encoder1.connect_i.connect_conv.bn1.running_var", "module.encoder1.connect_i.connect_conv.conv2.weight", "module.encoder1.connect_i.connect_conv.bn2.weight", "module.encoder1.connect_i.connect_conv.bn2.bias", "module.encoder1.connect_i.connect_conv.bn2.running_mean", "module.encoder1.connect_i.connect_conv.bn2.running_var", "module.encoder1.connect_i.connect_conv.downsample.0.weight", "module.encoder1.connect_i.connect_conv.downsample.1.weight", "module.encoder1.connect_i.connect_conv.downsample.1.bias", "module.encoder1.connect_i.connect_conv.downsample.1.running_mean", "module.encoder1.connect_i.connect_conv.downsample.1.running_var", "module.encoder2.resnet_i.0.conv1.weight", "module.encoder2.resnet_i.0.bn1.weight", "module.encoder2.resnet_i.0.bn1.bias", "module.encoder2.resnet_i.0.bn1.running_mean", "module.encoder2.resnet_i.0.bn1.running_var", "module.encoder2.resnet_i.0.conv2.weight", "module.encoder2.resnet_i.0.bn2.weight", "module.encoder2.resnet_i.0.bn2.bias", "module.encoder2.resnet_i.0.bn2.running_mean", "module.encoder2.resnet_i.0.bn2.running_var", "module.encoder2.resnet_i.0.downsample.0.weight", "module.encoder2.resnet_i.0.downsample.1.weight", "module.encoder2.resnet_i.0.downsample.1.bias", "module.encoder2.resnet_i.0.downsample.1.running_mean", "module.encoder2.resnet_i.0.downsample.1.running_var", "module.encoder2.resnet_i.1.conv1.weight", "module.encoder2.resnet_i.1.bn1.weight", "module.encoder2.resnet_i.1.bn1.bias", "module.encoder2.resnet_i.1.bn1.running_mean", "module.encoder2.resnet_i.1.bn1.running_var", "module.encoder2.resnet_i.1.conv2.weight", "module.encoder2.resnet_i.1.bn2.weight", "module.encoder2.resnet_i.1.bn2.bias", "module.encoder2.resnet_i.1.bn2.running_mean", "module.encoder2.resnet_i.1.bn2.running_var", "module.encoder2.resnet_i.2.conv1.weight", "module.encoder2.resnet_i.2.bn1.weight", "module.encoder2.resnet_i.2.bn1.bias", "module.encoder2.resnet_i.2.bn1.running_mean", "module.encoder2.resnet_i.2.bn1.running_var", "module.encoder2.resnet_i.2.conv2.weight", "module.encoder2.resnet_i.2.bn2.weight", "module.encoder2.resnet_i.2.bn2.bias", "module.encoder2.resnet_i.2.bn2.running_mean", "module.encoder2.resnet_i.2.bn2.running_var", "module.encoder2.resnet_i.3.conv1.weight", "module.encoder2.resnet_i.3.bn1.weight", "module.encoder2.resnet_i.3.bn1.bias", "module.encoder2.resnet_i.3.bn1.running_mean", "module.encoder2.resnet_i.3.bn1.running_var", "module.encoder2.resnet_i.3.conv2.weight", "module.encoder2.resnet_i.3.bn2.weight", "module.encoder2.resnet_i.3.bn2.bias", "module.encoder2.resnet_i.3.bn2.running_mean", "module.encoder2.resnet_i.3.bn2.running_var", "module.encoder2.connect_i.connect_conv.conv1.weight", "module.encoder2.connect_i.connect_conv.bn1.weight", "module.encoder2.connect_i.connect_conv.bn1.bias", "module.encoder2.connect_i.connect_conv.bn1.running_mean", "module.encoder2.connect_i.connect_conv.bn1.running_var", "module.encoder2.connect_i.connect_conv.conv2.weight", "module.encoder2.connect_i.connect_conv.bn2.weight", "module.encoder2.connect_i.connect_conv.bn2.bias", "module.encoder2.connect_i.connect_conv.bn2.running_mean", "module.encoder2.connect_i.connect_conv.bn2.running_var", "module.encoder2.connect_i.connect_conv.downsample.0.weight", "module.encoder2.connect_i.connect_conv.downsample.1.weight", "module.encoder2.connect_i.connect_conv.downsample.1.bias", "module.encoder2.connect_i.connect_conv.downsample.1.running_mean", "module.encoder2.connect_i.connect_conv.downsample.1.running_var", "module.encoder3.resnet_i.0.conv1.weight", "module.encoder3.resnet_i.0.bn1.weight", "module.encoder3.resnet_i.0.bn1.bias", "module.encoder3.resnet_i.0.bn1.running_mean", "module.encoder3.resnet_i.0.bn1.running_var", "module.encoder3.resnet_i.0.conv2.weight", "module.encoder3.resnet_i.0.bn2.weight", "module.encoder3.resnet_i.0.bn2.bias", "module.encoder3.resnet_i.0.bn2.running_mean", "module.encoder3.resnet_i.0.bn2.running_var", "module.encoder3.resnet_i.0.downsample.0.weight", "module.encoder3.resnet_i.0.downsample.1.weight", "module.encoder3.resnet_i.0.downsample.1.bias", "module.encoder3.resnet_i.0.downsample.1.running_mean", "module.encoder3.resnet_i.0.downsample.1.running_var", "module.encoder3.resnet_i.1.conv1.weight", "module.encoder3.resnet_i.1.bn1.weight", "module.encoder3.resnet_i.1.bn1.bias", "module.encoder3.resnet_i.1.bn1.running_mean", "module.encoder3.resnet_i.1.bn1.running_var", "module.encoder3.resnet_i.1.conv2.weight", "module.encoder3.resnet_i.1.bn2.weight", "module.encoder3.resnet_i.1.bn2.bias", "module.encoder3.resnet_i.1.bn2.running_mean", "module.encoder3.resnet_i.1.bn2.running_var", "module.encoder3.resnet_i.2.conv1.weight", "module.encoder3.resnet_i.2.bn1.weight", "module.encoder3.resnet_i.2.bn1.bias", "module.encoder3.resnet_i.2.bn1.running_mean", "module.encoder3.resnet_i.2.bn1.running_var", "module.encoder3.resnet_i.2.conv2.weight", "module.encoder3.resnet_i.2.bn2.weight", "module.encoder3.resnet_i.2.bn2.bias", "module.encoder3.resnet_i.2.bn2.running_mean", "module.encoder3.resnet_i.2.bn2.running_var", "module.encoder3.resnet_i.3.conv1.weight", "module.encoder3.resnet_i.3.bn1.weight", "module.encoder3.resnet_i.3.bn1.bias", "module.encoder3.resnet_i.3.bn1.running_mean", "module.encoder3.resnet_i.3.bn1.running_var", "module.encoder3.resnet_i.3.conv2.weight", "module.encoder3.resnet_i.3.bn2.weight", "module.encoder3.resnet_i.3.bn2.bias", "module.encoder3.resnet_i.3.bn2.running_mean", "module.encoder3.resnet_i.3.bn2.running_var", "module.encoder3.resnet_i.4.conv1.weight", "module.encoder3.resnet_i.4.bn1.weight", "module.encoder3.resnet_i.4.bn1.bias", "module.encoder3.resnet_i.4.bn1.running_mean", "module.encoder3.resnet_i.4.bn1.running_var", "module.encoder3.resnet_i.4.conv2.weight", "module.encoder3.resnet_i.4.bn2.weight", "module.encoder3.resnet_i.4.bn2.bias", "module.encoder3.resnet_i.4.bn2.running_mean", "module.encoder3.resnet_i.4.bn2.running_var", "module.encoder3.resnet_i.5.conv1.weight", "module.encoder3.resnet_i.5.bn1.weight", "module.encoder3.resnet_i.5.bn1.bias", "module.encoder3.resnet_i.5.bn1.running_mean", "module.encoder3.resnet_i.5.bn1.running_var", "module.encoder3.resnet_i.5.conv2.weight", "module.encoder3.resnet_i.5.bn2.weight", "module.encoder3.resnet_i.5.bn2.bias", "module.encoder3.resnet_i.5.bn2.running_mean", "module.encoder3.resnet_i.5.bn2.running_var", "module.encoder3.connect_i.connect_conv.conv1.weight", "module.encoder3.connect_i.connect_conv.bn1.weight", "module.encoder3.connect_i.connect_conv.bn1.bias", "module.encoder3.connect_i.connect_conv.bn1.running_mean", "module.encoder3.connect_i.connect_conv.bn1.running_var", "module.encoder3.connect_i.connect_conv.conv2.weight", "module.encoder3.connect_i.connect_conv.bn2.weight", "module.encoder3.connect_i.connect_conv.bn2.bias", "module.encoder3.connect_i.connect_conv.bn2.running_mean", "module.encoder3.connect_i.connect_conv.bn2.running_var", "module.encoder3.connect_i.connect_conv.downsample.0.weight", "module.encoder3.connect_i.connect_conv.downsample.1.weight", "module.encoder3.connect_i.connect_conv.downsample.1.bias", "module.encoder3.connect_i.connect_conv.downsample.1.running_mean", "module.encoder3.connect_i.connect_conv.downsample.1.running_var", "module.encoder4.resnet_i.0.conv1.weight", "module.encoder4.resnet_i.0.bn1.weight", "module.encoder4.resnet_i.0.bn1.bias", "module.encoder4.resnet_i.0.bn1.running_mean", "module.encoder4.resnet_i.0.bn1.running_var", "module.encoder4.resnet_i.0.conv2.weight", "module.encoder4.resnet_i.0.bn2.weight", "module.encoder4.resnet_i.0.bn2.bias", "module.encoder4.resnet_i.0.bn2.running_mean", "module.encoder4.resnet_i.0.bn2.running_var", "module.encoder4.resnet_i.0.downsample.0.weight", "module.encoder4.resnet_i.0.downsample.1.weight", "module.encoder4.resnet_i.0.downsample.1.bias", "module.encoder4.resnet_i.0.downsample.1.running_mean", "module.encoder4.resnet_i.0.downsample.1.running_var", "module.encoder4.resnet_i.1.conv1.weight", "module.encoder4.resnet_i.1.bn1.weight", "module.encoder4.resnet_i.1.bn1.bias", "module.encoder4.resnet_i.1.bn1.running_mean", "module.encoder4.resnet_i.1.bn1.running_var", "module.encoder4.resnet_i.1.conv2.weight", "module.encoder4.resnet_i.1.bn2.weight", "module.encoder4.resnet_i.1.bn2.bias", "module.encoder4.resnet_i.1.bn2.running_mean", "module.encoder4.resnet_i.1.bn2.running_var", "module.encoder4.resnet_i.2.conv1.weight", "module.encoder4.resnet_i.2.bn1.weight", "module.encoder4.resnet_i.2.bn1.bias", "module.encoder4.resnet_i.2.bn1.running_mean", "module.encoder4.resnet_i.2.bn1.running_var", "module.encoder4.resnet_i.2.conv2.weight", "module.encoder4.resnet_i.2.bn2.weight", "module.encoder4.resnet_i.2.bn2.bias", "module.encoder4.resnet_i.2.bn2.running_mean", "module.encoder4.resnet_i.2.bn2.running_var", "module.encoder4.connect_i.connect_conv.conv1.weight", "module.encoder4.connect_i.connect_conv.bn1.weight", "module.encoder4.connect_i.connect_conv.bn1.bias", "module.encoder4.connect_i.connect_conv.bn1.running_mean", "module.encoder4.connect_i.connect_conv.bn1.running_var", "module.encoder4.connect_i.connect_conv.conv2.weight", "module.encoder4.connect_i.connect_conv.bn2.weight", "module.encoder4.connect_i.connect_conv.bn2.bias", "module.encoder4.connect_i.connect_conv.bn2.running_mean", "module.encoder4.connect_i.connect_conv.bn2.running_var", "module.encoder4.connect_i.connect_conv.downsample.0.weight", "module.encoder4.connect_i.connect_conv.downsample.1.weight", "module.encoder4.connect_i.connect_conv.downsample.1.bias", "module.encoder4.connect_i.connect_conv.downsample.1.running_mean", "module.encoder4.connect_i.connect_conv.downsample.1.running_var", "module.c5.connect_conv.conv1.weight", "module.c5.connect_conv.bn1.weight", "module.c5.connect_conv.bn1.bias", "module.c5.connect_conv.bn1.running_mean", "module.c5.connect_conv.bn1.running_var", "module.c5.connect_conv.conv2.weight", "module.c5.connect_conv.bn2.weight", "module.c5.connect_conv.bn2.bias", "module.c5.connect_conv.bn2.running_mean", "module.c5.connect_conv.bn2.running_var", "module.c5.connect_conv.downsample.0.weight", "module.c5.connect_conv.downsample.1.weight", "module.c5.connect_conv.downsample.1.bias", "module.c5.connect_conv.downsample.1.running_mean", "module.c5.connect_conv.downsample.1.running_var", "module.c4.connect_conv.conv1.weight", "module.c4.connect_conv.bn1.weight", "module.c4.connect_conv.bn1.bias", "module.c4.connect_conv.bn1.running_mean", "module.c4.connect_conv.bn1.running_var", "module.c4.connect_conv.conv2.weight", "module.c4.connect_conv.bn2.weight", "module.c4.connect_conv.bn2.bias", "module.c4.connect_conv.bn2.running_mean", "module.c4.connect_conv.bn2.running_var", "module.c4.connect_conv.downsample.0.weight", "module.c4.connect_conv.downsample.1.weight", "module.c4.connect_conv.downsample.1.bias", "module.c4.connect_conv.downsample.1.running_mean", "module.c4.connect_conv.downsample.1.running_var", "module.c3.connect_conv.conv1.weight", "module.c3.connect_conv.bn1.weight", "module.c3.connect_conv.bn1.bias", "module.c3.connect_conv.bn1.running_mean", "module.c3.connect_conv.bn1.running_var", "module.c3.connect_conv.conv2.weight", "module.c3.connect_conv.bn2.weight", "module.c3.connect_conv.bn2.bias", "module.c3.connect_conv.bn2.running_mean", "module.c3.connect_conv.bn2.running_var", "module.c3.connect_conv.downsample.0.weight", "module.c3.connect_conv.downsample.1.weight", "module.c3.connect_conv.downsample.1.bias", "module.c3.connect_conv.downsample.1.running_mean", "module.c3.connect_conv.downsample.1.running_var", "module.c2.connect_conv.conv1.weight", "module.c2.connect_conv.bn1.weight", "module.c2.connect_conv.bn1.bias", "module.c2.connect_conv.bn1.running_mean", "module.c2.connect_conv.bn1.running_var", "module.c2.connect_conv.conv2.weight", "module.c2.connect_conv.bn2.weight", "module.c2.connect_conv.bn2.bias", "module.c2.connect_conv.bn2.running_mean", "module.c2.connect_conv.bn2.running_var", "module.c2.connect_conv.downsample.0.weight", "module.c2.connect_conv.downsample.1.weight", "module.c2.connect_conv.downsample.1.bias", "module.c2.connect_conv.downsample.1.running_mean", "module.c2.connect_conv.downsample.1.running_var", "module.decoder4.cbr1.0.weight", "module.decoder4.cbr1.0.bias", "module.decoder4.cbr1.1.weight", "module.decoder4.cbr1.1.bias", "module.decoder4.cbr1.1.running_mean", "module.decoder4.cbr1.1.running_var", "module.decoder4.cbr2.0.weight", "module.decoder4.cbr2.0.bias", "module.decoder4.cbr2.1.weight", "module.decoder4.cbr2.1.bias", "module.decoder4.cbr2.1.running_mean", "module.decoder4.cbr2.1.running_var", "module.decoder4.deconv1.weight", "module.decoder4.deconv1.bias", "module.decoder4.deconv3.weight", "module.decoder4.deconv3.bias", "module.decoder4.deconv4.weight", "module.decoder4.deconv4.bias", "module.decoder4.cbr3_1.0.weight", "module.decoder4.cbr3_1.0.bias", "module.decoder4.cbr3_1.1.weight", "module.decoder4.cbr3_1.1.bias", "module.decoder4.cbr3_1.1.running_mean", "module.decoder4.cbr3_1.1.running_var", "module.decoder4.cbr3_2.0.weight", "module.decoder4.cbr3_2.0.bias", "module.decoder4.cbr3_2.1.weight", "module.decoder4.cbr3_2.1.bias", "module.decoder4.cbr3_2.1.running_mean", "module.decoder4.cbr3_2.1.running_var", "module.decoder4.cbr3_3.0.weight", "module.decoder4.cbr3_3.0.bias", "module.decoder4.cbr3_3.1.weight", "module.decoder4.cbr3_3.1.bias", "module.decoder4.cbr3_3.1.running_mean", "module.decoder4.cbr3_3.1.running_var", "module.decoder4.cbr3_4.0.weight", "module.decoder4.cbr3_4.0.bias", "module.decoder4.cbr3_4.1.weight", "module.decoder4.cbr3_4.1.bias", "module.decoder4.cbr3_4.1.running_mean", "module.decoder4.cbr3_4.1.running_var", "module.decoder4.deconvbr.0.weight", "module.decoder4.deconvbr.0.bias", "module.decoder4.deconvbr.1.weight", "module.decoder4.deconvbr.1.bias", "module.decoder4.deconvbr.1.running_mean", "module.decoder4.deconvbr.1.running_var", "module.decoder4.bn3.weight", "module.decoder4.bn3.bias", "module.decoder4.bn3.running_mean", "module.decoder4.bn3.running_var", "module.decoder3.cbr1.0.weight", "module.decoder3.cbr1.0.bias", "module.decoder3.cbr1.1.weight", "module.decoder3.cbr1.1.bias", "module.decoder3.cbr1.1.running_mean", "module.decoder3.cbr1.1.running_var", "module.decoder3.cbr2.0.weight", "module.decoder3.cbr2.0.bias", "module.decoder3.cbr2.1.weight", "module.decoder3.cbr2.1.bias", "module.decoder3.cbr2.1.running_mean", "module.decoder3.cbr2.1.running_var", "module.decoder3.deconv1.weight", "module.decoder3.deconv1.bias", "module.decoder3.deconv3.weight", "module.decoder3.deconv3.bias", "module.decoder3.deconv4.weight", "module.decoder3.deconv4.bias", "module.decoder3.cbr3_1.0.weight", "module.decoder3.cbr3_1.0.bias", "module.decoder3.cbr3_1.1.weight", "module.decoder3.cbr3_1.1.bias", "module.decoder3.cbr3_1.1.running_mean", "module.decoder3.cbr3_1.1.running_var", "module.decoder3.cbr3_2.0.weight", "module.decoder3.cbr3_2.0.bias", "module.decoder3.cbr3_2.1.weight", "module.decoder3.cbr3_2.1.bias", "module.decoder3.cbr3_2.1.running_mean", "module.decoder3.cbr3_2.1.running_var", "module.decoder3.cbr3_3.0.weight", "module.decoder3.cbr3_3.0.bias", "module.decoder3.cbr3_3.1.weight", "module.decoder3.cbr3_3.1.bias", "module.decoder3.cbr3_3.1.running_mean", "module.decoder3.cbr3_3.1.running_var", "module.decoder3.cbr3_4.0.weight", "module.decoder3.cbr3_4.0.bias", "module.decoder3.cbr3_4.1.weight", "module.decoder3.cbr3_4.1.bias", "module.decoder3.cbr3_4.1.running_mean", "module.decoder3.cbr3_4.1.running_var", "module.decoder3.deconvbr.0.weight", "module.decoder3.deconvbr.0.bias", "module.decoder3.deconvbr.1.weight", "module.decoder3.deconvbr.1.bias", "module.decoder3.deconvbr.1.running_mean", "module.decoder3.deconvbr.1.running_var", "module.decoder3.bn3.weight", "module.decoder3.bn3.bias", "module.decoder3.bn3.running_mean", "module.decoder3.bn3.running_var", "module.decoder2.cbr1.0.weight", "module.decoder2.cbr1.0.bias", "module.decoder2.cbr1.1.weight", "module.decoder2.cbr1.1.bias", "module.decoder2.cbr1.1.running_mean", "module.decoder2.cbr1.1.running_var", "module.decoder2.cbr2.0.weight", "module.decoder2.cbr2.0.bias", "module.decoder2.cbr2.1.weight", "module.decoder2.cbr2.1.bias", "module.decoder2.cbr2.1.running_mean", "module.decoder2.cbr2.1.running_var", "module.decoder2.deconv1.weight", "module.decoder2.deconv1.bias", "module.decoder2.deconv3.weight", "module.decoder2.deconv3.bias", "module.decoder2.deconv4.weight", "module.decoder2.deconv4.bias", "module.decoder2.cbr3_1.0.weight", "module.decoder2.cbr3_1.0.bias", "module.decoder2.cbr3_1.1.weight", "module.decoder2.cbr3_1.1.bias", "module.decoder2.cbr3_1.1.running_mean", "module.decoder2.cbr3_1.1.running_var", "module.decoder2.cbr3_2.0.weight", "module.decoder2.cbr3_2.0.bias", "module.decoder2.cbr3_2.1.weight", "module.decoder2.cbr3_2.1.bias", "module.decoder2.cbr3_2.1.running_mean", "module.decoder2.cbr3_2.1.running_var", "module.decoder2.cbr3_3.0.weight", "module.decoder2.cbr3_3.0.bias", "module.decoder2.cbr3_3.1.weight", "module.decoder2.cbr3_3.1.bias", "module.decoder2.cbr3_3.1.running_mean", "module.decoder2.cbr3_3.1.running_var", "module.decoder2.cbr3_4.0.weight", "module.decoder2.cbr3_4.0.bias", "module.decoder2.cbr3_4.1.weight", "module.decoder2.cbr3_4.1.bias", "module.decoder2.cbr3_4.1.running_mean", "module.decoder2.cbr3_4.1.running_var", "module.decoder2.deconvbr.0.weight", "module.decoder2.deconvbr.0.bias", "module.decoder2.deconvbr.1.weight", "module.decoder2.deconvbr.1.bias", "module.decoder2.deconvbr.1.running_mean", "module.decoder2.deconvbr.1.running_var", "module.decoder2.bn3.weight", "module.decoder2.bn3.bias", "module.decoder2.bn3.running_mean", "module.decoder2.bn3.running_var", "module.decoder1.cbr1.0.weight", "module.decoder1.cbr1.0.bias", "module.decoder1.cbr1.1.weight", "module.decoder1.cbr1.1.bias", "module.decoder1.cbr1.1.running_mean", "module.decoder1.cbr1.1.running_var", "module.decoder1.cbr2.0.weight", "module.decoder1.cbr2.0.bias", "module.decoder1.cbr2.1.weight", "module.decoder1.cbr2.1.bias", "module.decoder1.cbr2.1.running_mean", "module.decoder1.cbr2.1.running_var", "module.decoder1.deconv1.weight", "module.decoder1.deconv1.bias", "module.decoder1.deconv3.weight", "module.decoder1.deconv3.bias", "module.decoder1.deconv4.weight", "module.decoder1.deconv4.bias", "module.decoder1.cbr3_1.0.weight", "module.decoder1.cbr3_1.0.bias", "module.decoder1.cbr3_1.1.weight", "module.decoder1.cbr3_1.1.bias", "module.decoder1.cbr3_1.1.running_mean", "module.decoder1.cbr3_1.1.running_var", "module.decoder1.cbr3_2.0.weight", "module.decoder1.cbr3_2.0.bias", "module.decoder1.cbr3_2.1.weight", "module.decoder1.cbr3_2.1.bias", "module.decoder1.cbr3_2.1.running_mean", "module.decoder1.cbr3_2.1.running_var", "module.decoder1.cbr3_3.0.weight", "module.decoder1.cbr3_3.0.bias", "module.decoder1.cbr3_3.1.weight", "module.decoder1.cbr3_3.1.bias", "module.decoder1.cbr3_3.1.running_mean", "module.decoder1.cbr3_3.1.running_var", "module.decoder1.cbr3_4.0.weight", "module.decoder1.cbr3_4.0.bias", "module.decoder1.cbr3_4.1.weight", "module.decoder1.cbr3_4.1.bias", "module.decoder1.cbr3_4.1.running_mean", "module.decoder1.cbr3_4.1.running_var", "module.decoder1.deconvbr.0.weight", "module.decoder1.deconvbr.0.bias", "module.decoder1.deconvbr.1.weight", "module.decoder1.deconvbr.1.bias", "module.decoder1.deconvbr.1.running_mean", "module.decoder1.deconvbr.1.running_var", "module.decoder1.bn3.weight", "module.decoder1.bn3.bias", "module.decoder1.bn3.running_mean", "module.decoder1.bn3.running_var".
Unexpected key(s) in state_dict: "module.firstconv.weight", "module.firstbn.weight", "module.firstbn.bias", "module.firstbn.running_mean", "module.firstbn.running_var", "module.firstbn.num_batches_tracked", "module.finaldeconv1.weight", "module.finaldeconv1.bias", "module.encoder1.0.conv1.weight", "module.encoder1.0.bn1.weight", "module.encoder1.0.bn1.bias", "module.encoder1.0.bn1.running_mean", "module.encoder1.0.bn1.running_var", "module.encoder1.0.bn1.num_batches_tracked", "module.encoder1.0.conv2.weight", "module.encoder1.0.bn2.weight", "module.encoder1.0.bn2.bias", "module.encoder1.0.bn2.running_mean", "module.encoder1.0.bn2.running_var", "module.encoder1.0.bn2.num_batches_tracked", "module.encoder1.1.conv1.weight", "module.encoder1.1.bn1.weight", "module.encoder1.1.bn1.bias", "module.encoder1.1.bn1.running_mean", "module.encoder1.1.bn1.running_var", "module.encoder1.1.bn1.num_batches_tracked", "module.encoder1.1.conv2.weight", "module.encoder1.1.bn2.weight", "module.encoder1.1.bn2.bias", "module.encoder1.1.bn2.running_mean", "module.encoder1.1.bn2.running_var", "module.encoder1.1.bn2.num_batches_tracked", "module.encoder2.0.conv1.weight", "module.encoder2.0.bn1.weight", "module.encoder2.0.bn1.bias", "module.encoder2.0.bn1.running_mean", "module.encoder2.0.bn1.running_var", "module.encoder2.0.bn1.num_batches_tracked", "module.encoder2.0.conv2.weight", "module.encoder2.0.bn2.weight", "module.encoder2.0.bn2.bias", "module.encoder2.0.bn2.running_mean", "module.encoder2.0.bn2.running_var", "module.encoder2.0.bn2.num_batches_tracked", "module.encoder2.0.downsample.0.weight", "module.encoder2.0.downsample.1.weight", "module.encoder2.0.downsample.1.bias", "module.encoder2.0.downsample.1.running_mean", "module.encoder2.0.downsample.1.running_var", "module.encoder2.0.downsample.1.num_batches_tracked", "module.encoder2.1.conv1.weight", "module.encoder2.1.bn1.weight", "module.encoder2.1.bn1.bias", "module.encoder2.1.bn1.running_mean", "module.encoder2.1.bn1.running_var", "module.encoder2.1.bn1.num_batches_tracked", "module.encoder2.1.conv2.weight", "module.encoder2.1.bn2.weight", "module.encoder2.1.bn2.bias", "module.encoder2.1.bn2.running_mean", "module.encoder2.1.bn2.running_var", "module.encoder2.1.bn2.num_batches_tracked", "module.encoder3.0.conv1.weight", "module.encoder3.0.bn1.weight", "module.encoder3.0.bn1.bias", "module.encoder3.0.bn1.running_mean", "module.encoder3.0.bn1.running_var", "module.encoder3.0.bn1.num_batches_tracked", "module.encoder3.0.conv2.weight", "module.encoder3.0.bn2.weight", "module.encoder3.0.bn2.bias", "module.encoder3.0.bn2.running_mean", "module.encoder3.0.bn2.running_var", "module.encoder3.0.bn2.num_batches_tracked", "module.encoder3.0.downsample.0.weight", "module.encoder3.0.downsample.1.weight", "module.encoder3.0.downsample.1.bias", "module.encoder3.0.downsample.1.running_mean", "module.encoder3.0.downsample.1.running_var", "module.encoder3.0.downsample.1.num_batches_tracked", "module.encoder3.1.conv1.weight", "module.encoder3.1.bn1.weight", "module.encoder3.1.bn1.bias", "module.encoder3.1.bn1.running_mean", "module.encoder3.1.bn1.running_var", "module.encoder3.1.bn1.num_batches_tracked", "module.encoder3.1.conv2.weight", "module.encoder3.1.bn2.weight", "module.encoder3.1.bn2.bias", "module.encoder3.1.bn2.running_mean", "module.encoder3.1.bn2.running_var", "module.encoder3.1.bn2.num_batches_tracked", "module.encoder4.0.conv1.weight", "module.encoder4.0.bn1.weight", "module.encoder4.0.bn1.bias", "module.encoder4.0.bn1.running_mean", "module.encoder4.0.bn1.running_var", "module.encoder4.0.bn1.num_batches_tracked", "module.encoder4.0.conv2.weight", "module.encoder4.0.bn2.weight", "module.encoder4.0.bn2.bias", "module.encoder4.0.bn2.running_mean", "module.encoder4.0.bn2.running_var", "module.encoder4.0.bn2.num_batches_tracked", "module.encoder4.0.downsample.0.weight", "module.encoder4.0.downsample.1.weight", "module.encoder4.0.downsample.1.bias", "module.encoder4.0.downsample.1.running_mean", "module.encoder4.0.downsample.1.running_var", "module.encoder4.0.downsample.1.num_batches_tracked", "module.encoder4.1.conv1.weight", "module.encoder4.1.bn1.weight", "module.encoder4.1.bn1.bias", "module.encoder4.1.bn1.running_mean", "module.encoder4.1.bn1.running_var", "module.encoder4.1.bn1.num_batches_tracked", "module.encoder4.1.conv2.weight", "module.encoder4.1.bn2.weight", "module.encoder4.1.bn2.bias", "module.encoder4.1.bn2.running_mean", "module.encoder4.1.bn2.running_var", "module.encoder4.1.bn2.num_batches_tracked", "module.decoder4.conv1.weight", "module.decoder4.conv1.bias", "module.decoder4.norm1.weight", "module.decoder4.norm1.bias", "module.decoder4.norm1.running_mean", "module.decoder4.norm1.running_var", "module.decoder4.norm1.num_batches_tracked", "module.decoder4.norm2.weight", "module.decoder4.norm2.bias", "module.decoder4.norm2.running_mean", "module.decoder4.norm2.running_var", "module.decoder4.norm2.num_batches_tracked", "module.decoder4.norm3.weight", "module.decoder4.norm3.bias", "module.decoder4.norm3.running_mean", "module.decoder4.norm3.running_var", "module.decoder4.norm3.num_batches_tracked", "module.decoder3.conv1.weight", "module.decoder3.conv1.bias", "module.decoder3.norm1.weight", "module.decoder3.norm1.bias", "module.decoder3.norm1.running_mean", "module.decoder3.norm1.running_var", "module.decoder3.norm1.num_batches_tracked", "module.decoder3.norm2.weight", "module.decoder3.norm2.bias", "module.decoder3.norm2.running_mean", "module.decoder3.norm2.running_var", "module.decoder3.norm2.num_batches_tracked", "module.decoder3.norm3.weight", "module.decoder3.norm3.bias", "module.decoder3.norm3.running_mean", "module.decoder3.norm3.running_var", "module.decoder3.norm3.num_batches_tracked", "module.decoder2.conv1.weight", "module.decoder2.conv1.bias", "module.decoder2.norm1.weight", "module.decoder2.norm1.bias", "module.decoder2.norm1.running_mean", "module.decoder2.norm1.running_var", "module.decoder2.norm1.num_batches_tracked", "module.decoder2.norm2.weight", "module.decoder2.norm2.bias", "module.decoder2.norm2.running_mean", "module.decoder2.norm2.running_var", "module.decoder2.norm2.num_batches_tracked", "module.decoder2.norm3.weight", "module.decoder2.norm3.bias", "module.decoder2.norm3.running_mean", "module.decoder2.norm3.running_var", "module.decoder2.norm3.num_batches_tracked", "module.decoder1.conv1.weight", "module.decoder1.conv1.bias", "module.decoder1.norm1.weight", "module.decoder1.norm1.bias", "module.decoder1.norm1.running_mean", "module.decoder1.norm1.running_var", "module.decoder1.norm1.num_batches_tracked", "module.decoder1.norm2.weight", "module.decoder1.norm2.bias", "module.decoder1.norm2.running_mean", "module.decoder1.norm2.running_var", "module.decoder1.norm2.num_batches_tracked", "module.decoder1.norm3.weight", "module.decoder1.norm3.bias", "module.decoder1.norm3.running_mean", "module.decoder1.norm3.running_var", "module.decoder1.norm3.num_batches_tracked".
size mismatch for module.decoder4.deconv2.weight: copying a param with shape torch.Size([128, 128, 3, 3]) from checkpoint, the shape in current model is torch.Size([128, 128, 9, 1]).
size mismatch for module.decoder4.conv3.weight: copying a param with shape torch.Size([256, 128, 1, 1]) from checkpoint, the shape in current model is torch.Size([256, 256, 1, 1]).
size mismatch for module.decoder3.deconv2.weight: copying a param with shape torch.Size([64, 64, 3, 3]) from checkpoint, the shape in current model is torch.Size([64, 64, 9, 1]).
size mismatch for module.decoder3.conv3.weight: copying a param with shape torch.Size([128, 64, 1, 1]) from checkpoint, the shape in current model is torch.Size([128, 128, 1, 1]).
size mismatch for module.decoder2.deconv2.weight: copying a param with shape torch.Size([32, 32, 3, 3]) from checkpoint, the shape in current model is torch.Size([32, 32, 9, 1]).
size mismatch for module.decoder2.conv3.weight: copying a param with shape torch.Size([64, 32, 1, 1]) from checkpoint, the shape in current model is torch.Size([64, 64, 1, 1]).
size mismatch for module.decoder1.deconv2.weight: copying a param with shape torch.Size([16, 16, 3, 3]) from checkpoint, the shape in current model is torch.Size([16, 16, 9, 1]).
size mismatch for module.decoder1.conv3.weight: copying a param with shape torch.Size([64, 16, 1, 1]) from checkpoint, the shape in current model is torch.Size([64, 32, 1, 1]).
size mismatch for module.finalconv2.weight: copying a param with shape torch.Size([32, 32, 3, 3]) from checkpoint, the shape in current model is torch.Size([32, 64, 3, 3]).

Assertion Error

While running the code I am getting following error
---------- Epoch:200 ----------
0%| | 0/166 [00:00<?, ?it/s]
=>Epoches 200, learning rate = -0.00000000
0%| | 0/166 [00:03<?, ?it/s]
Traceback (most recent call last):
File "train.py", line 277, in
batch_loss_n, pred = solver.optimize(index+1,epoch)
File "/home/jayakumar/MSMDFF-NET-main/utils/frame_work_general.py", line 113, in optimize
self.lr_current = self.scheduler(self.optimizer, i, epoch,debuge=False)
File "/home/jayakumar/MSMDFF-NET-main/utils/learnlingrate_methods/lr_scheduler.py", line 61, in call
assert lr >= 0
AssertionError
Aborted (core dumped)

Consultation on results in papers

Uploading image.png…

Hello! First of all, thank you for your excellent work, especially for providing a fair comparison of the code framework. I have a question. I feel that your indicators are generally low. For example, the above CoANet results in deepglobe are quite different from the original paper. In addition, the deepglobe subset dataset in your paper is the deepglobe road dataset, right? Thank you!

Till 197 epoches =>Epoches 197, learning rate = 0.00000002, after that following error

Traceback (most recent call last):
File "train.py", line 277, in
batch_loss_n, pred = solver.optimize(index+1,epoch)
File "/home/jayakumar/MSMDFF-NET-main/utils/frame_work_general.py", line 113, in optimize
self.lr_current = self.scheduler(self.optimizer, i, epoch,debuge=False)
File "/home/jayakumar/MSMDFF-NET-main/utils/learnlingrate_methods/lr_scheduler.py", line 61, in call
assert lr >= 0
AssertionError
Exception in thread Thread-405:
Traceback (most recent call last):
File "/home/jayakumar/anaconda3/envs/torch1.9sta/lib/python3.8/threading.py", line 932, in _bootstrap_inner

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.