DeepLearningを行うにはデータの形を成型する必要があります。
よく使うデータの変換方法をメモとして残します。
入力データの読み込み
画像データをバイナリ化するために、画像処理データライブラリの「PIL」を利用します。
※Pillowを利用推奨。高速でバグフィックスもされている。
from PIL import Image image = Image.open("test5.png").convert('L') image = image.resize((28, 28), Image.ANTIALIAS) data = np.asarray(image, dtype=float)
入力データの配列の次元を変換
入力データを1次元の配列に変換することが多々あります。
ここでは、60000個の28×28の画像データの変換例を示します。
a1(60000, 28, 28)の3次元配列から、a2(60000, 784)の2次元配列に変換します。
※要素数が異なるとエラーになるので注意。
a2 = a1.reshape(len(a1), a1[0].size)
解答データをベクトル表記に変換
「to_categorical()」関数を使って、スカラーからベクトルに変換します。
from keras.utils import np_utils t2 = np_utils.to_categorical(t1)
コメント