質問編集履歴

1

質問がわかりにくいかなと思ったので、質問の文を変更しました

2018/09/05 05:46

投稿

nematoda
nematoda

スコア9

test CHANGED
@@ -1 +1 @@
1
- 自分で用意したデータセットでChainerがかない
1
+ Chainerのエラー文の変数ない
test CHANGED
@@ -12,11 +12,9 @@
12
12
 
13
13
  次に、以下のChainerのコードを実行した時に、trainer.run()でエラーが発生しました。
14
14
 
15
- エラー文を見た感じは、0であるべき値がfloat型になっているようですが、データの作り方(ラベル与え方)が悪いのか、それ以外原因なのかも分りません
15
+ エラー文で示されているin_types[0]はデータの値なのか、ネットワーク変数なのかどちらでしょうか。
16
-
17
-
18
-
16
+
19
- 何が原因でエラーが出ており、修正するべき点を教えていただけるとありがたいです。
17
+ 修正する箇所を教えていただけるとありがたいです。
20
18
 
21
19
 
22
20
 
@@ -178,78 +176,10 @@
178
176
 
179
177
  ```Python
180
178
 
181
- #データセット制作のコード
179
+
182
-
183
- import os
184
180
 
185
181
  import numpy as np
186
182
 
187
- import cv2
188
-
189
-
190
-
191
- os.chdir("./validation")
192
-
193
- cWD = os.getcwd()
194
-
195
- filenames = os.listdir(cWD)
196
-
197
- num_files = len(filenames)
198
-
199
-
200
-
201
- h = 100 #画像の高さ
202
-
203
- w = 100 #画像の幅
204
-
205
- data = np.zeros((num_files,3,h,w)) #画像を入れる箱を用意
206
-
207
-
208
-
209
- print(data.shape)
210
-
211
- for i,filename in zip(range(num_files),filenames): #validationディレクトリのファイルとiを同時に回す
212
-
213
-
214
-
215
- img = cv2.imread(filename,1)
216
-
217
- one_data = img.reshape(3,h,w) #100*100*3を3*100*100に変換
218
-
219
- data[i] = one_data #dataに読み込んだ画像(変換済み)を入れる
220
-
221
- u = np.zeros((num_files),dtype='int32')
222
-
223
-
224
-
225
- for i,filename in zip(range(num_files),filenames):
226
-
227
- positive_or_negative = filename.split('e',1) #imageとnegaimageを区別する("imag"e,"n"egaimage)
228
-
229
-
230
-
231
- if positive_or_negative[0]=="imag": #positiveの画像にラベルとして0を与える
232
-
233
- u[i] = 0
234
-
235
- if positive_or_negative[0]=="n": #negativeの画像にラベルとして1を与える
236
-
237
- u[i] = 1
238
-
239
-
240
-
241
- os.chdir("../")
242
-
243
- np.savez('validation.npz',x=data,t=u) #data(画像)をxに、u(ラベル)をtとして保存する
244
-
245
-
246
-
247
-
248
-
249
- #Chainerのコード
250
-
251
- import numpy as np
252
-
253
183
  import math
254
184
 
255
185
  import random