如何解决如何在pytorch的自定义数据集上训练deeplabv3?
进口火炬 型号= torch.hub.load('pytorch / vision:v0.6.0','deeplabv3_resnet101',pretrained = True) model.eval()
Pytorch在Pascal数据集上提供了预训练的deeplabv3,我想在城市景观上对其进行训练。有效的方法是什么?
解决方法
- 编写custom Dataloader类,该类应继承Dataset类并实现至少两个方法
__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
- 训练并评估模型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。