前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何对minist数据进行预处理

如何对minist数据进行预处理

作者头像
算法与编程之美
发布2023-01-03 19:16:49
1.2K0
发布2023-01-03 19:16:49
举报
文章被收录于专栏:算法与编程之美

1 问题

深度学习中,数据很多,不能一次性把数据全都放到模型中进校训练,所以利用数据加载,进行顺序打乱,分批,预处理之类的操作

2 方法

使用pytorch提供的

Dataset(数据集类)(获取数据位置和个数)

train=datasets.MNIST(root='data',download=False,train=True,transform=ToTensor())

test=datasets.MNIST(root='dada',download=True,train=False,transform=ToTensor())

transform=Torensor() 把[0,255]的PIL.Image文件从 (H x W x C)形状转换为 (C x H x W) 的tensor。

DataLoader(数据加载器类):

1.传入dataset

2.batch_size 批大小

3.shuffle 数据打乱

train_loader=DataLoader(dataset=train,batch_size=128,shuffle=True)

test_loader = DataLoader(dataset=test, batch_size=128)

构造一个两到三层的神经网络,因为minsit数据不是很复杂,所以层数对数据的效果没有太大的影响。

class MyNet(nn.Module):

def __init__(self) -> None:

super().__init__()

self.flatten = nn.Flatten() # 将28*28的图像拉伸为784维向量

# 第一个全连接层Full Connection(FC)

self.fc1 = nn.Linear(in_features=784,

out_features=512)

self.fc2 = nn.Linear(in_features=512,

out_features=256)

self.fc3 = nn.Linear(in_features=256,

out_features=10)

3 结语

minist是一个28*28的图像,所以输入就是28*28=784的维度,输出为10,0-9十个数字。

经过以上的操作就是对minsit数据的一个简单处理,为接下来的深度学习做准备。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
批量计算
批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档