Pytorch实战 | P5 运动鞋图片识别(深度学习实践pytorch)

该博客介绍了使用PyTorch进行深度学习的流程,包括数据预处理(如图像resize、随机翻转、归一化)、模型构建、训练过程(学习率调整、损失计算、反向传播)以及模型评估。在模型测试时,发现不使用训练时的数据增强变换(如RandomHorizontalFlip)能得到正确预测结果。
摘要由CSDN通过智能技术生成

一、我的环境

● 语言环境:Python3.8
● 编译器:pycharm
● 深度学习环境:Pytorch
● 数据来源:链接:https://pan.baidu.com/s/1gA3TXAWpil9l39wJMjwuRA 提取码:zj37

二、主要代码实现

1、main.py

# -*- coding: utf-8 -*-
import torch.utils.data
from torchvision import datasets, transforms
from model import *

# 一、加载数据并处理
train_data_path = './data/train/'
test_data_path = './data/test/'
# 加载文件夹中的数据
train_transforms = transforms.Compose([
    transforms.Resize([224, 224]),  # 将输入图片resize成统一尺寸
    transforms.RandomHorizontalFlip(),  # 随机水平翻转
    transforms.ToTensor(),  # 将PIL Image或numpy.ndarray转换为tensor,并归一化到[0,1]之间
    transforms.Normalize(  # 标准化处理-->转换为标准正太分布(高斯分布),使模型更容易收敛
        mean=[0.485, 0.456, 0.406],
        std=[0.229, 0.224, 0.225])  # 其中 mean=[0.485,0.456,0.406]与std=[0.229,0.224,0.225] 从数据集中随机抽样计算得到的。
])

test_transforms = transforms.Compose([
    transforms.Resize([224, 224]),
    transforms.ToTensor(),
    transforms.Normalize(  # 标准化处理-->转换为标准正太分布(高斯分布),使模型更容易收敛
        mean=[0.485, 0.456, 0.406],
        std=[0.229, 0.224, 0.225])
])
train_dataset = datasets.ImageFolder(train_data_path, transform=train_transforms)
test_dataset = datasets.ImageFolder(test_data_path, transform=test_transforms)

# 将数据进行批次处理
batch_size = 32
train_dl = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
test_dl = torch.utils.data.DataLoader(test_dataset, batch_size=batch_size)

# 二、构建模型网络 model.__init__, model.forward()

# 三、模型训练
# 实例化模型
device = 'cuda' if torch.cuda.is_available() else 'cpu'
print('Using {} device:'.format(device))

model = Network_fn().to(device)


# 设置参数
def adjust_learning_rate(optimizer, epoch,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值