【tensorflow】tf.shape() 和 tf.get_shape() 及 tf.concat()

1、用法:tf.shape( input, out_type, name=None )

  • input:可以是tensor,list,arrray。
  • out_type:可选,tf.int32 和 tf.int64;默认 tf.int32。
  • name:操作的名称(可选)

返回:类型为 out_type 的 input维度,是一个 tensor。其实就是获取输入的维度

import tensorflow as tf

t1 = [[[1,2], [3,4]],
      [[5,6], [7,8]]]
       
t1_shape1 = tf.shape(t1)
print(t1_shape1)
#返回:Tensor("Shape_8:0", shape=(3,), dtype=int32)

t1_shape = t1_shape1.get_shape()
print(t1_shape)
#返回:(3,)

t1_shape = t1_shape1.get_shape().as_list()
print(t1_shape)
#返回:[3]

2、用法:tf.get_shape(x)

返回:x 维度的元组,输入 x 只能是tensor

通常为了对元组处理,必须将元组转换成 list。在神经网络中使用它,我猜是保险起见~防止经过一系列处理之后输入类型改变,使用该函数,输入只能是tensor。

3、tf.concat([x1, x2], axis=0/1/2/3....)

将 x1 和 x2 的维度拼接,如何拼接取决于 axis,axis=0 表示在 x1 和 x2的第一维度拼接,1 表示在第二维度拼接,我遇到的是在第4维度拼接,应该只是取决于你输入的维度大小,如果维度是2,想要在3,4维度拼接肯定是报错的。

 

 

 

 

 

 

 

 

 

 

参考:https://www.w3cschool.cn/tensorflow_python/tensorflow_python-smjo2k45.html

https://blog.csdn.net/fireflychh/article/details/73611021

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值