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操作MySQL数据库的方法分享
May 29 Python
跟老齐学Python之Python文档
Oct 10 Python
Python批量转换文件编码格式
May 17 Python
六个窍门助你提高Python运行效率
Jun 09 Python
python验证码识别教程之滑动验证码
Jun 04 Python
详解重置Django migration的常见方式
Feb 15 Python
python 提取文件指定列的方法示例
Aug 07 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
Python中six模块基础用法
Dec 08 Python
Python for循环搭配else常见问题解决
Feb 11 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
Django如何继承AbstractUser扩展字段
Nov 27 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入门教程 精简版
2009/12/13 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
Save a File Using a File Save Dialog Box
2007/06/18 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
javascript限制文本框只允许输入数字(曾经与现在的方法对比)
2013/01/18 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
checkbox批量选中,获取选中项的值的简单实例
2016/06/28 Javascript
详解jQuery lazyload 懒加载
2016/12/19 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
2017/01/18 Javascript
详解AngularJS controller调用factory
2017/05/19 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
原生JS实现图片无缝滚动方法(附带封装的运动框架)
2017/10/01 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
简单的Apache+FastCGI+Django配置指南
2015/07/22 Python
Fiddler如何抓取手机APP数据包
2016/01/22 Python
Python中turtle作图示例
2017/11/15 Python
python enumerate内置函数用法总结
2020/01/07 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
英国川宁茶官方网站:Twinings茶
2019/05/21 全球购物
出纳岗位职责范本
2013/12/01 职场文书
幼儿园教师国培感言
2014/02/02 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
2014年法务工作总结
2014/12/11 职场文书
万里长城导游词
2015/01/30 职场文书
护士先进个人总结
2015/02/13 职场文书
故意伤害罪辩护词
2015/05/21 职场文书
个人收入证明范本
2015/06/12 职场文书
2015年高三毕业班班主任工作总结
2015/10/22 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android