回答編集履歴
1
追加
test
CHANGED
@@ -1 +1,57 @@
|
|
1
1
|
真の答えは分かっているのですから、それごとに正解数と判別回数を積算していけば出せますよね。そういうことではなく?
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
```Python
|
6
|
+
|
7
|
+
def _eval(sess, top_k_op, input_image, label_placeholder):
|
8
|
+
|
9
|
+
if not FLAGS.test_data:
|
10
|
+
|
11
|
+
return np.nan
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
image_reader = Cifar10Reader(FLAGS.test_data)
|
16
|
+
|
17
|
+
true_count = 0
|
18
|
+
|
19
|
+
for index in range(30000):
|
20
|
+
|
21
|
+
image = image_reader.read(index)
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
# この、predictions の形を調べて下さい。
|
26
|
+
|
27
|
+
predictions = sess.run([top_k_op],
|
28
|
+
|
29
|
+
feed_dict={
|
30
|
+
|
31
|
+
input_image: image.byte_array,
|
32
|
+
|
33
|
+
# これが、評価した画像のクラスです。
|
34
|
+
|
35
|
+
label_placeholder: image.label
|
36
|
+
|
37
|
+
})
|
38
|
+
|
39
|
+
# これが、今表示している「正解の数」です。
|
40
|
+
|
41
|
+
# おそらく、正解の時に1、不正解の時に0になっていると思います。
|
42
|
+
|
43
|
+
# ですから、「全体の数」と「正解した数」について、クラスス数の配列を作って、
|
44
|
+
|
45
|
+
# ここでクラス別に足し込んでいき、
|
46
|
+
|
47
|
+
true_count += np.sum(predictions)
|
48
|
+
|
49
|
+
image_reader.close()
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
# 最後に「正解した数」÷「全体の数」をすれば、クラスごとの正解率が求まります。
|
54
|
+
|
55
|
+
return (true_count / 30000.0)
|
56
|
+
|
57
|
+
```
|