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 相关文章推荐
django实现前后台交互实例
Aug 07 Python
基于tensorflow加载部分层的方法
Jul 26 Python
python针对不定分隔符切割提取字符串的方法
Oct 26 Python
python基于Selenium的web自动化框架
Jul 14 Python
Python操作SQLite数据库过程解析
Sep 02 Python
python实现计算器功能
Oct 31 Python
使用python实现画AR模型时序图
Nov 20 Python
python 多维高斯分布数据生成方式
Dec 09 Python
Python re正则表达式元字符分组()用法分享
Feb 10 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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代码审计比较有意思的例子
2014/05/07 PHP
PHP信号量基本用法实例详解
2016/02/12 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
基于jQuery捕获超链接事件进行局部刷新代码
2012/05/10 Javascript
jquery 触发a链接点击事件解决方案
2013/05/02 Javascript
JQuery中操作Css样式的方法
2014/02/12 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
JavaScript弹出新窗口并控制窗口移动到指定位置的方法
2015/04/06 Javascript
Javascript节点关系实例分析
2015/05/15 Javascript
避免jQuery名字冲突 noConflict()方法
2016/07/30 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Node.js中看JavaScript的引用
2017/04/22 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
2019/05/14 jQuery
vue实现点击按钮下载文件功能
2019/10/11 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
vue+elementUI(el-upload)图片压缩,默认同比例压缩操作
2020/08/10 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
js制作提示框插件
2020/12/24 Javascript
详解opencv Python特征检测及K-最近邻匹配
2019/01/21 Python
Python计算时间间隔(精确到微妙)的代码实例
2019/02/26 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python可迭代对象去重实例
2020/05/15 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
小学新教师个人总结
2015/02/05 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
Node与Python 双向通信的实现代码
2021/07/16 Javascript
python基础之函数的定义和调用
2021/10/24 Python