質問編集履歴

3

code追加

2019/03/04 12:04

投稿

kmll
kmll

スコア19

test CHANGED
File without changes
test CHANGED
@@ -115,3 +115,121 @@
115
115
  #データを保存する
116
116
 
117
117
  np.save("C:\Users\kmll\python_code\cat\tea_data.npy", xy)
118
+
119
+
120
+
121
+ ```python
122
+
123
+ #犬猫見た目による学習/検証データの準備
124
+
125
+
126
+
127
+ from PIL import Image
128
+
129
+ import os, glob
130
+
131
+ import numpy as np
132
+
133
+ import random, math
134
+
135
+
136
+
137
+ #画像が保存されているルートディレクトリのパス
138
+
139
+ root_dir ="C:\Users\kmll\python_code\dog"
140
+
141
+ # 種類
142
+
143
+ categories = ["cat","dog"]
144
+
145
+
146
+
147
+ # 画像データ用配列
148
+
149
+ X = []
150
+
151
+ # 種類データ用配列
152
+
153
+ Y = []
154
+
155
+
156
+
157
+ #画像データごとにadd_sample()を呼び出し、X,Yの配列を返す関数
158
+
159
+ def make_sample(files):
160
+
161
+ global X, Y
162
+
163
+ X = []
164
+
165
+ Y = []
166
+
167
+ for cat, fname in files:
168
+
169
+ add_sample(cat, fname)
170
+
171
+ return np.array(X), np.array(Y)
172
+
173
+
174
+
175
+ #渡された画像データを読み込んでXに格納し、また、
176
+
177
+ #画像データに対応するcategoriesのidxをY格納する関数
178
+
179
+ def add_sample(cat, fname):
180
+
181
+ img = Image.open(fname)
182
+
183
+ img = img.convert("RGB")
184
+
185
+ img = img.resize((150, 150))
186
+
187
+ data = np.asarray(img)
188
+
189
+ X.append(data)
190
+
191
+ Y.append(cat)
192
+
193
+
194
+
195
+ #全データ格納用配列
196
+
197
+ allfiles = []
198
+
199
+
200
+
201
+ #カテゴリ配列の各値と、それに対応するidxを認識し、全データをallfilesにまとめる
202
+
203
+ for idx, cat in enumerate(categories):
204
+
205
+ image_dir = root_dir + "/" + cat
206
+
207
+ files = glob.glob(image_dir + "/*.jpg")
208
+
209
+ for f in files:
210
+
211
+ allfiles.append((idx, f))
212
+
213
+
214
+
215
+ #シャッフル後、学習データと検証データに分ける
216
+
217
+ random.shuffle(allfiles)
218
+
219
+ th = math.floor(len(allfiles) * 0.8)
220
+
221
+ train = allfiles[0:th]
222
+
223
+ test = allfiles[th:]
224
+
225
+ X_train, y_train = make_sample(train)
226
+
227
+ X_test, y_test = make_sample(test)
228
+
229
+ xy = (X_train, X_test, y_train, y_test)
230
+
231
+ #データを保存する
232
+
233
+ np.save("C:\Users\kmll\python_code\cat\tea_data.npy", xy)
234
+
235
+ ```

2

文面修正

2019/03/04 12:04

投稿

kmll
kmll

スコア19

test CHANGED
File without changes
test CHANGED
@@ -112,6 +112,6 @@
112
112
 
113
113
  xy = (X_train, X_test, y_train, y_test)
114
114
 
115
- #データを保存する(データの名前を「tea_data.npy」としている)
115
+ #データを保存する
116
116
 
117
117
  np.save("C:\Users\kmll\python_code\cat\tea_data.npy", xy)

1

ファイル名修正

2019/03/04 11:24

投稿

kmll
kmll

スコア19

test CHANGED
File without changes
test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  #画像が保存されているルートディレクトリのパス
22
22
 
23
- root_dir ="C:\Users\Atsuhiro\python_code\dog"
23
+ root_dir ="C:\Users\kmll\python_code\dog"
24
24
 
25
25
  # 種類
26
26
 
@@ -114,4 +114,4 @@
114
114
 
115
115
  #データを保存する(データの名前を「tea_data.npy」としている)
116
116
 
117
- np.save("C:\Users\Atsuhiro\python_code\cat\animal_data.npy", xy)
117
+ np.save("C:\Users\kmll\python_code\cat\tea_data.npy", xy)