您的位置 首页 编程知识

PyTorch 中的 EMNIST

请我喝杯咖啡☕ *我的帖子解释了 emnist。 emnist()可以使用emnist数据集,如下所示: *备…

请我喝杯咖啡☕

*我的帖子解释了 emnist。

emnist()可以使用emnist数据集,如下所示:

*备忘录:

  • 第一个参数是 root(必需类型:str 或 pathlib.path)。 *绝对或相对路径都是可能的。
  • 第二个参数是 split(required-type:str)。 *可以设置“byclass”、“bymerge”、“balanced”、“letters”、“dis”或“mnist”。
  • 有训练参数(可选-默认:false-类型:float): *备注:
    • 对于 split=”byclass” 和 split=”byclass”,如果为 true,则使用训练数据(697,932 张图像),如果为 false,则使用测试数据(116,323 张图像)。
    • 对于 split=”balanced”,如果为 true,则使用训练数据(112,800 张图像),如果为 false,则使用测试数据(188,00 张图像)。
    • 对于 split=”letters”,如果为 true,则使用训练数据(124,800 张图像),如果为 false,则使用测试数据(20,800 张图像)。
    • 对于 split=”digits”,如果为 true,则使用训练数据(240,000 张图像),如果为 false,则使用测试数据(40,000 张图像)。
    • 对于 split=”mnist”,如果为 true,则使用训练数据(60,000 张图像),如果为 false,则使用测试数据(10,000 张图像)。
  • 有转换参数(可选-默认:无-类型:可调用)。
  • 有 target_transform 参数(可选-默认:无-类型:可调用)。
  • 有下载参数(可选-默认:false-类型:bool): *备注:
    • 如果为 true,则从互联网下载数据集并解压(解压)到根目录。
    • 如果为 true 并且数据集已下载,则将其提取。
    • 如果为 true 并且数据集已下载并提取,则不会发生任何事情。
    • 如果数据集已经下载并提取,则应该为 false,因为它速度更快。
    • 您可以从此处手动下载并提取数据集,例如数据/emnist/raw/.
  • 存在图像默认翻转并逆时针旋转90度的错误,因此需要对其进行转换。
from torchvision.datasets import emnist  train_data = emnist(     root="data",     split="byclass" )  train_data = emnist(     root="data",     split="byclass",     train=true,     transform=none,     target_transform=none,     download=false )  test_data = emnist(     root="data",     split="byclass",     train=false )  len(train_data), len(test_data) # 697932 116323  train_data # dataset emnist #     number of datapoints: 697932 #     root location: data #     split: train  train_data.root # 'data'  train_data.split # 'byclass'  train_data.train # true  print(train_data.transform) # none  print(train_data.target_transform) # none  train_data.download # <bound method emnist.download of dataset emnist #     number of datapoints: 697932 #     root location: data #     split: train>  train_data[0] # (<pil.image.image image mode=l size=28x28>, 35)  train_data[1] # (<pil.image.image image mode=l size=28x28>, 36)  train_data[2] # (<pil.image.image image mode=l size=28x28>, 6)  train_data[3] # (<pil.image.image image mode=l size=28x28>, 3)  train_data[4] # (<pil.image.image image mode=l size=28x28>, 22)  train_data.classes # ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', #  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', #  'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', #  'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', #  'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] 
登录后复制
from torchvision.datasets import emnist  train_data = emnist(     root="data",     split="byclass",     train=true )  test_data = emnist(     root="data",     split="byclass",     train=false )  import matplotlib.pyplot as plt  def show_images(data):     plt.figure(figsize=(12, 2))     col = 5     for i, (image, label) in enumerate(data, 1):         plt.subplot(1, col, i)         plt.title(label)         plt.imshow(image)         if i == col:             break     plt.show()  show_images(data=train_data) show_images(data=test_data) 
登录后复制

PyTorch 中的 EMNIST

from torchvision.datasets import EMNIST from torchvision.transforms import v2  train_data = EMNIST(     root="data",     split="byclass",     train=True,     transform=v2.Compose([         v2.RandomHorizontalFlip(p=1.0),         v2.RandomRotation(degrees=(90, 90))     ]) )  test_data = EMNIST(     root="data",     split="byclass",     train=False,     transform=v2.Compose([         v2.RandomHorizontalFlip(p=1.0),         v2.RandomRotation(degrees=(90, 90))     ]) )  import matplotlib.pyplot as plt  def show_images(data):     plt.figure(figsize=(12, 2))     col = 5     for i, (image, label) in enumerate(data, 1):         plt.subplot(1, col, i)         plt.title(label)         plt.imshow(image)         if i == col:             break     plt.show()  show_images(data=train_data) show_images(data=test_data) 
登录后复制

PyTorch 中的 EMNIST

以上就是PyTorch 中的 EMNIST的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表四平甲倪网络网站制作专家立场,转载请注明出处:http://www.elephantgpt.cn/4470.html

作者: nijia

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

联系我们

18844404989

在线咨询: QQ交谈

邮箱: 641522856@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部