#教えていただきたいこと
現在、自作のデータセットで画像認識を行いたいと考えています。
ですが、データセットを作る段階でエラーがでてしまいました。
そこで、本を参考にしながら行いたいのですが、おすすめの本をご存じの方いらっしゃいましたら教えていただけるとありがたいです。
よろしくお願い致します。
#補足
使っている言語はpython、Kerasを用いて畳み込みニューラルネットワークを構築しております。
ねじれの向きを判断する画像認識プログラムを作りたいと考えています。
データとしてPOV-ray(CGソフト)を使って左巻き、右巻きそれぞれ1000枚ずつ作り、そのうちテストデータとしてそれぞれ10枚ずつ抜き出しました。
右巻きには0、左巻きには1のようにラベル付けをしたいのですが、その段階で躓いてしまいました。
#表示されたエラーと該当するプログラム
エラーが表示された場所は「2割テストデータへ」とコメントしてあるところです。
python
1from PIL import Image 2import os, glob 3import numpy as np 4from keras.utils import np_utils 5from sklearn import model_selection 6from sklearn.model_selection import train_test_split 7 8classes = ["right","left"] 9num_classes = len(classes) 10image_size = 320 11 12 13#datesetのディレクトリ 14datadir='/content/drive/MyDrive/Colab Notebooks/spiral' 15 16#画像の読み込み 17X = [] 18Y = [] 19 20 21for index, classlabel in enumerate(classes): 22 photos_dir = datadir+ classlabel 23 files = glob.glob(photos_dir + "/*.jpg") 24 for i, file in enumerate(files): 25 26 image = Image.open(file) 27 image = image.convert("RGB") 28 image = image.resize((image_size, image_size)) 29 #image.save("./test/{}{}.jpg".format(classlabel,i)) 30 data = np.asarray(image) 31 32 for angle in range(-20, 20, 5):##5 33 # 回転 34 img_r = image.rotate(angle) 35 data = np.asarray(img_r) 36 X.append(data) 37 Y.append(index) 38 39 # 反転 40 img_trans = image.transpose(Image.FLIP_LEFT_RIGHT) 41 data = np.asarray(img_trans) 42 X.append(data) 43 Y.append(index) 44 45 46 47X = np.array(X) 48Y = np.array(Y) 49 50#2割テストデータへ 51(X_train, X_test, y_train, y_test) = train_test_split(X, Y,test_size=0.2) 52 53#正規化 54X_train = X_train.astype("float") / 255 55X_test = X_test.astype("float") / 255 56 57#教師データの型を変換 58y_train = np_utils.to_categorical(y_train,num_classes) 59y_test = np_utils.to_categorical(y_test, num_classes) 60 61#X_train, X_test, y_train, y_test = model_selection.train_test_split(X, Y) 62xy = (X_train, X_test, y_train, y_test) 63np.save("./dataset.npy", xy)
python
1ValueError: With n_samples=0, test_size=0.2 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.
あなたの回答
tips
プレビュー