tf.nn.in_top_k原理探究
阿新 • • 發佈:2018-04-06
() int ssi orf cti ble variable 最大的 clas
1 import tensorflow as tf; 2 3 A = [[0.8,0.6,0.3], [0.1,0.6,0.4],[0.5,0.1,0.9]] 4 B = [0,2,1]5 out = tf.nn.in_top_k(A, B, 2) 6 with tf.Session() as sess: 7 sess.run(tf.initialize_all_variables()) 8 print(sess.run(out))
tf.nn.in_top_k組要是用於計算預測的結果和實際結果的是否相等,返回一個bool類型的張量,
tf.nn.in_top_k(prediction, target, K):
prediction就是表示你預測的結果,大小就是預測樣本的數量乘以輸出的維度,類型是tf.float32等。
target就是實際樣本類別的標簽,大小就是樣本數量的個數。
K表示每個樣本的預測結果的前K個最大的數裏面是否含有target中的值。一般都是取1。
當k為1時:
預測值為[0,1,2]
真實值為[0,2,1]
輸出為[True,False,False]
當k為2時:
預測值為
# 0,1
# 1,2
# 0,2
真實值為[0,0,1]
輸出為[True,True,False]
tf.nn.in_top_k原理探究