TorchVision
美国
TorchVision 是 PyTorch 官方配套的计算机视觉专用库,专为图像 / 视频任务提供一站式工具链,与 PyTorch 无缝集成。

一、核心定位

PyTorch 生态里的 “视觉工具箱”,解决 CV 开发中数据、模型、预处理三大痛点,大幅减少重复代码。

二、四大核心模块(简要)

  1. datasets:内置 MNIST、CIFAR-10、ImageNet、COCO 等标准数据集,一键加载 / 下载。
  2. models:提供 ResNet、VGG、Faster R-CNN 等预训练模型,支持迁移学习 / 微调。
  3. transforms:图像预处理 / 增强(Resize、Crop、Normalize、ToTensor 等),直接输出 PyTorch 张量。
  4. utils/io:图像 / 视频读写、可视化、边界框处理、NMS 等底层 CV 操作。

三、一句话总结

TorchVision = PyTorch + 视觉数据 + 预训练模型 + 图像增强,是做图像分类、检测、分割等任务的标配工具。

四、代码演示

最精简、能直接跑的 TorchVision 完整入门代码,包含:
安装 → 图像预处理 → 加载数据集 → 用预训练模型推理 → 训练一条龙。

1. 安装

pip install torch torchvision

2. 最核心:图像预处理(最常用)

import torch
import torchvision.transforms as transforms

# 图像预处理管道
transform = transforms.Compose([
    transforms.Resize((224, 224)),    #  resize
    transforms.ToTensor(),            # 转成 PyTorch Tensor
    transforms.Normalize(             # 归一化(ImageNet 标准)
        mean=[0.485, 0.456, 0.406],
        std=[0.229, 0.224, 0.225]
    )
])

3. 加载内置数据集(CIFAR10 示例)

from torchvision import datasets
from torch.utils.data import DataLoader

# 下载 + 加载数据集
train_dataset = datasets.CIFAR10(
    root="./data", train=True, download=True, transform=transform
)

# 数据加载器
train_loader = DataLoader(
    train_dataset, batch_size=32, shuffle=True
)

4. 直接用 TorchVision 预训练模型(ResNet18)

import torchvision.models as models

# 加载预训练 ResNet18
model = models.resnet18(pretrained=True)

# 推理模式
model.eval()

# 随便造一张假图测试
dummy_img = torch.randn(1, 3, 224, 224)

with torch.no_grad():
    out = model(dummy_img)

print("输出形状:", out.shape)  # (1, 1000) ImageNet 1000类

5. 极简完整训练骨架(你必用)

import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import models, datasets, transforms
from torch.utils.data import DataLoader

# 1. 预处理
transform = transforms.Compose([
    transforms.Resize((224,224)),
    transforms.ToTensor(),
    transforms.Normalize([0.485,0.456,0.406],[0.229,0.224,0.225])
])

# 2. 数据集
dataset = datasets.CIFAR10(
    root="./data", train=True, download=True, transform=transform
)
loader = DataLoader(dataset, batch_size=32, shuffle=True)

# 3. 模型
model = models.resnet18(pretrained=True)
model.fc = nn.Linear(512, 10)  # CIFAR10 是10分类

# 4. 损失 & 优化器
criterion = nn.CrossEntropyLoss()
optimizer = optim.Adam(model.parameters(), lr=1e-4)

# 5. 训练一步
for images, labels in loader:
    outputs = model(images)
    loss = criterion(outputs, labels)

    optimizer.zero_grad()
    loss.backward()
    optimizer.step()

    print("loss:", loss.item())
    break

你只要记住这 4 个包(CV 万能)

import torchvision.transforms as transforms    # 图像增强
from torchvision import datasets              # 数据集
from torchvision import models                 # 预训练模型
from torchvision.utils import make_grid      

数据统计

数据评估

TorchVision浏览人数已经达到0,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:TorchVision的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找TorchVision的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于TorchVision特别声明

本站蜜蜂导航提供的TorchVision都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由蜜蜂导航实际控制,在2026年2月11日 下午1:41收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,蜜蜂导航不承担任何责任。

相关导航

暂无评论

暂无评论...