• Python PyTorch 获取 MNIST 数据


    1 PyTorch 获取 MNIST 数据

    import torch
    import numpy as np
    import matplotlib.pyplot as plt # type: ignore
    from torchvision import datasets, transforms
    
    def mnist_get():
        print(torch.__version__)
        # 定义数据转换
        transform = transforms.Compose([
            transforms.ToTensor(),  # 将图像转换为张量
            transforms.Normalize((0.5,), (0.5,))  # 归一化图像数据
        ])
        # 获取数据
        train_data = datasets.MNIST(root='./data', train=False, download=True, transform=transform)
        test_data = datasets.MNIST(root='./data', train=False, download=True, transform=transform)
        # 训练数据
        train_image = train_data.data.numpy()
        train_label = train_data.targets.numpy()
        # 测试数据
        test_image = test_data.data.numpy()
        test_label = test_data.targets.numpy()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    2 PyTorch 保存 MNIST 数据

    import torch
    import numpy as np
    import matplotlib.pyplot as plt # type: ignore
    from torchvision import datasets, transforms
    
    def mnist_save(mnist_path):
        print(torch.__version__)
        # 定义数据转换
        transform = transforms.Compose([
            transforms.ToTensor(),  # 将图像转换为张量
            transforms.Normalize((0.5,), (0.5,))  # 归一化图像数据
        ])
        # 获取数据
        train_data = datasets.MNIST(root='./data', train=False, download=True, transform=transform)
        test_data = datasets.MNIST(root='./data', train=False, download=True, transform=transform)
        # 训练数据
        train_image = train_data.data.numpy()
        train_label = train_data.targets.numpy()
        # 测试数据
        test_image = test_data.data.numpy()
        test_label = test_data.targets.numpy()
        np.savez(mnist_path, train_data=train_image, train_label=train_label, test_data=test_image, test_label=test_label)
    
    mnist_path = 'C:\\Users\\Hyacinth\\Desktop\\mnist.npz'
    mnist_save(mnist_path)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    3 PyTorch 显示 MNIST 数据

    import torch
    import numpy as np
    import matplotlib.pyplot as plt # type: ignore
    from torchvision import datasets, transforms
    
    def mnist_show(mnist_path):
        data = np.load(mnist_path)
        image = data['train_data'][0:100]
        label = data['train_label'].reshape(-1, )
        plt.figure(figsize = (10, 10))
        for i in range(100):
            print('%f, %f' % (i, label[i]))
            plt.subplot(10, 10, i + 1)
            plt.imshow(image[i])
        plt.show()
    
    mnist_path = 'C:\\Users\\Hyacinth\\Desktop\\mnist.npz'
    mnist_show(mnist_path)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

  • 相关阅读:
    Docker笔记
    Fresco与Glide/android-gif-drawable/加载Gif 对比理解
    uniapp用vue3.0组合式API开发微信小程序子组件内使用uni-ui扩展组件无法修改样式?
    推特API(Twitter API)V2 用户关注
    2023最新国内外项目进度管理软件排行榜(推荐)
    OFDM原理及MATLAB仿真
    STC8H开发(十一): GPIO单线驱动多个DS18B20数字温度计
    【OpenCV-Python】教程:3-8 图像金字塔
    【监控】grafana图表使用快速上手
    【无标题】lllll
  • 原文地址:https://blog.csdn.net/qq_34814092/article/details/138168623