参考   tf.dynamic_stitch - 云+社区 - 腾讯云

把数据张量的值交错成一个张量。

tf.dynamic_stitch(indices,data,name=None
)

建立一个这样的合并张量。

merged[indices[m][i, ..., j], ...] = data[m][i, ..., j, ...]

例如,如果每个指标[m]是标量或向量,我们有

# Scalar indices:
merged[indices[m], ...] = data[m][...]# Vector indices:
merged[indices[m][i], ...] = data[m][i, ...]

每个data[i].shape必须从相应的指标[i]开始。形状和其他数据[i]。形状必须是恒定的,也就是说,我们必须有data[i].shape = indices[i].shape + constant。根据这个常数,输出形状是

merged.shape = [max(indices)] + constant

值按顺序合并,因此,如果(m,i) < (n,j)的索引[m][i]和索引[n][j]同时出现,则切片数据[n][j]将出现在合并结果中。如果不需要这种保证,ParallelDynamicStitch在某些设备上的性能可能更好。

例:

indices[0] = 6
indices[1] = [4, 1]
indices[2] = [[5, 2], [0, 3]]
data[0] = [61, 62]
data[1] = [[41, 42], [11, 12]]
data[2] = [[[51, 52], [21, 22]], [[1, 2], [31, 32]]]
merged = [[1, 2], [11, 12], [21, 22], [31, 32], [41, 42],[51, 52], [61, 62]]

这个方法可以用来合并dynamic_partition创建的分区,如下面的例子所示:

# Apply function (increments x_i) on elements for which a certain condition
# apply (x_i != -1 in this example).
x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])
condition_mask=tf.not_equal(x,tf.constant(-1.))
partitioned_data = tf.dynamic_partition(
x, tf.cast(condition_mask, tf.int32) , 2)
partitioned_data[1] = partitioned_data[1] + 1.0
condition_indices = tf.dynamic_partition(tf.range(tf.shape(x)[0]), tf.cast(condition_mask, tf.int32) , 2)
x = tf.dynamic_stitch(condition_indices, partitioned_data)
# Here x=[1.1, -1., 6.2, 5.3, -1, 8.4], the -1. values remain
# unchanged.

参数:

  • indices:包含至少一个int32类型张量对象的列表。
  • data:与相同类型张量对象的索引长度相同的列表。
  • name:操作的名称(可选)。

返回值:

  • 一个张量。具有与数据相同的类型。

tf.dynamic_stitch相关推荐

  1. tf.dynamic_stitch 和  tf.dynamic_partition

    import tensorflow as tf x=tf.constant([0.1, -1., 5.2, 4.3, -1., 7.4])#判断x里面的元素是否是1 condition_mask=tf ...

  2. Tensorflow |(2)张量的阶和数据类型及张量操作

    Tensorflow |(1)初识Tensorflow Tensorflow |(2)张量的阶和数据类型及张量操作 张量的阶和数据类型 TensorFlow用张量这种数据结构来表示所有的数据.你可以把 ...

  3. 机器学习Tensorflow基础知识、张量与变量

    TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组, ...

  4. Tensorflow Python API 翻译(array_ops)

    作者:chen_h 微信号 & QQ:862251340 微信公众号:coderpai 简书地址:https://www.jianshu.com/p/00ab12bc357c 计划现将 ten ...

  5. 3、TensorFlow 的数据模型-----张量(Tensor)

    一.Tensor 类简介 Tensor 定义 A Tensor is a symbolic handle to one of the outputs of an Operation. It does ...

  6. TFRecord tf.train.Feature

    一.定义 事先将数据编码为二进制的TFRecord文件,配合TF自带的多线程API,读取效率最高,且跨平台,适合规范化存储复杂的数据.上图为TFRecord的pb格式定义,可发现每个TFRecord由 ...

  7. tf.get_variable

    tf.get_variable的使用方法 参数数量及其作用 例子 参数数量及其作用 该函数共有十一个参数,常用的有:名称name.变量规格shape.变量类型dtype.变量初始化方式initiali ...

  8. 通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积

    20210609 例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7. https://blo ...

  9. tf.concat()详解

    tensorflow中用来拼接张量的函数tf.concat(),用法: tf.concat([tensor1, tensor2, tensor3,...], axis) 先给出tf源代码中的解释: t ...

最新文章

  1. EOS Chain/Wallet RPC API的PHP开发包
  2. 基于RDKit的溶解度预测的机器学习模型
  3. ML之kNNC:基于iris莺尾花数据集(PCA处理+三维散点图可视化)利用kNN算法实现分类预测daiding
  4. hbuilderx简单网页代码_Python爬取网页数据
  5. ITK:多输入不同的类型
  6. SQL中Truncate的用法
  7. 使用PostgREST的RestAPI操作之管理与优化
  8. Android给ListView添加侧滑菜单功能
  9. 计算机如何建筑材料结合所学知识,《技术与设计2》第三、四单元综合测试卷...
  10. HDFS容错性设计有哪些?
  11. c语言关系运算符号比较大小,有哪些c语言关系运算符号
  12. 111-unsplash-for-chrome-2021-07-22
  13. python抓取图片数字_从opencv python图像中提取数字
  14. 【WiFi】WiFi安全类型
  15. PACP学习笔记三:PCAP方法说明
  16. 云服务器win系统开热点,云服务器win系统开热点
  17. 计算机组成原理 原码,反码,补码,移码
  18. c语言撩妹小程序,撩妹简单的web小程序!分享给大家~~~~~~
  19. MySQL8.0安装与基于二进制日志文件位置的主从复制
  20. C语言 =(按位与后赋值)^=(按位异或后赋值) |=(按位或后赋值)

热门文章

  1. eclipse+gcc STM32开发环境搭建及调试
  2. C语言加密和解密算法
  3. vue3 使用Element Plus <script lang=“ts“ setup>加上lang=“ts“后编译错误
  4. 【转】如何从第三页开始设置页码
  5. LabVIEW编程LabVIEW开发为什么有人学的快
  6. 图像去雾(image dehazing)近期论文简述及模型测试
  7. 中柏平板u盘启动_中柏平板设置u盘启动图文教程
  8. git add 命令详解
  9. Android6下的视频播放器,MePlayer视频播放器
  10. 各路大神对于观测器的文章总结【持续更新】