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对象及面向对象技术详解
Jul 19 Python
Python生成8位随机字符串的方法分析
Dec 05 Python
Python及Django框架生成二维码的方法分析
Jan 31 Python
python 实现在txt指定行追加文本的方法
Apr 29 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
解决vscode python print 输出窗口中文乱码的问题
Dec 03 Python
把pandas转换int型为str型的方法
Jan 29 Python
解决使用export_graphviz可视化树报错的问题
Aug 09 Python
keras获得某一层或者某层权重的输出实例
Jan 24 Python
python 6.7 编写printTable()函数表格打印(完整代码)
Mar 25 Python
树莓派4B安装Tensorflow的方法步骤
Jul 16 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 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
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
js 事件小结 表格区别
2007/08/13 Javascript
jquery ready()的几种实现方法小结
2010/06/18 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
jquery实现的table排序功能示例
2017/03/10 Javascript
Vue.js实现一个漂亮、灵活、可复用的提示组件示例
2017/03/17 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
深入理解Promise.all
2018/08/08 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
vue + elementUI实现省市县三级联动的方法示例
2019/10/29 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
浅析我对JS延迟异步脚本的思考
2020/10/12 Javascript
基于python select.select模块通信的实例讲解
2017/09/21 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python+numpy按行求一个二维数组的最大值方法
2019/07/09 Python
Python K最近邻从原理到实现的方法
2019/08/15 Python
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
小组合作学习反思
2014/02/18 职场文书
爱心活动计划书
2014/04/26 职场文书
工作自我推荐信范文
2015/03/25 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
PL350与SW11的比较
2021/04/22 无线电
mysql中between的边界,范围说明
2021/06/08 MySQL
js中Object.create实例用法详解
2021/10/05 Javascript