tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
首先使用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])
可以得到如下结果:
可以看到,上述结果中将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就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
Tensorflow读取并输出已保存模型的权重数值方式
这篇文章是为了对网络模型的权重输出,可以用来转换成其他框架的模型. import tensorflow as tf from tensorflow.python import pywrap_tensorflow #首先,使用tensorflow自带的python打包库读取模型 model_reader = pywrap_tensorflow.NewCheckpointReader(r"model.ckpt") #然后,使reader变换成类似于dict形式的数据 var_dict =
-
Tensorflow的常用矩阵生成方式
我就废话不多说了,直接上代码吧! #全0和全1矩阵 v1 = tf.Variable(tf.zeros([3,3,3]), name="v1") v2 = tf.Variable(tf.ones([10,5]), name="v2") #填充单值矩阵 v3 = tf.Variable(tf.fill([2,3], 9)) #常量矩阵 v4_1 = tf.constant([1, 2, 3, 4, 5, 6, 7]) v4_2 = tf.constant(-1.0,
-
基于TensorFlow常量、序列以及随机值生成实例
TensorFlow 生成 常量.序列和随机值 生成常量 tf.constant()这种形式比较常见,除了这一种生成常量的方式之外,像Numpy一样,TensorFlow也提供了生成集中特殊的常量的函数: tf.zeros(shape, dtype=tf.float32, name=None) 三个参数的意思显而易见,返回指定形状的全零张量 tf.zeros_like(tensor, dtype=None, name=None, optimizer=True) 与函数的名字一致,传入一个张量,最
-
tensorflow实现打印ckpt模型保存下的变量名称及变量值
有时候会需要通过从保存下来的ckpt文件来观察其保存下来的训练完成的变量值. ckpt文件名列表:(一般是三个文件) xxxxx.ckpt.data-00000-of-00001 xxxxx.ckpt.index xxxxx.ckpt.meta import os from tensorflow.python import pywrap_tensorflow checkpoint_path = os.path.join("文件夹路径", "xxxxx.ckpt")
-
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
首先使用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)
-
TensorFlow 输出checkpoint 中的变量名与变量值方式
废话不多说,直接看代码吧! import os from tensorflow.python import pywrap_tensorflow model_dir="/xxxxxxxxx/model.ckpt" #checkpoint的文件位置 # Read data from checkpoint file reader = pywrap_tensorflow.NewCheckpointReader(model_dir) var_to_shape_map = reader.get_v
-
tensorflow 获取checkpoint中的变量列表实例
方式1:静态获取,通过直接解析checkpoint文件获取变量名及变量值 通过 reader = tf.train.NewCheckpointReader(model_path) 或者通过: from tensorflow.python import pywrap_tensorflow reader = pywrap_tensorflow.NewCheckpointReader(model_path) 代码: model_path = "./checkpoints/model.ckpt-7500
-
使用准则进行条件查询--1.4.从窗体中选择查询的条件
4.从窗体中选择查询的条件 前面的方法虽然简单,但对用户来说操作不够方便,对设计者来说也难以控制,如果通过窗体来实现,这些问题就可以解决了. 如下面的窗体,运行时用户可以在组合框中选择要查询司机的姓名,按下查询按钮就可以看到查询的结果. 下面详细地列出设计的步骤: 创建一个窗体,按下控件向导按钮,在窗体上添加一个组合框.在第一个对话框中选择"我想让组合框在一个表或查询中查找这些值",下一步. 选择一个为组合框提供数据的表或查询.下一步. 选择组合框中要显示的数据,通常除了选择要显示在组
-
Python中的True,False条件判断实例分析
本文实例讲述了Python中的True,False条件判断用法.分享给大家供大家参考.具体分析如下: 对于有编程经验的程序员们都知道条件语句的写法: 以C++为例: 复制代码 代码如下: if (condition) { doSomething(); } 对于Python中的条件判断语句的写法则是下面的样子: 复制代码 代码如下: if (condition): doSomething() 那么对于条件语句中的condition什么时候为真什么时候为假呢? 在C++/Ja
-
查看TensorFlow checkpoint文件中的变量名和对应值方法
实例如下所示: from tensorflow.python import pywrap_tensorflow checkpoint_path = os.path.join(model_dir, "model.ckpt") reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path) var_to_shape_map = reader.get_variable_to_shape_map() for key in var_
-
C++多线程中的锁和条件变量使用教程
在做多线程编程时,有两个场景我们都会遇到: 多线程访问共享资源,需要用到锁: 多线程间的状态同步,这个可用的机制很多,条件变量是广泛使用的一种. 今天我用一个简单的例子来给大家介绍下锁和条件变量的使用. 代码使用C++11 示例代码 #include <iostream> #include <mutex> #include <thread> #include <condition_variable> std::mutex g_mutex; // 用到的全局锁
-
MySql 中聚合函数增加条件表达式的方法
Mysql 与聚合函数在一起时候where条件和having条件的过滤时机 where 在聚合之前过滤 当一个查询包含了聚合函数及where条件,像这样的情况 select max(cid) from t where t.id<999 这时候会先进行过滤,然后再聚合.先过滤出ID<999的记录,再查找最大的cid返回. having 在聚合之后过滤 having在分组的时候会使用,对分组结果进行过滤,通常里面包含聚合函数. SELECT ip,MAX(id) FROM app GROUP BY
-
使用SQL语句统计数据时sum和count函数中使用if判断条件的讲解
首先举个栗子(不想看的话直接下面看总结): order_type:订单类型 open_id:用户唯一标识 SELECT date(create_time) AS '当天日期', sum(real_price) AS '当天总收入', sum函数中使用if判断条件:{ sum( IF (order_type = 0, real_price, 0) ) AS '当天支付收入', sum( IF (order_type = 1, real_price, 0) ) AS '当天打赏收入', } coun
-
对pandas将dataframe中某列按照条件赋值的实例讲解
在数据处理过程中,经常会出现对某列批量做某些操作,比如dataframe df要对列名为"values"做大于等于30设置为1,小于30设置为0操作,可以这样使用dataframe的apply函数来实现, 具体实现代码如下: def fun(x): if x >= 30: return 1 else: return 0 values= feature['values'].apply(lambda x: fun(x)) 具体的逻辑可以修改fun函数来实现,但是按照某些条件选择列不是
随机推荐
- Angular.JS判断复选框checkbox是否选中并实时显示
- Vue.js第四天学习笔记(组件)
- vue-cli webpack 开发环境跨域详解
- iOS 懒加载的使用实例代码
- phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
- python 文件操作api(文件操作函数)
- Django1.7+python 2.78+pycharm配置mysql数据库教程
- winform拦截关闭按钮触发的事件示例
- Android自定义属性 format的深入解析
- 多个datatable共存造成多个表格的checkbox都被选中
- PHP实现递归无限级分类
- php版小黄鸡simsimi聊天机器人接口分享
- C++ vector删除符合条件的元素示例分享
- jquery删除table当前行的实例代码
- JavaScript入门系列之知识点总结
- 激光打印机出现无字迹故障维修两例
- Bootstrap中的Panel和Table全面解析
- PHP has encountered an Access Violation 错误的解决方法
- 基于jQuery实现点击同时更改两个iframe的网址
- java8中forkjoin和optional框架使用