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之文件的读写和文件目录以及文件夹的操作实现代码
Aug 28 Python
Python多进程multiprocessing用法实例分析
Aug 18 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
Jan 09 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
python散点图实例之随机漫步
Aug 27 Python
Python和Go语言的区别总结
Feb 20 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
用Python 爬取猫眼电影数据分析《无名之辈》
Jul 24 Python
Python3 多线程(连接池)操作MySQL插入数据
Jun 09 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与XML联手进行网站编程代码实例
2008/07/10 PHP
完美解决PHP中文乱码
2009/11/26 PHP
两个开源的Php输出Excel文件类
2010/02/08 PHP
php类中private属性继承问题分析
2012/11/01 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
深入浅析php json 格式控制
2015/12/24 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
jQuery EasyUI常用数据验证汇总
2016/09/18 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
Angular和百度地图的结合实例代码
2016/10/19 Javascript
基于jquery实现的银行卡号每隔4位自动插入空格的实现代码
2016/11/22 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
微信小程序遍历Echarts图表实现多个饼图
2019/04/25 Javascript
vuex的使用和简易实现
2021/01/07 Vue.js
python通过yield实现数组全排列的方法
2015/03/18 Python
浅谈python多线程和队列管理shell程序
2015/08/04 Python
python探索之BaseHTTPServer-实现Web服务器介绍
2017/10/28 Python
更新修改后的Python模块方法
2019/03/03 Python
django 信号调度机制详解
2019/07/19 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
Python Unittest原理及基本使用方法
2020/11/06 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
介绍一下JMS编程步骤
2015/09/22 面试题
质量提升方案
2014/06/16 职场文书
幼儿园保育员责任书
2014/07/22 职场文书
个人融资协议书范本两则
2014/10/15 职场文书
教师党员学习群众路线心得体会
2014/11/04 职场文书
项目验收申请报告
2015/05/15 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书