TensorFlow tensor张量拼接concat & stack

TensorFlow提供两种类型的拼接:

tf.concat(values, axis, name=‘concat‘):按照指定的已经存在的轴进行拼接
tf.stack(values, axis=0, name=‘stack‘):按照指定的新建的轴进行拼接

concat

t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]
tf.concat([t1, t2], 0) ==> [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]== t1.expand(t2)tf.concat([t1, t2], 1) ==> [[1, 2, 3, 7, 8, 9], [4, 5, 6, 10, 11, 12]]


stack

t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]tf.stack([t1, t2], 0)  ==> [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]x = []; x.append(t1); x.append(t2)

tf.stack([t1, t2], 1)  ==> [[[1, 2, 3], [7, 8, 9]], [[4, 5, 6], [10, 11, 12]]]tf.stack([t1, t2], 2)  ==> [[[1, 7], [2, 8], [3, 9]], [[4, 10], [5, 11], [6, 12]]]
x = tf.constant([1, 4])y = tf.constant([2, 5])z = tf.constant([3, 6])tf.stack([x, y, z])       # [[1, 4], [2, 5], [3, 6]] (Pack along first dim.)tf.stack([x, y, z], axis=1)  # [[1, 2, 3], [4, 5, 6]]


原文地址:https://www.cnblogs.com/xiaoniu-666/p/10065626.html

时间: 2024-07-30 14:21:35

TensorFlow tensor张量拼接concat & stack的相关文章

Tensorflow描述张量的维度:阶,形状以及维数

张量 TensorFlow用张量这种数据结构来表示所有的数据.你可以把一个张量想象成一个n维的数组或列表.一个张量有一个静态类型和动态类型的维数.张量可以在图中的节点之间流通. 阶 在TensorFlow系统中,张量的维数来被描述为阶.但是张量的阶和矩阵的阶并不是同一个概念.张量的阶(有时是关于如顺序或度数或者是n维)是张量维数的一个数量描述. 比如,下面的张量(使用Python中list定义的)就是2阶. t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]   你可以认

AI - TensorFlow Tensor

张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howdy\' 或 5 1阶张量:向量 (vector)或矢量,也就是一维数组(一组有序排列的数),例如,[2, 3, 5, 7, 11] 或 [5] 2阶张量:矩阵 (matrix),也就是二维数组(有序排列的向量),例如,[[3.1, 8.2, 5.9][4.3, -2.7, 6.5]] 3阶张量:三维

[TensorFlow]Tensor维度理解

http://wossoneri.github.io/2017/11/15/[Tensorflow]The-dimension-of-Tensor/ Tensor维度理解 Tensor在Tensorflow中是N维矩阵,所以涉及到Tensor的方法,也都是对矩阵的处理.由于是多维,在Tensorflow中Tensor的流动过程就涉及到升维降维,这篇就通过一些接口的使用,来体会Tensor的维度概念.以下是个人体会,有不准确的请指出. tf.reduce_mean reduce_mean( inp

关于类型为numpy,TensorFlow.tensor,torch.tensor的shape变化以及相互转化

https://blog.csdn.net/zz2230633069/article/details/82669546 2018年09月12日 22:56:50 一只tobey 阅读数:727 1.numpy类型:numpy.ndarray  对于图片读取之后(H,W,C)或者(batch,H,W,C) (1)在元素总数不变的情况下:numpy类型的可以直接使用方法numpy.reshape任意改变大小,numpy.expand_dims增加维度,大小是1(这个函数可以参考numpy.expan

3.2 TensorFlow数据模型 ---- 张量

在TensorFlow程序中,所有的数据都通过张量的形式来表示.从功能的角度上看,张量可以简单理解为多维数组.但张量在TensorFlow中的实现并不是直接采用的数组的形式,它只是对TensorFlow中运算结果的引用.在张量中并没有真正的保存数字,它保存的是如何得到这些数字的计算过程. 一个张量主要包含了三个属性:名字,维度和类型.其中张量的属性名字不仅使一个张量的唯一标识符,它同样给出了这个张量是如何计算出来的.张量的第二个属性张量的维度,这个属性描述了一个张量的维度信息.张量的第三个属性是

pytorch中tensor张量的创建

import torch import numpy as np print(torch.tensor([1,2,3])) print(torch.tensor(np.arange(15).reshape(3,5))) print(torch.empty([3,4])) print(torch.ones([3,4])) print(torch.zeros([3,4])) #0-1之间的随机数 print(torch.rand([2,3])) #3-10之间的随机整数 print(torch.ran

张量 tensor

张量 tensor Tensor是一个类, 包含了属性和常用函数, 一个Tensor对象主要包含一下三个部分, 如下所示: Tensor("placeholder:0", shape=(2, 3), dtype=float32) 第一部分是Tensor Name, 比如:‘Constant'. ’placeholder. ‘Varuable'等, 没什么实质性的含义, 知识表示Tensor的顺序,当前是0, 那么下一个Tensor就是1: 第二部分是Tensor  shape,Tens

tensorflow张量排序

本篇记录一下TensorFlow中张量的排序方法 tf.sort和tf.argsort # 声明tensor a是由1到5打乱顺序组成的 a = tf.random.shuffle(tf.range(5)) # 打印排序后的tensor print(tf.sort(a,direction='DESCENDING').numpy()) # 打印从大到小排序后,数字对应原来的索引 print(tf.argsort(a,direction='DESCENDING').numpy()) index =

TensorFlow——机器学习编程框架

TensorFlow TensorFlow是一个机器学习(即亦包括深度学习)的编程框架. Tensor 张量 张量是tensorflow计算中数据的基本单位,通过.shape获取形状,.dtype获取数值类型,.numpy()获取数值(将张量以numpy数组形式返回). 变量的域 两种域(scope),名字域(name_scope)和变量域(variable_scope),关于创建和获取变量时变量名解析策略,分别以tf.name_scope('')和tf.variable_scope('').