【深入浅出PyTorch】4-基础实战-FashionMINIST

4-基础实战

2.1-神经网络学习机制

image-20220715223812076

2.2-深度学习在实现上的特殊性

  1. 样本量大,需要分批(Batch)加载
  2. 逐层、模块化搭建网络(卷积层、全连接层、LSTM层)
  3. 多样化的损失函数和优化器设计*
  4. GPU使用
  5. 以上各个模块的配合

2.3-PyTorch的深度学习模块

  • 边学边练,通过实战案例巩固模块知识学习
  • 任务:FashionMINIST时装分类
  • 数据简介
    • 10类图片
    • 32*32px

代码:2.3-FashionMINIST实战

2.3.1-基本配置
  • 导入基本包
    • os,numpy,pandas,torch.nn,torch.optim,torch.utils.data
  • 超参数
    • batch size, learning rate, max_epochs, num_workers
  • 硬件
import os
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import Dataset, DataLoader

# 配置GPU,这里有两种方式
## 方案一:使用os.environ
os.environ['CUDA_VISIBLE_DEVICES'] = '0'

# 方案二:使用“device”,后续对要使用GPU的变量用.to(device)即可
device = torch.device("cuda:1" if torch.cuda.is_available() else "cpu")

## 配置其他超参数,如batch_size, num_workers, learning rate, 以及总的epochs
batch_size = 256
num_workers = 4   # 对于Windows用户,这里应设置为0,否则会出现多线程错误
lr = 1e-4
epochs = 20

设置数字变换

# 首先设置数据变换
from torchvision import transforms

# 图片大小为32,手写数字为28,当然多少没关系
image_size = 28
data_transform = transforms.Compose([
    # 使用 PIL 库图像
    # 取决于内置数据集
    transforms.ToPILImage(),  
     # 这一步取决于后续的数据读取方式,如果使用内置数据集读取方式则不需要
    transforms.Resize(image_size), 
    transforms.ToTensor() # 以tensor形式输入到表格中
])

2.3.2-数据读入

通过Dataset类读取数据

函数:__init____getitem____len__

通过DataLoader加载数据以供模型输入

用自带方法读取数据

from torchvision import datasets

train_data = datasets.FashionMNIST(root='./', train=True, download=True, transform=data_transform)
test_data = datasets.FashionMNIST(root='./', train<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值