SparseTensor
TensorFlow使用三个dense tensor来表达一个sparse tensor:indices、values、dense_shape。
假如我们有一个dense tensor:
[[1, 0, 0, 0]
[0, 0, 2, 0]
[0, 0, 0, 0]]
那么用SparseTensor表达这个数据对应的三个dense tensor如下:
indices:[[0, 0], [1, 2]]values:[1, 2]dense_shape:[3, 4]
可以通过以下两种方法,将sparse tensor转化为dense tensor:
tf.sparse_to_dense(sparse_indices, output_shape, sparse_values, default_value=0, validate_indices=True, name=None)tf.sparse_tensor_to_dense(sp_input, default_value=0, validate_indices=True, name=None)
SparseTensor(indices, values, dense_shape)
indices: 一个2D的 int64 Tensor,shape为(N, ndims),指定了sparse tensor中的索引, 例如: indices=[[1,3], [2,4]]说明,dense tensor中对应索引为[1,3], [2,4]位置的元素的值不为0.
values: 一个1D tensor,shape为(N)用来指定索引处的值. For example, given indices=[[1,3], [2,4]], the parameter values=[18, 3.6] specifies that element [1,3] of the sparse tensor has a value of 18, and element [2,4] of the tensor has a value of 3.6.
dense_shape: 一个1D的int64 tensor,形状为ndims,指定dense tensor的形状.
相对应的有一个tf.sparse_placeholder,如果给这个sparse_placeholder喂数据呢?
sp = tf.sparse_placeholder(tf.int32)
with tf.Session() as sess:
#就这么喂就可以了
feed_dict = {sp:(indices, values, dense_shape)}
tensorflow中目前没有API提供denseTensor->SparseTensor转换
tf.sparse_tensor_to_dense(sp_input, default_value=0, validate_indices=True, name=None)
把一个SparseTensor转化为DenseTensor.
sp_input: 一个SparceTensor.
default_value:没有指定索引的对应的默认值.默认为0.
validate_indices: 布尔值.如果为True的话,将会检查sp_input的indices的lexicographic order和是否有重复.
name: 返回tensor的名字前缀.可选.
Reference:
https://segmentfault.com/a/1190000008793389
SparseTensor相关推荐
- tf.sparse.SparseTensor
为什么用tf.sparse.SparseTensor的原因 节约内存 在表达一个稀疏矩阵时候,不用一个很大的矩阵 tf.sparse.SparseTensor(indices, values, den ...
- python打印tensor_如何在TensorFlow中打印SparseTensor内容?
你看到这个错误是因为SparseTensor不是一个真正的张量,它是一个包含3个密集张量的元张量.在 尝试在SparsetSensor上使用print(),您将看到内部详细信息:indices=Ten ...
- 3D MinkowskiEngine稀疏模式重建
3D MinkowskiEngine稀疏模式重建 本文看一个简单的演示示例,该示例训练一个3D卷积神经网络,该网络用一个热点向量one-hot vector重构3D稀疏模式.这类似于Octree生成网 ...
- MinkowskiEngine多GPU训练
MinkowskiEngine多GPU训练 目前,MinkowskiEngine通过数据并行化支持Multi-GPU训练.在数据并行化中,有一组微型批处理,这些微型批处理将被送到到网络的一组副本中. ...
- MinkowskiEngine语义分割
MinkowskiEngine语义分割 要运行示例,请安装Open3D与PIP安装open3d-python. cd /path/to/MinkowskiEngine python -m exampl ...
- MinkowskiEngine demo ModelNet40分类
MinkowskiEngine demo ModelNet40分类 本文将看一个简单的演示示例,该示例训练用于分类的3D卷积神经网络.输入是稀疏张量,卷积也定义在稀疏张量上.该网络是以下体系结构的扩展 ...
- MinkowskiEngine实用函数和类
MinkowskiEngine实用函数和类 sparse_quantize MinkowskiEngine.utils.sparse_quantize(coords, feats=None, labe ...
- Minkowski坐标管理
Minkowski坐标管理 坐标键 classMinkowskiEngine.CoordsKey(D) init(D) 初始化self. See help(type(self))有关准确的签名. ge ...
- Minkowski修剪
Minkowski修剪 Minkowski修剪 Class MinkowskiEngine.MinkowskiPruning 从MinkowskiEngine.SparseTensor中删除指定的坐标 ...
最新文章
- AR凭什么成为元宇宙和现实间的技术纽带?听听业内怎么说|量子位· 对撞派...
- oracle SQL性能优化
- 今晚直播 | 清华大学​高天宇:对比学习及其在NLP中的应用
- mybatis传set参数
- GCC10.1.0最新版编译
- 列举计算机网络用途,计算机网络及网页制作(简答题)
- mysql /*! 50100 ... */ 条件编译
- pd怎么转成mysql_powerdesigner中实现PDM到MYSQl数据库的转换《转》
- 微信H5(WAP)支付,遇到的那些坑
- HSRP协议 实现单 双机热备份(计算机网络课设)
- boost电路输出电流公式_开关电源BOOST拓扑计算公式和参考分析
- PHP僵尸网络,byob--建立自己的僵尸网络
- C. Not Adjacent Matrix
- python协程多线程HTMLParser下载mp3
- [Android系统原理及开发要点详解
- OA系统是把无所不能的“万能钥匙”?
- 计算机视觉项目实战-图像特征检测harris、sift、特征匹配
- DataGrip数据库配置导出步骤
- 曾经爱过你试听,歌曲曾经爱过你mp3下载,歌词 - 郑源
- NLP系列(3)_用朴素贝叶斯进行文本分类(下)
热门文章
- css布局:左边固定宽度,右边自适应宽度或右侧固定,左侧自适应三种方法
- Golang-go mod download 出现 dial tcp 34.64.4.17:443: i/o timeout
- Pandas实战教程 | 两列相减
- java调用cmd执行maven命令
- 马来西亚的吉梦达乳胶床垫以纯天然的姿势震憾入驻中国
- 【实战经验】--Xilinx--IPcore--MCB(DDR3)运用
- [嵌入式] 重温Mini2440(一)移植U-Boot
- 我的世界服务器物品栏变白色咋办,我的世界:喜欢这些乳白色方块的玩家,多有这样的爱好,你可有?...
- Arcgis加载在线地图(内涵各种在线地图)
- PS、PCL、GDI