import torchvision # 导入torchvision库
from torch import nn # 导入torch中的nn模块(神经网络模块)
# 创建一个不经过预训练的VGG16模型
vgg16_false = torchvision.models.vgg16(pretrained=False)
# 创建一个经过预训练的VGG16模型
vgg16_true = torchvision.models.vgg16(pretrained=True)
print(vgg16_true) # 打印经过预训练的VGG16模型的结构
# 创建训练数据集
train_data = torchvision.datasets.CIFAR10('../data', train=True, transform=torchvision.transforms.ToTensor(),
download=True)
# 在经过预训练的VGG16模型中添加一个线性层(全连接层),将输入特征大小由1000变为10
vgg16_true.classifier.add_module('add_linear', nn.Linear(1000, 10))
print(vgg16_true) # 打印更新后的经过预训练的VGG16模型的结构
print(vgg16_false) # 打印不经过预训练的VGG16模型的结构
# 将不经过预训练的VGG16模型的第6个全连接层替换为一个新的线性层,将输入特征大小由4096变为10
vgg16_false.classifier[6] = nn.Linear(4096, 10)
print(vgg16_false) # 打印更新后的不经过预训练的VGG16模型的结构
```
以上代码使用了torchvision库中的