tensorflow高阶操作
本篇内容有:如何根据坐标有目的的选择(where)、如何根据坐标有目的的更新(scatter_nd)、如何生成一个坐标系()
1.where
where针对的tensor是一个bool类型的tensor,即元素都由True或False组成,where(tensor)返回元素为True的位置
# 随机生成符合正态分布的[3,3]的tensor
a = tf.random.normal([3,3])
print(a)
# 将其对应的bool矩阵赋值给mask
mask = a>0
print(mask)
# 通过mask取到true对应的a的元素值
print(tf.boolean_mask(a,mask))
# 通过where获取true的位置
indices = tf.where(mask)
print(indices)
# 通过indices从a中取元素
print(tf.gather_nd(a,indices))

print(mask)
# 定义A tensor元素全为1
A = tf.ones([3,3])
# 定义B tensor元素全为0
B = tf.zeros([3,3])
# 采样时取A上的true B上的false
print(tf.where(mask,A,B))

2.scatter_nd
# 指定更新值的index
indices = tf.constant([[4],[3],[1],[7]])
# 指定更新元素
updates = tf.constant([9,10,11,12])
# 指定底板shape
shape = tf.constant([8])
print(tf.scatter_nd(indices,updates,shape))

# 指定更新元素的索引
indices = tf.constant([[0],[2]])
# 指定更新元素的值
updates = tf.constant([
[[5,5,5,5],[6,6,6,6],[7,7,7,7],[8,8,8,8]],
[[5,5,5,5],[6,6,6,6],[7,7,7,7],[8,8,8,8]]
])
print(updates.shape)
# 指定底板shape
shape = tf.constant([4,4,4])
print(tf.scatter_nd(indices,updates,shape))

3.meshgrid
# 生成y轴,范围-2,2,元素个数5个
y = tf.linspace(-2,2,5)
print(y)
# 按照相同方式生成x轴
x = tf.linspace(-2,2,5)
# 生成坐标系
points_x,points_y = tf.meshgrid(x,y)
print(points_x.shape)

然后通过tf.stack方法,即可实现x和y的合并,从而生成点的坐标
tensorflow高阶操作的更多相关文章
- 吴裕雄--天生自然TensorFlow2教程:高阶操作
import tensorflow as tf a = tf.random.normal([3, 3]) a mask = a > 0 mask # 为True元素,即>0的元素的索引 i ...
- Python之旅Day3 文件操作 函数(递归|匿名|嵌套|高阶)函数式编程 内置方法
知识回顾 常见五大数据类型分类小结:数字.字符串.列表.元组.字典 按存值个数区分:容器类型(列表.字典.元组) 标量原子(数字.字符串) 按是否可变区分:可变(列表.字典) 不可变(数字.字符串.元 ...
- Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数
文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() ...
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python基础编程: 编码补充、文件操作、集合、函数参数、函数递归、二分查找、匿名函数与高阶函数
目录: 编码的补充 文件操作 集合 函数的参数 函数的递归 匿名函数与高阶函数 二分查找示例 一.编码的补充: 在python程序中,首行一般为:#-*- coding:utf-8 -*-,就是告诉p ...
- TensorFlow低阶API(四)—— 图和会话
简介 TensorFlow使用数据流图将计算表示为独立的指令之间的依赖关系.这可生成低级别的编程模型,在该模型中,您首先定义数据流图,然后创建TensorFlow会话,以便在一组本地和远程设备上运行图 ...
- TensorFlow低阶API(二)—— 张量
简介 正如名字所示,TensorFlow这一框架定义和运行涉及张量的计算.张量是对矢量和矩阵向潜在的更高维度的泛化.TensorFlow在内部将张量表示为基本数据类型的n维数组. 在编写TensorF ...
- TensorFlow低阶API(一)—— 简介
简介 本文旨在知道您使用低级别TensorFlow API(TensorFlow Core)开始编程.您可以学习执行以下操作: 管理自己的TensorFlow程序(tf.Graph)和TensorFl ...
- JavaScript高阶函数
所谓高阶函数(higher-order function) 就是操作函数的函数,它接收一个或多个函数作为参数,并返回一个新函数. 下面的例子接收两个函数f()和g(),并返回一个新的函数用以计算f(g ...
随机推荐
- python修改获取xlsx数据
刚才要修改一个表格的数据,在网上搜了下方法,做出以下总结: 简单的取出数据以及写入数据 import xlrd data = xlrd.open_workbook(r'C:\Users\亦清\Desk ...
- 转:RBAC如何设计一个权限系统
前言 权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题.目前在公司负责权限这块 ...
- golang函数 和 条件语句
/* if : if 语句 由一个布尔表达式后紧跟一个或多个语句组成 is else : if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行 s ...
- Vue过滤器、生命周期函数和vue-resource
一.过滤器 使用例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...
- asp.net mvc项目实战遇见问题及解决方式----ajax请求500错误,请求多表数据
ajax请求出现500错误——但是想实现的功能是,把一个页面分成了两份,点击右边导航栏,利用ajax请求,请求数据,在右边出现相应页面,当时使用的是partialAction然后出现了这个500错误, ...
- 珠峰-webpack
##### webpack的优势.可以做哪里事情. ##### npx的运行原理 https://zhuanlan.zhihu.com/p/27840803 #### webpack的插件 html ...
- JS淘宝小广告
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- 【DTOJ】1001:长方形周长和面积
DTOJ 1001:长方形周长和面积 解题报告 2017.11.05 第一版 ——由翱翔的逗比w原创 题目信息: 题目描述 已知长方形的长和宽,求长方形的周长和面积? 输入 一行:空格隔开的两个整 ...
- 关于非旋转Treap
刚刚跟着EM-LGH大佬学了非旋转Treap 非常庆幸不用再写万恶的rotate了(来自高级数据结构的恶意) 来记一下 Treap 概念 简单来说,\(Tree_{二叉搜索树} * Heap_堆 = ...
- CF547E Mike and Friends [AC自动机,离线树状数组]
#include <cstdio> #include <queue> #include <vector> #define pb emplace_back using ...