tensorflow实现tensor中满足某一条件的数值取出组成新的tensor

 更新时间:2020年01月04日 09:36:18   作者:u010551462  
今天小编就为大家分享一篇tensorflow实现tensor中满足某一条件的数值取出组成新的tensor,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

首先使用tf.where()将满足条件的数值索引取出来,在numpy中,可以直接用矩阵引用索引将满足条件的数值取出来,但是在tensorflow中这样是不行的。所幸,tensorflow提供了tf.gather()和tf.gather_nd()函数。

看下面这一段代码:

import tensorflow as tf
sess = tf.Session()
def get_tensor():
  x = tf.random_uniform((5, 4))
  ind = tf.where(x>0.5)
  y = tf.gather_nd(x, ind)
  return x, ind, y

在上述代码中,输出分别是原始的tensor x,x中满足特定条件(此处为>0.5)的数值的索引,以及x中满足特定条件的数值。执行以下步骤,观察三个tensor对应的数值:

x, ind, y = get_tensor()
x_, ind_, y_ = sess.run([x, ind, y])

可以得到如下结果:

可以看到,上述结果中将tensor x中大于0.5的数值取出来组成了一个新的tensor y。

如果我们将代码中的tf.gather_nd替换成tf.gather会发生什么呢?由于结果不方便展示,这里不放结果了,tf.gather适用于index为一维的情况,在本例中,index为2维,如果选用tf.gather的话,对应的x, ind, y的维数分别如下:

x.shape = (5, 4)
ind.shape = (9, 2)
y.shape = (9, 2, 4)

以上这篇tensorflow实现tensor中满足某一条件的数值取出组成新的tensor就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 有趣的python小程序分享

    有趣的python小程序分享

    这篇文章主要介绍了有趣的python小程序分享,具有一定参考价值,需要的朋友可以了解下。
    2017-12-12
  • python小练习之爬鱿鱼游戏的评价生成词云

    python小练习之爬鱿鱼游戏的评价生成词云

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python爬取热火的鱿鱼游戏评价,大家可以在过程中查缺补漏,提升水平
    2021-10-10
  • python中快速进行多个字符替换的方法小结

    python中快速进行多个字符替换的方法小结

    最近在用python给自己的seo工作提高效率和节省时间,发现python真的很不错,可以完成很多事情。多个字符替换是大家可能都会遇到的一个问题,昨天在工作中就碰到了这么一个问题,所以想着记录一下解决方案及其过程,方便以后参考。下面来一起看看吧。
    2016-12-12
  • Python jpg快速转png并调整大小方式

    Python jpg快速转png并调整大小方式

    这篇文章主要介绍了Python实现jpg快速转png并调整大小方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • pycharm永久激活方法

    pycharm永久激活方法

    这篇文章给大家介绍了pycharm永久激活码,通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,对pycharm激活码相关知识感兴趣的朋友一起看看吧
    2020-01-01
  • 基于python tornado实现图床功能

    基于python tornado实现图床功能

    因为买了阿里/腾讯的云服务器,但是使用云存储还需要收费,又加上家里正好有一台nas,又加上闲的没事,所以搞了一个小脚本,这个项目主要功能是为typora增加一个自定义图床,本文给大家介绍基于python tornado实现图床功能,感兴趣的朋友一起看看吧
    2023-08-08
  • 解决Python内层for循环如何break出外层的循环的问题

    解决Python内层for循环如何break出外层的循环的问题

    今天小编就为大家分享一篇解决Python内层for循环如何break出外层的循环的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python打印直角三角形与等腰三角形实例代码

    python打印直角三角形与等腰三角形实例代码

    这篇文章主要给大家介绍了关于python打印直角三角形与等腰三角形的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-10-10
  • python报错: ''list'' object has no attribute ''shape''的解决

    python报错: ''list'' object has no attribute ''shape''的解决

    这篇文章主要介绍了python报错: 'list' object has no attribute 'shape'的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python实现TCP协议下的端口映射功能的脚本程序示例

    Python实现TCP协议下的端口映射功能的脚本程序示例

    端口映射一个最基本的运作形态就是通过一个中间端口将一个端口发送的数据全部转给另一个端口,well,这里我们就来看一下Python实现TCP协议下的端口映射功能的脚本程序示例
    2016-06-06

最新评论