tf.nn.in_top_k原理探究

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]

 

posted on   周健康  阅读(246)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示