Paddle中的数据集合定义与加载

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Paddle中的数据集合定义与加载相关的知识,希望对你有一定的参考价值。

简 介: 为了高效利用PaddlePaddle的训练框架, fit(), 基础框架,本文给出了在PaddlePaddle中代码框架中给定的数据准备方法。利用这些方法,利用这些方法可以获得构造PaddlePaddle框架中的数据结构。

关键词 Paddle数据集合

自带数据集
文章目录
Paddle中的自
带数据集合
MNIST数据集合
自定义数据
构造训练数据
总 结

 

§01 带数据集


1.1 Paddle中的自带数据集合

1.1.1 数据集合

print('Dataset for Vision:', paddle.vision.datasets.__all__)
print('Dataset for text:', paddle.text.__all__)
Dataset for Vision: ['DatasetFolder', 'ImageFolder', 'MNIST', 'FashionMNIST', 'Flowers', 'Cifar10', 'Cifar100', 'VOC2012']
Dataset for text: ['Conll05st', 'Imdb', 'Imikolov', 'Movielens', 'UCIHousing', 'WMT14', 'WMT16', 'ViterbiDecoder', 'viterbi_decode']

1.2 MNIST数据集合

1.2.1 MNIST数据集合属性

(1)全部属性

print(dir(paddle.vision.datasets.MNIST()))
['NAME', 'TEST_IMAGE_MD5', 'TEST_IMAGE_URL', 'TEST_LABEL_MD5', 'TEST_LABEL_URL', 'TRAIN_IMAGE_MD5', 'TRAIN_IMAGE_URL', 'TRAIN_LABEL_MD5', 'TRAIN_LABEL_URL', 'URL_PREFIX', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_parse_dataset', 'backend', 'dtype', 'image_path', 'images', 'label_path', 'labels', 'mode', 'transform']

(2)mode属性

  (1)模式1

print(paddle.vision.datasets.MNIST().mode)
train

  (2)模式2

print(paddle.vision.datasets.MNIST(mode='test').mode)
test

1.2.2 MNIST数据类型

print(type(train_dataset))
print(train_dataset[0])
print(train_dataset[0][0])
print(array(train_dataset[0][0]))
<class 'paddle.vision.datasets.mnist.MNIST'>
(<PIL.Image.Image image mode=L size=28x28 at 0x7F795E0EA0D0>, array([5]))
<PIL.Image.Image image mode=L size=28x28 at 0x7F795E0EAB50>
[[  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
......
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]
 [  0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
    0   0   0   0   0   0   0   0   0   0]]

1.2.3 MNIST数据转换

(1)ToTensor

  利用vision.trainsforms.ToTensor()将PIL.Image转换成Tensor:

train_dataset = paddle.vision.datasets.MNIST(mode='train',
                transform=paddle.vision.transforms.ToTensor())
print(type(train_dataset))
print(train_dataset[0])
print(train_dataset[0][0])
print(train_dataset[0][0].numpy())
<class 'paddle.vision.datasets.mnist.MNIST'>
(Tensor(shape=[1, 28, 28], dtype=float32, place=CPUPlace, stop_gradient=True,
       [[[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
......
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]]]), array([5]))
          
Tensor(shape=[1, 28, 28], dtype=float32, place=CPUPlace, stop_gradient=True,
       [[[0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
......
         [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
          0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
         [0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.Paddle 点灯人 之 10分钟快速上手Paddle

Paddle关于[paddle.load]文档超链接显示问题的PR日志

在Paddle中利用AlexNet测试CIFAR10数据集合

AI Studio中的视觉数据集合

百度PaddlePaddle入门-10

解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段