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

回答編集履歴

1

追加

2019/12/07 01:59

投稿

Q71
Q71

スコア995

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