teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

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

2018/09/05 05:46

投稿

nematoda
nematoda

スコア9

title CHANGED
@@ -1,1 +1,1 @@
1
- 自分で用意したデータセットでChainerがかない
1
+ Chainerのエラー文の変数ない
body CHANGED
@@ -5,11 +5,10 @@
5
5
 
6
6
  まず、自分でイメージスキャナから得た19872枚の画像にデータセット制作のコードを実行することでラベルを振りました。
7
7
  次に、以下のChainerのコードを実行した時に、trainer.run()でエラーが発生しました。
8
- エラー文を見た感じは、0であるべき値がfloat型になっているようですが、データの作り方(ラベル与え方)が悪いのか、それ以外原因なのかも分りません
8
+ エラー文で示されているin_types[0]はデータの値なのか、ネットワーク変数なのかどちらでしょうか。
9
+ 修正する箇所を教えていただけるとありがたいです。
9
10
 
10
- 何が原因でエラーが出ており、修正するべき点を教えていただけるとありがたいです。
11
11
 
12
-
13
12
  ### 発生している問題・エラーメッセージ
14
13
 
15
14
  ```
@@ -88,41 +87,7 @@
88
87
  ### 該当のソースコード
89
88
 
90
89
  ```Python
91
- #データセット制作のコード
92
- import os
93
- import numpy as np
94
- import cv2
95
90
 
96
- os.chdir("./validation")
97
- cWD = os.getcwd()
98
- filenames = os.listdir(cWD)
99
- num_files = len(filenames)
100
-
101
- h = 100 #画像の高さ
102
- w = 100 #画像の幅
103
- data = np.zeros((num_files,3,h,w)) #画像を入れる箱を用意
104
-
105
- print(data.shape)
106
- for i,filename in zip(range(num_files),filenames): #validationディレクトリのファイルとiを同時に回す
107
-
108
- img = cv2.imread(filename,1)
109
- one_data = img.reshape(3,h,w) #100*100*3を3*100*100に変換
110
- data[i] = one_data #dataに読み込んだ画像(変換済み)を入れる
111
- u = np.zeros((num_files),dtype='int32')
112
-
113
- for i,filename in zip(range(num_files),filenames):
114
- positive_or_negative = filename.split('e',1) #imageとnegaimageを区別する("imag"e,"n"egaimage)
115
-
116
- if positive_or_negative[0]=="imag": #positiveの画像にラベルとして0を与える
117
- u[i] = 0
118
- if positive_or_negative[0]=="n": #negativeの画像にラベルとして1を与える
119
- u[i] = 1
120
-
121
- os.chdir("../")
122
- np.savez('validation.npz',x=data,t=u) #data(画像)をxに、u(ラベル)をtとして保存する
123
-
124
-
125
- #Chainerのコード
126
91
  import numpy as np
127
92
  import math
128
93
  import random