使用pytorch自带的网络结构

介绍

pytorch为我们提供了很多现成的网络结构,我们应该如何去使用呢?

我们可以看到我们使用resnet的时候会有许多现成的

使用pytorch自带的网络结构_第1张图片

当然vgg也一样,都有着许多现成的网络

使用pytorch自带的网络结构_第2张图片

使用模板

# 使用pytorch中定义好的网络模型
import torch.nn as nn
# 导入自带的网络包
from torchvision import models

class resnet18(nn.Module):
    def __init__(self):
        super(resnet18, self).__init__()
        # pretrained加载预训练模型,无预训练模型会自动下载
        self.model = models.resnet18(pretrained=True)
        self.num_features = self.model.fc.in_features
        self.model.fc = nn.Linear(self.num_features, 10)

    def forward(self, x):
        out = self.model(x)
        return out

def pytorch_resnet18():
    return resnet18()

想要用其他的网络只需要把里面的

resnet18改成自己想用的网络即可

然后就是

nn.Linear(self.num_features, 10)里面的10改成自己分类任务里面的特征个数即可

你可能感兴趣的:(pytorch,人工智能,python)