スポンサードリンク
from PIL import Image import os,glob import numpy as np from sklearn import model_selection #クラスを配列に格納 classes = ["A","B","C"] num_classes = len(classes) image_size = 50 #画像の読み込み #最終的に画像、ラベルはリストに格納される X = [] Y = [] #まずfor文で画像のインデックスとクラスを取得(1:りんご,2,ブドウ...) for index,classlabel in enumerate(classes): photos_dir = "./" + classlabel #globでそれぞれのクラスの画像一覧を取得 files = glob.glob(photos_dir + "/*.jpg") #for文を使い、それぞれのクラスの200枚までの画像を取得 for i,file in enumerate(files): if i >=200:break image = Image.open(file) image = image.convert("RGB") image = image.resize((image_size,image_size)) #イメージを1枚ずつnumpy配列に変換 data = np.asarray(image) #リストに格納 X.append(data) Y.append(index) #格納したリストをさらにnumpy配列に変換 X = np.array(X) Y = np.array(Y) X_train,X_test,Y_train,Y_test = model_selection.train_test_split(X,Y) #画像の正規化 X_train = X_train.astype("float")/256 X_test = X_test.astype("float")/256 #ラベルをカテゴリ変数に変換 y_train = np_utils.to_categorical(y_train,num_classes) y_test = np_utils.to_categorical(y_test,num_classes)