PyTorch 中的 EMNIST
请我喝杯咖啡☕
*我的帖子解释了 EMNIST。
EMNIST()可以使用EMNIST数据集,如下所示:
*备忘录:
- 第一个参数是 root(必需类型:str 或 pathlib.Path)。 *绝对或相对路径都是可能的。
- 第二个参数是 split(Required-Type:str)。 *可以设置“byclass”、“bymerge”、“balanced”、“letters”、“digits”或“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)
登录后复制
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的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
如何修复KB5055523无法在Windows 11中安装?
2 周前
By DDD
Inzoi:如何申请学校和大学
3 周前
By DDD
如何修复KB5055518无法在Windows 10中安装?
2 周前
By DDD
Roblox:Dead Rails - 如何召唤和击败Nikola Tesla
4 周前
By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

Linux终端中查看Python版本时遇到权限问题的解决方法当你在Linux终端中尝试查看Python的版本时,输入python...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...

在使用Python的pandas库时,如何在两个结构不同的DataFrame之间进行整列复制是一个常见的问题。假设我们有两个Dat...

Uvicorn是如何持续监听HTTP请求的?Uvicorn是一个基于ASGI的轻量级Web服务器,其核心功能之一便是监听HTTP请求并进�...

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...
