实际上,目前 PyTorch 的最新版本是 1.10.0,并不是 2.1 版本。请忽略我之前提到的 PyTorch 2.1 版本。

对于您的配置要求,包括 Python 3.11、CUDA 12.2 和 PyTorch 1.10.0,以下是一个简单的示例,使用 ResNet-101 和 PyTorch 1.10.0 训练一个图像识别模型,并使用 CIFAR-100 数据集进行训练。

import torch
import torchvision
import torchvision.transforms as transforms
import torch.optim as optim
import torch.nn as nn
from torchvision.models import resnet101

# 定义数据集加载和预处理
transform_train = transforms.Compose([
    transforms.RandomCrop(32, padding=4),
    transforms.RandomHorizontalFlip(),
    transforms.ToTensor(),
    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])

transform_test = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])

trainset = torchvision.datasets.CIFAR100(root='./data', train=True, download=True, transform=transform_train)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=128, shuffle=True, num_workers=4)

testset = torchvision.datasets.CIFAR100(root='./data', train=False, download=True, transform=transform_test)
testloader = torch.utils.data.DataLoader(testset, batch_size=100, shuffle=False, num_workers=4)

# 定义模型和损失函数
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
net = resnet101(pretrained=False)
num_ftrs = net.fc.in_features
net.fc = nn.Linear(num_ftrs, 100)  # CIFAR-100 数据集有 100 个类别
net = net.to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)

# 进行模型训练
for epoch in range(10):  # 根据需要进行更多的训练轮数
    running_loss = 0.0
    for i, data in enumerate(trainloader, 0):
        inputs, labels = data[0].to(device), data[1].to(device)
        optimizer.zero_grad()

        outputs = net(inputs)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()

        running_loss += loss.item()
        if i % 2000 == 1999:
            print('[%d, %5d] loss: %.3f' %
                  (epoch + 1, i + 1, running_loss / 2000))
            running_loss = 0.0

print("Finished Training")

请确保您在 PyCharm 中配置了正确的 Python 解释器(版本为 3.11)和 CUDA(版本为 12.2),并正确安装了 PyTorch 1.10.0。

希望这个示例能帮助您开始使用 ResNet-101 和 PyTorch 1.10.0 训练图像识别模型,使用 CIFAR-100 数据集进行训练。如果您需要更详细的帮助或有其他问题,请随时提问!


原文地址: https://www.cveoy.top/t/topic/c4fY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录