tf.concat是连接两个矩阵的操作

tf.concat(concat_dim, values, name='concat')

除去name参数用以指定该操作的name,与方法有关的一共两个参数:

第一个参数concat_dim:必须是一个数,表明在哪一维上连接

     如果concat_dim是0,那么在某一个shape的第一个维度上连,对应到实际,就是叠放到列上

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

如果 concat_dim是1,那么在某一个shape的第二个维度上连

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

如果有更高维,最后连接的依然是指定那个维:

values[i].shape = [D0, D1, ... Dconcat_dim(i), ...Dn]连接后就是:[D0, D1, ... Rconcat_dim, ...Dn]

[python] view plain copy
  1. # tensor t3 with shape [2, 3]
  2. # tensor t4 with shape [2, 3]
  3. tf.shape(tf.concat(0, [t3, t4])) ==> [4, 3]
  4. tf.shape(tf.concat(1, [t3, t4])) ==> [2, 6]

第二个参数values:就是两个或者一组待连接的tensor了


/×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/

这里要注意的是:如果是两个向量,它们是无法调用

[python] view plain copy
  1. tf.concat(1, [t1, t2])

来连接的,因为它们对应的shape只有一个维度,当然不能在第二维上连了,虽然实际中两个向量可以在行上连,但是放在程序里是会报错的

如果要连,必须要调用tf.expand_dims来扩维:

[python] view plain copy
  1. t1=tf.constant([1,2,3])
  2. t2=tf.constant([4,5,6])
  3. #concated = tf.concat(1, [t1,t2])这样会报错
  4. t1=tf.expand_dims(tf.constant([1,2,3]),1)
  5. t2=tf.expand_dims(tf.constant([4,5,6]),1)
  6. concated = tf.concat(1, [t1,t2])#这样就是正确的
tensorflow 1.0.1中 concated = tf.concat(1, [t1,t2])需要改成concated = tf.concat( [t1,t2],1),参数的顺序变了

【TensorFlow】tf.concat的用法相关推荐

  1. 【TensorFlow基础函数】tf.concat的用法

    tf.concat 的用法 TF官方的文档 tf.concat(values,axis,name='concat' ) 连接多个Tensor的操作 values 多个Tensor axis是哪个纬度 ...

  2. tensorflow tf.Variable 的用法

    import tensorflow as tf #导入模块 import numpy as np tf.Variable(3) # 数字输入 <tf.Variable 'Variable:0' ...

  3. tf.concat()详解

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

  4. Tensorflow中的tf.layers.batch_normalization()用法

    使用tf.layers.batch_normalization()需要三步: 在卷积层将激活函数设置为None. 使用batch_normalization. 使用激活函数激活. 需要特别注意的是:在 ...

  5. tf.concat, tf.stack和tf.unstack的用法

    tf.concat, tf.stack和tf.unstack的用法 tf.concat相当于numpy中的np.concatenate函数,用于将两个张量在某一个维度(axis)合并起来,例如: a ...

  6. tensorflow随笔 -tf.concat

    tf.concat tf.concat( values, axis, name='concat' ) 按一维连接张量. 沿着维度轴连接张量值的列表.如果values[i].shape=[D0, D1, ...

  7. 记录 之 tensorflow中几个常用的函数:tf.unstack,tf.concat() 和 tf.stack() 等

    1.tf.to_int32():tf.to_float()等 函数,主要是强制类型转换函数: 2.tf.shape(tensor):获取tensor的尺寸 3.tf.round(a):四舍五入函数,张 ...

  8. python中tensorflow的函数简单用法(未完)

    tf.nn.softmax Softmax的含义:将一个N*1的向量归一化为(0,1)之间的值,由于其中采用指数运算,使得向量中数值较大的量特征更加明显. Softmax输出的就是该样本属于各个类的概 ...

  9. TensorFlow优化器及用法

    TensorFlow优化器及用法 函数在一阶导数为零的地方达到其最大值和最小值.梯度下降算法基于相同的原理,即调整系数(权重和偏置)使损失函数的梯度下降. 在回归中,使用梯度下降来优化损失函数并获得系 ...

最新文章

  1. maven项目中 把依赖的jar包一起打包
  2. sql语言管理中计算机系统,00051管理系统中计算机应用第四章数据库系统考纲
  3. tableau使用需要收费吗_使用苹果手机时,这些需要注意的点,你都知道吗?
  4. java io流学设置编码_Java学习日志(21-2-IO流-基本数据类型与字节数组对象与、编码解码)...
  5. java mariadb 使用,java连接mariaDB的设置,java连接mariadb
  6. zookeeper conceptual
  7. 红帽将停止支持 CentOS 8;​2020 百度沸点揭晓年度知识热词;Qt 6.0 发布|极客头条...
  8. 洗车房,无人车的噩梦
  9. cad细等线体不显示_等线字体
  10. soopn用一张表更新另一张表_kettle教程之单表读取
  11. android4.2.2飞歌导航,智能车机新典范 飞歌G6S荣耀版导航鉴赏
  12. 建立自己的kindle书库
  13. Python基础重点复习(5)
  14. 冰汽时代机器人不用热_冰汽时代机器流玩法 寒霜朋克机器人流玩法怎么玩
  15. 深度学习头像定位头像分割
  16. 2d 3d旋转和平移的矩阵分析
  17. OPENWRT 插件ipk单独编译-无需编译整个固件
  18. CEAC之《计算机应用助理工程师》2
  19. BetaFlight模块设计之二:SERIAL任务分析
  20. PM_01 信息化和信息系统

热门文章

  1. Useful websites for library
  2. cambridge ifm strategic roadmapping takecontrol in times of uncerntainty
  3. Creator Upload NFT sequencial diagram
  4. UE4 材质:石缝提高混合权重
  5. 2018先知白帽大会 | 议题解读
  6. POJ 放苹果问题(递归)
  7. Linux 定期删除3天以前的日志文件
  8. MySQL · 源码分析 · 一条insert语句的执行过程
  9. [raspberry pi3] 串口线使用
  10. 用rvest包来抓取Google学术搜索数据