与朝阳同醒 2022-06-09 19:58 采纳率: 84.6%
浏览 57
已结题

Python卷积神经网络resnet训练代码,请给个详细的注释?

这是对人脸图片数据集的训练代码,用的是卷积神经网络resnet,请给以下代码写个详细的注释,最好是行注释。

import torch
import torch.nn as nn
from PIL import Image
from torch import optim
from torch.utils.data import Dataset, DataLoader
from torchvision import models, transforms

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")


class EmoDataset(Dataset):
    def __init__(self, txt_path, transform=None):
        f = open(txt_path, 'r')
        data = f.readlines()
        imgs, labels = [], []
        for line in data:
            word = line.rstrip().split()
            imgs.append(word[0])
            labels.append(int(word[1]))
        self.img = imgs
        self.label = labels
        self.transform = transform

    def __getitem__(self, idx):
        img = self.img[idx]
        label = self.label[idx]
        img = Image.open(img).convert('RGB')
        if transforms is not None:
            img = self.transform(img)
        return img, label

    def __len__(self):
        return len(self.label)


def Net(class_num):
    model = models.resnet34(pretrained=False)
    num_ftrs = model.fc.in_features
    # 添加dim=1语句,避免警告
    model.fc = nn.Sequential(
        nn.Dropout(0.5),
        nn.Linear(num_ftrs, class_num),
        nn.Softmax(dim=1)
    )
    model.to(device)
    return model


def Emodataloader(data_txt_path, batch_size):
    transform = transforms.Compose([
        transforms.Resize((224, 224)),
        transforms.ToTensor(),
        transforms.Normalize([0.485, 0.456, 0.406],
                             [0.229, 0.224, 0.225])])
    dataset = EmoDataset(txt_path=data_txt_path, transform=transform)
    dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)
    return dataloader





if __name__ == '__main__':
    train()

  • 写回答

2条回答 默认 最新

  • 卷积神经网络 2022-06-09 20:24
    关注

    关注我,注释不难写

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月11日
  • 修改了问题 6月11日
  • 修改了问题 6月10日
  • 赞助了问题酬金5元 6月10日
  • 展开全部

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码