よく画像系のAIモデルモックを作る時、なんやかんだでMNISTをよく使う
そのままtorchvisionで読み込んでバイナリデータで使ってもいいのだけれど、画像ファイルにしておいた方が諸々検証しやすかったりする
だから画像ファイルとして残す方法をメモしておく
(この作業、割と毎回やっているので)
import os
from glob import glob
from PIL import Image
import torchvision
# 画像保存先フォルダ生成
for no in range(0, 10):
os.makedirs(f'./mnist/{no}')
# MNIST読込
datasets = torchvision.datasets.MNIST(
root='./data', download=True,
)
# 1フォルダ100枚迄保存したら終了とする
threshold = 100
for target, img in zip(datasets.targets, datasets.data):
save_dir = f'./mnist/{target}'
n = len(glob(f'{save_dir}/*'))
if n >= threshold:
continue
Image.fromarray(img.numpy()).save(f'{save_dir}/label{n+1}.png')
以上