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


Posted in Python onJanuary 04, 2020

首先使用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])

可以得到如下结果:

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

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

可以看到,上述结果中将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引用(import)文件夹下的py文件的方法
Aug 26 Python
简单的Apache+FastCGI+Django配置指南
Jul 22 Python
Python装饰器用法实例总结
Feb 07 Python
基于python的列表list和集合set操作
Nov 24 Python
Django values()和value_list()的使用
Mar 31 Python
PyQt5.6+pycharm配置以及pyinstaller生成exe(小白教程)
Jun 02 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
python调用win32接口进行截图的示例
Nov 11 Python
pymongo insert_many 批量插入的实例
Dec 05 Python
python实现经典排序算法的示例代码
Feb 07 Python
requests在python中发送请求的实例讲解
Feb 17 Python
Python中非常使用的6种基本变量的操作与技巧
Mar 22 Python
对tensorflow中的strides参数使用详解
Jan 04 #Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
Jan 04 #Python
TensorFlow tf.nn.max_pool实现池化操作方式
Jan 04 #Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 #Python
Python调用钉钉自定义机器人的实现
Jan 03 #Python
pytorch中的上采样以及各种反操作,求逆操作详解
Jan 03 #Python
pytorch 获取tensor维度信息示例
Jan 03 #Python
You might like
PHP define函数的使用说明
2008/08/27 PHP
php IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
PHP异常处理浅析
2015/05/12 PHP
PHP框架性能测试报告
2016/05/08 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
Javascript 命名空间模式
2013/11/01 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
Javascript实现计算个人所得税
2015/05/10 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
jstree的简单实例
2016/12/01 Javascript
利用Bootstrap实现表格复选框checkbox全选
2016/12/21 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
教你安装python Django(图文)
2013/11/04 Python
python生成随机密码或随机字符串的方法
2015/07/03 Python
python字符串的常用操作方法小结
2016/05/21 Python
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
python 实现矩阵填充0的例子
2019/11/29 Python
python计算auc的方法
2020/09/09 Python
python 5个实用的技巧
2020/09/27 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
Python实现京东抢秒杀功能
2021/01/25 Python
TIME时代杂志台湾总代理:台时亚洲
2018/10/22 全球购物
如何开启linux的ssh服务
2015/02/14 面试题
群众路线剖析材料
2014/02/02 职场文书
财务学生的职业生涯发展
2014/02/11 职场文书
一般纳税人申请报告
2015/05/18 职场文书