IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> tensorflow2.x 张量排序 -> 正文阅读

[人工智能]tensorflow2.x 张量排序

Sort/argsort

Sort : 对某一维度上的完全排序,返回一个排序后的 tensor
argsort :对某一维度上的完全排序,返回一个排序后tensor所对应的位置(索引)
参数:
direction:降序DESCENDING、升序ASCENDING
axis : 维度

# tf.sort() /  tf.argsort()
a = tf.random.shuffle(tf.range(5))#tf.random.shuffle()得到的是一个打乱后的tensor序列
print(a)
print(tf.sort(a, direction='DESCENDING'))#direction升序/降序,这里是降序
print(tf.argsort(a, direction='DESCENDING'))
idx = tf.argsort(a,direction='DESCENDING')
print(tf.gather(a, idx))#对索引进行收集,返回的是排序后的tensor
a = tf.random.uniform([3,3],maxval=10,dtype=tf.int32)
print(a)#均匀分布,为一个三行三列的 tensor
print(tf.sort(a))#默认是升序排列 行排列
print(tf.sort(a,axis=0))# 列排列
print((tf.argsort(a)))

tf.math.top_k()

tf.math.top_k()
参数:input, k=1, sorted=True, name=None
k 代表前k个,True表示正序

返回值为两个序列,一个values,对应排序后的前k个数的值;一个indices,对应排序后前k个数对应的索引

#tf.math.top_k()
a = tf.random.uniform([3,8],maxval=10,dtype=tf.int32)
print(a)
res = tf.math.top_k(a,k=2)#k默认为1,可以不写k=,直接写2,对饮排序后的前两个
print(res)
'''注意:a的值每次运行是不一样的
TopKV2(values=<tf.Tensor: shape=(3, 2), dtype=int32, numpy=
array([[9, 9],
       [9, 8],
       [5, 4]])>, indices=<tf.Tensor: shape=(3, 2), dtype=int32, numpy=
array([[3, 5],
       [3, 6],
       [6, 1]])>)
'''
print(res.indices)# indices 返回最大的和次大的对应的索引

print(res.values)# values 返回最大的和次大的值



top-k accuracy

???

# top-k accuracy
prob = tf.constant([[0.1,0.2,0.7],[0.2,0.7,0.1]])
target = tf.constant([2,0])
k_b = tf.math.top_k(prob,3).indices
print(k_b)
k_b = tf.transpose(k_b,[1,0])#转置
print(k_b)
target = tf.broadcast_to(target,[3,2])#扩张
print(target)

def accuracy(output,target,topk=(1,)) :
    maxk = max(topk)
    batch_size = target.shape[0]
    
    pred = tf.math.top_k(output,maxk).indices
    pred = tf.transpose(pred,perm=[1,0])
    target_ = tf.broadcast_to(target,pred.shape)
    correct = tf.equal(pred,target_)
    
    res = []
    for k in topk:
        correct_k = tf.cast(tf.reshape(correct[:k],[-1]),dtype=tf.float32)
        correct_k = tf.reduce_sum(correct_k)
        acc = float(correct_k / batch_size)
        res.append(acc)
        
    return res  
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:56:30  更:2021-09-30 11:57:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/22 1:42:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码