示例#1
0
                std=[0.227])
])


use_gpu = torch.cuda.is_available()
print(use_gpu)

file_path = r'E:\Radiomics\huaxi_jiang_yinjie\cropped_images\image_roi_path_file\fixed_rec_cropped_images.xlsx'

test_dataset = Yinjie_data(
    file_path, transforms=valid_transforms, train=False,
    test=False)

testloader = torch.utils.data.DataLoader(test_dataset, batch_size=8, shuffle=False, num_workers=0)
##加载自己更改的resnet结构,加载预训练权重
model = ResUNetEncoder(in_ch=1, out_ch=2)

# pretrained_weight_path = r'E:\pycharm_project\Huaxi_Yinjie_Jiang\AP_weights\epoch_9_712_704.pth'
# pretrained_weight_path = r'E:\pycharm_project\Huaxi_Yinjie_Jiang\Unet_encoder_weights\epoch_101_75_72.pth'
pretrained_weight_path = r'E:\pycharm_project\Huaxi_Yinjie_Jiang\Unet_encoder_weights_AP\epoch_63_71_66.pth'
pretrained_dict = torch.load(pretrained_weight_path)
model_dict = model.state_dict()
pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
model_dict.update(pretrained_dict)
model.load_state_dict(model_dict)
if len(pretrained_dict) != 0:
    print('加载成功')
# pretrained_dict = torch.load(pretrained_weight_path)
# model_dict = model.state_dict()
# pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
# model_dict.update(pretrained_dict)
示例#2
0
    # if 'mask' in image_path or 'grad' in image_path:
    #     continue
    # ID = image_path.split('.')[0]
    # print(ID)
    # image_paths = os.path.join(image_paths_folder, image_path)

    ID = os.path.basename(image_path).split('.')[0]
    img = open_image(image_path, (112, 112))
    temp_label = str(temp_label)
    # img = valid_transforms(img)
    input = image2batch(img)
    image_class = 1  # cat class in imagenet
    # model = my_resnet50()

    # model = my_resnet18()
    model = ResUNetEncoder(in_ch=1, out_ch=2)
    model.load_state_dict(
        torch.load(
            r'E:\pycharm_project\Huaxi_Yinjie_Jiang\Unet_encoder_weights\epoch_101_75_72.pth'
        ))

    target = int2tensor(image_class)

    gray_img, color_img = getCAM(model,
                                 img,
                                 input,
                                 target,
                                 ID=ID,
                                 display=False,
                                 save=True)
示例#3
0
                                         batch_size=64,
                                         shuffle=True,
                                         num_workers=0)

##resnet网络结构
# model = models.resnet18()
# # model = models.resnet18()
# fc_features = model.fc.in_features
# model.fc = nn.Linear(fc_features, 2)
# conv1_out_channels = model.conv1.out_channels
# model.conv1 = nn.Conv2d(1, conv1_out_channels, kernel_size=7, stride=2, padding=3,
#                                bias=False)

##加载自己更改的resnet结构,加载预训练权重
# model = my_resnet18()
model = ResUNetEncoder(in_ch=1, out_ch=2)

# pretrained_weight_path = r'E:\Radiomics\huaxi_jiang_yinjie\segmentation\AP_seg_model\base_81.pth.tar'
# pretrained_dict = torch.load(pretrained_weight_path)
# model_dict = model.state_dict()
# pretrained_dict = {k: v for k, v in pretrained_dict['state_dict'].items() if k in model_dict}
# model_dict.update(pretrained_dict)
# model.load_state_dict(model_dict)
# if len(pretrained_dict) != 0:
#     print('加载成功')

pretrained_weight_path = r'E:\pycharm_project\Huaxi_Yinjie_Jiang\Unet_encoder_weights_pre\epoch_4_67_66.pth'
pretrained_dict = torch.load(pretrained_weight_path)
model_dict = model.state_dict()
pretrained_dict = {k: v for k, v in pretrained_dict.items() if k in model_dict}
model_dict.update(pretrained_dict)