这篇文章是以vgg16模型为例子:
pretrained:true-下载网络模型和训练好的参数;false-只下载网络模型
vgg16_false = torchvision.models.vgg16(pretrained=False)
vgg16_true = torchvision.models.vgg16(pretrained=True)
修改:
1.添加一个网络结构
vgg16_true.classifier.add_module('add_Linear',nn.Linear(1000,10))
结果:
2.修改原来的参数:
vgg16_false.classifier[6] = nn.Linear(4096,10)
结果:
下面附上完整的代码:
from torch import nn
import torchvision
vgg16_false = torchvision.models.vgg16(pretrained=False)
vgg16_true = torchvision.models.vgg16(pretrained=True)
#print(vgg16_true)
train_data = torchvision.datasets.CIFAR10("dataset2",train=True,transform=torchvision.transforms.ToTensor(),
download=True)
vgg16_true.classifier.add_module('add_Linear',nn.Linear(1000,10))
#print(vgg16_true)
print(vgg16_false)
vgg16_false.classifier[6] = nn.Linear(4096,10)
print(vgg16_false)
存取
存:
取:
存和取括号里面都是想要放置的地址(图片所示,放置在了本文件夹目录内),方式二的保存方式比方式一能少一丢丢存储量(存储量前三位没区别)
使用方法一的时候最好是使用
from data_save import * #将具体的文件名进行导入
来保证模型可以调用(可以不用再次实例化模型,即 qq=qiqi())