Gluon Data API
2021-06-28 07:08
标签:nsf seq 读取 lov loader 写入 etc ast 回调函数 http://mxnet.apache.org/api/python/gluon/data.html Gluon Data API 标签:nsf seq 读取 lov loader 写入 etc ast 回调函数 原文地址:https://www.cnblogs.com/TreeDream/p/10049043.htmlimport sys
import os
import time
import mxnet as mx
from mxnet import autograd,nd
from mxnet import gluon,init
from mxnet.gluon import data as gdata,loss as gloss
from mxnet.gluon import nn
#gdata.ArrayDataset() 组合数据
#gdata.DataLoader() 从数据集返回一个小批量数据集
#常用数据集
#gdata.vision.MNIST
#gdata.vision.FashionMNIST
#gdata.vision.CIFAR10
#gdata.vision.CIFAR100
#gdata.vision.ImageRecordDataset
#gdata.vision.ImageFolderDataset
# 视觉变换
# gluon.data.vision.transforms
from mxnet.gluon.data.vision import MNIST,transforms
‘‘‘
transforms.Cast # 转特定数据类型
transforms.ToTensor # 将 ndarray 转为 张量 ndarray
transforms.Normalize # 用 平均值和标准差 规范化一个张量
transforms.RandomResizedCrop # 使用随机比例裁剪图像
transforms.CenterCrop # 裁剪到中心
transforms.Resize # 调整到指定大小
transforms.RandomFlipLeftRight # 以0.5的概率左右翻转图像
transforms.RandomFlipTopBottom
transforms.RandomBrightness # 随机抖动图像亮度
transforms.RandomContrast # 随机抖动图像对比度
transforms.RandomSaturation # 随机抖动图像饱和度
transforms.RandomHue # 随机抖动图像色调
transforms.RandomColorJitter # 随机抖动图像 亮度,对比度,饱和度,色调
transforms.RandomLighting # 添加一个AlexNet-Style的噪声到图像
‘‘‘
transform = transforms.Compose(
[transforms.Resize(300),
transforms.RandomResizedCrop(224),
transforms.RandomBrightness(0.1),
transforms.ToTensor(),
transforms.Normalize(0,1)
]
)
data = MNIST(train=True).transform_first(transform)
#print(len(data))
data_loader = gluon.data.DataLoader(data,batch_size=32,num_workers=0)
for data,label in data_loader:
#print(data)
#print(label)
break
#print(len(data_loader))
# API Reference
# 定义数据
tmp = gluon.data.ArrayDataset([1,2,3],[2,3,4])
# 采样
sampler = gluon.data.SequentialSampler(10)
print(list(sampler))
batch_sampler = gluon.data.BatchSampler(sampler,3,last_batch=‘keep‘)
print(list(batch_sampler))
# 从数据集加载数据并返回小批量数据
# gluon.data.DataLoader
# dataset : numpy,mxnet数组均可以直接作为数据集
# batch_size(int) 小批量的大小
# shuffle(bool) 是否要洗牌样品
# sampler 要使用的采样器,shuffle和 sampler 选其一
# last_batch 最后一批,{‘keep‘,‘discard‘,‘rollover‘}
# batch_sampler 返回小批量采样器,指定了batch_sampler则不需要指定 batch_size,shuffle,sampler,last_batch
# batchify_fn 回调函数
# num_workers 加速读取
# pin_memory(bool) True,将数据写入GPU
# prefetch 预读取某些批次
# (fn,lazy=True)
# 默认需要时转换数据
# gluon.data.Dataset.transform()
# gluon.data.Dataset.transform_first()
上一篇:window对象使用总结