0

我正在尝试进行图像分割,并且了解了 DeepLabv3 的 Google 工作。

这是对论文的参考: https ://arxiv.org/abs/1706.05587

Chen, LC, Papandreou, G., Schroff, F. 和 Adam, H.,2017。重新思考用于语义图像分割的空洞卷积。arXiv 预印本 arXiv:1706.05587。

该架构经过训练可以对 Pascal VOC 2012 数据集的 20+1 个类别(20 个前景和 1 个背景类别)进行分割。

Pytorch 在 Pascal 数据集上提供了预训练的 deeplabv3,我想在城市景观上训练相同的架构。因此,Pascal VOC 数据集有不同的类别。我想知道有效的方法是什么?

目前这是我写的唯一代码:

import torch
model = torch.hub.load('pytorch/vision:v0.6.0', 'deeplabv3_resnet101', pretrained=True)
model.eval()
4

1 回答 1

3
  • 编写自定义 Dataloader 类,该类应继承 Dataset 类并实现至少 2 个方法 __len____getitem__.
  • 使用您自定义的输出通道数修改预训练的 DeeplabV3 头。
from torchvision.models.segmentation.deeplabv3 import DeepLabHead
from torchvision.models.segmentation import deeplabv3_resnet101

def custom_DeepLabv3(out_channel):
  model = deeplabv3_resnet101(pretrained=True, progress=True)
  model.classifier = DeepLabHead(2048, out_channel)

  #Set the model in training mode
  model.train()
  return model
  • 训练和评估模型。
于 2020-09-15T03:49:26.157 回答