前提・実現したいこと
ポケモンの画像を集め、それにノイズをかけたときにノイズ除去できるようにしたい。
発生している問題・エラーメッセージ
そもそもそのポケモンのデータを訓練データとテストデータに分けるやり方がわかりません。参考にしていたmnistのサイトでは
from tensorflow.python.keras.datasets import mnist
(x_train, y_train),(x_test, y_test) = mnist.load_data()
の2行で終わっちゃってるんですけど mnist.load_data() に当たる部分を自分で作るにはどうすればいいのかを教えてもらいたいです。前画像データの中から8割を訓練データ、2割をテストデータにしたいです。今は番号順に並んでるのでランダムに8割選べると尚ありがたいです。
該当のソースコード
import numpy as np
import matplotlib.pyplot as plt
from tensorflow.python import keras
from tensorflow.python.keras import backend as K
from tensorflow.python.keras.models import Model, Sequential
from tensorflow.python.keras.layers import Conv2D, Dense, Input, MaxPooling2D, UpSampling2D, Lambda
from tensorflow.python.keras.preprocessing.image import load_img, img_to_array, array_to_img, ImageDataGenerator
ls drive/My\ Drive/poke64
(x_train, y_train),(x_test, y_test) =?????????????????????????
/////////CNNで扱いやすい形に変形
x_train = x_train.reshape(-1,28,28,1)
x_test = x_test.reshape(-1,28,28,1)
////////特徴量の正規化
x_train = x_train/255.
x_test = x_test/255.
/////////////マスキングノイズ
def make_masking_noise_data(data_x,percent=0.1):
size = data_x.shape
masking = np.random.binomial(n=1, p=percent,size=size)
return data_x*masking
x_train_masked = make_masking_noise_data(x_train)
x_test_masked = make_masking_noise_data(x_test)
/////////////ガウシアンノイズ
def make_gaussian_noise_data(data_x, scale=0.8):
gaussian_data_x = data_x + np.random.normal(loc=0, scale=scale, size=data_x.shape)
gaussian_data_x = np.clip(gaussian_data_x, 0, 1)
return gaussian_data_x
x_train_gauss = make_gaussian_noise_data(x_train)
x_test_gauss = make_gaussian_noise_data(x_test)
/////////ノイズをかけた画像の表示
from IPython.display import display_png
display_png(array_to_img(x_train[0]))
display_png(array_to_img(x_train_gauss[0]))
display_png(array_to_img(x_train_masked[0]))
試したこと
補足情報(FW/ツールのバージョンなど)
現在google colaboratoryを使用しています。最近勉強始めたばかりであまりよくわかってないのですが、よろしくお願いします
回答1件
あなたの回答
tips
プレビュー