torchvision 是一个开源的深度学习库,专门用于计算机视觉任务。它是 PyTorch 生态系统的一部分,提供了许多预训练模型和工具,可以帮助研究人员和开发者快速实现和评估计算机视觉模型。
主要功能
- 预训练模型:包含多种预训练模型,如 ResNet、AlexNet、VGG 等。
- 数据集加载器:支持多种常见的数据集,如 ImageNet、COCO、MNIST 等。
- 图像变换:提供了一系列图像变换工具,如旋转、缩放、裁剪等。
- 模型评估:提供了多种评估指标,如准确率、召回率、F1 值等。
安装
要安装 torchvision,可以使用以下命令:
pip install torchvision
快速入门
- 导入库:
import torchvision
- 加载数据集:
transform = torchvision.transforms.Compose([
torchvision.transforms.Resize(256),
torchvision.transforms.CenterCrop(224),
torchvision.transforms.ToTensor(),
])
trainset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4, shuffle=True, num_workers=2)
- 使用预训练模型:
model = torchvision.models.resnet50(pretrained=True)
- 训练模型:
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)
for epoch in range(2):
running_loss = 0.0
for i, data in enumerate(trainloader, 0):
inputs, labels = data
optimizer.zero_grad()
outputs = model(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
running_loss += loss.item()
if i % 2000 == 1999:
print(f'[{epoch + 1}, {i + 1:5d}] loss: {running_loss / 2000:.3f}')
running_loss = 0.0
更多资源
想要了解更多关于 torchvision 的信息,可以访问我们的 官方文档。
