質問編集履歴

2

情報の追加

2021/12/09 04:46

投稿

0afnjosa
0afnjosa

スコア7

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  現在、自作のデータセットで画像認識を行いたいと考えています。
4
4
 
5
- ですが、データセットを作る段階でつまずいてしまいました。
5
+ ですが、データセットを作る段階でエラーがでてしまいました。
6
6
 
7
7
  そこで、本を参考にしながら行いたいのですが、おすすめの本をご存じの方いらっしゃいましたら教えていただけるとありがたいです。
8
8
 
@@ -19,3 +19,147 @@
19
19
  データとしてPOV-ray(CGソフト)を使って左巻き、右巻きそれぞれ1000枚ずつ作り、そのうちテストデータとしてそれぞれ10枚ずつ抜き出しました。
20
20
 
21
21
  右巻きには0、左巻きには1のようにラベル付けをしたいのですが、その段階で躓いてしまいました。
22
+
23
+
24
+
25
+ #表示されたエラーと該当するプログラム
26
+
27
+ エラーが表示された場所は「2割テストデータへ」とコメントしてあるところです。
28
+
29
+ ```python
30
+
31
+ from PIL import Image
32
+
33
+ import os, glob
34
+
35
+ import numpy as np
36
+
37
+ from keras.utils import np_utils
38
+
39
+ from sklearn import model_selection
40
+
41
+ from sklearn.model_selection import train_test_split
42
+
43
+
44
+
45
+ classes = ["right","left"]
46
+
47
+ num_classes = len(classes)
48
+
49
+ image_size = 320
50
+
51
+
52
+
53
+
54
+
55
+ #datesetのディレクトリ
56
+
57
+ datadir='/content/drive/MyDrive/Colab Notebooks/spiral'
58
+
59
+
60
+
61
+ #画像の読み込み
62
+
63
+ X = []
64
+
65
+ Y = []
66
+
67
+
68
+
69
+
70
+
71
+ for index, classlabel in enumerate(classes):
72
+
73
+ photos_dir = datadir+ classlabel
74
+
75
+ files = glob.glob(photos_dir + "/*.jpg")
76
+
77
+ for i, file in enumerate(files):
78
+
79
+
80
+
81
+ image = Image.open(file)
82
+
83
+ image = image.convert("RGB")
84
+
85
+ image = image.resize((image_size, image_size))
86
+
87
+ #image.save("./test/{}{}.jpg".format(classlabel,i))
88
+
89
+ data = np.asarray(image)
90
+
91
+
92
+
93
+ for angle in range(-20, 20, 5):##5
94
+
95
+ # 回転
96
+
97
+ img_r = image.rotate(angle)
98
+
99
+ data = np.asarray(img_r)
100
+
101
+ X.append(data)
102
+
103
+ Y.append(index)
104
+
105
+
106
+
107
+ # 反転
108
+
109
+ img_trans = image.transpose(Image.FLIP_LEFT_RIGHT)
110
+
111
+ data = np.asarray(img_trans)
112
+
113
+ X.append(data)
114
+
115
+ Y.append(index)
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ X = np.array(X)
124
+
125
+ Y = np.array(Y)
126
+
127
+
128
+
129
+ #2割テストデータへ
130
+
131
+ (X_train, X_test, y_train, y_test) = train_test_split(X, Y,test_size=0.2)
132
+
133
+
134
+
135
+ #正規化
136
+
137
+ X_train = X_train.astype("float") / 255
138
+
139
+ X_test = X_test.astype("float") / 255
140
+
141
+
142
+
143
+ #教師データの型を変換
144
+
145
+ y_train = np_utils.to_categorical(y_train,num_classes)
146
+
147
+ y_test = np_utils.to_categorical(y_test, num_classes)
148
+
149
+
150
+
151
+ #X_train, X_test, y_train, y_test = model_selection.train_test_split(X, Y)
152
+
153
+ xy = (X_train, X_test, y_train, y_test)
154
+
155
+ np.save("./dataset.npy", xy)
156
+
157
+ ```
158
+
159
+
160
+
161
+ ```python
162
+
163
+ ValueError: 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.
164
+
165
+ ```

1

情報の追加

2021/12/09 04:46

投稿

0afnjosa
0afnjosa

スコア7

test CHANGED
File without changes
test CHANGED
@@ -7,3 +7,15 @@
7
7
  そこで、本を参考にしながら行いたいのですが、おすすめの本をご存じの方いらっしゃいましたら教えていただけるとありがたいです。
8
8
 
9
9
  よろしくお願い致します。
10
+
11
+
12
+
13
+ #補足
14
+
15
+ 使っている言語はpython、Kerasを用いて畳み込みニューラルネットワークを構築しております。
16
+
17
+ ねじれの向きを判断する画像認識プログラムを作りたいと考えています。
18
+
19
+ データとしてPOV-ray(CGソフト)を使って左巻き、右巻きそれぞれ1000枚ずつ作り、そのうちテストデータとしてそれぞれ10枚ずつ抜き出しました。
20
+
21
+ 右巻きには0、左巻きには1のようにラベル付けをしたいのですが、その段階で躓いてしまいました。