pytorch 实现在预训练模型的 input上增减通道

Miki ·
更新时间:2024-11-13
· 727 次阅读

如何把imagenet预训练的模型,输入层的通道数随心所欲的修改,从而来适应自己的任务

#增加一个通道 w = layers[0].weight layers[0] = nn.Conv2d(4, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) layers[0].weight = torch.nn.Parameter(torch.cat((w, w[:, :1, :, :]), dim=1)) #方式2 w = layers[0].weight layers[0] = nn.Conv2d(4, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) layers[0].weight = torch.nn.Parameter(torch.cat((w, torch.zeros(64, 1, 7, 7)), dim=1)) #单通道输入 layers[0] = nn.Conv2d(1, 64, kernel_size=(7, 7), stride=(2, 2), padding=(3, 3), bias=False) layers[0].weight = torch.nn.Parameter(w[:, :1, :, :])

以上这篇pytorch 实现在预训练模型的 input上增减通道就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:PyTorch实现AlexNet示例pytorch 修改预训练model实例pytorch载入预训练模型后,实现训练指定层PyTorch加载预训练模型实例(pretrained)使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)



预训练模型 训练模型 pytorch 训练 模型 input

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章