tensorflow模型操作常用函数总结:(二)

(一)、形状变换的相关函数:

函数                                                                                   描述

tf.shape(input,name=None)              返回一个张量,其值为输入参数input的shape。这个input可以是个张量,也可以是一个数组                                                            或list。例如:t = [1,2,3,4,5,6,7,8,9]  print(np.shape(t)) #输出(9,.)   tshape=tf.shape(t) #返回                                                            一个张量,值为python自有类型t的shape   tshape2=tf.shape(tshape) #返回一个张量,值为                                                            张量tshape的shape.   sess=tf.Session()

tf.size(input,name=None)                 返回一个张量,其内容为输入数据的元素数量。例如:t=[[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]]                                                               sizet = tf.size(t) ,sess = tf.Session(),print(sess.run(sizet)) #输出12,表示列表t中的元素个数

tf.rank(input,name=None)                 返回一个张量,其内容为输入数据input的rank。注意,此rank不同于矩阵的rank,                                                                         【rank(阶)指的就是维度。但张量的阶和矩阵的阶并不是同一个概念,主要是看有几层中                                                           括号】例如:t=[[[[1,1,1],[2,2,2]],[[3,3,3],[4,4,4]]]]  rankt = tf.rank(t), sess =                                                                                       tf.Session(),print(sess.run(rankt))  #输出4,表示列表t的阶(一共有4层中括号,[[[[]]]])

tf.reshape(input,shape,name=None) 将原有输入数据的shape按照指定形状进行变化,生成一个新的张量。例如:tt=[                                                                             1,2,3,4,5,6,7,8,9], tf=tf.reshape(t,[3,3]),sess=tf.Session(),print(sess.run(tt)) #此时输                                                                     入的张量如下: #[1,2,3], #[4,5,6],#[7,8,9]  #如果shape有元素[-1],则表示在该维度   下按照                                                           原有数据自动计算。见下面的代码: ttt=tf.reshape(tt,[1,-1]), print(ttt.shape), #输入(1,9)                                                             表示ttt的shape,print(tt.shape) #输出(3,3)表示tt并没有被修改。

tf.expand_dims(input,dim,name=None) 插入维度1进入一个tensor中。例如:t=[[2,3,3],[1,5,5]] ,t1=tf.expand_dims(t,0),                                                                                   t2=tf.expand_dims(t,1), t3=tf.expend_dims(t,2), t4=tf.expand_dims(t,-1) #如果写成                                                                         t4=tf.expand_dims(t,3),则会出错,因为只有两个维度。 print(np.shape(t))  #输出                                                                         (2,3),print(np.shape(t1))  #输出(1,2,3), print(np.shape(t2))  #输出(2,1,3),                                                                               print(np.shape(np.shape(t3)) #输出(2,3,1),print(np.shape(t4)) #输出(2,3,1)。

tf.squeeze(input,dim,name=None)  将dim指定的维度去掉(dim所指定的维度必须为1,如果不为1则会报错)。例如:                                                                         t=[[[[2],[1]]]], t1=tf.squeeze(t,0), t2=tf.squeeze(t,1), t3=tf.squeeze(t,3), t4=tf.squeeze(t,-1)                                                              #如果写成t4=tf.squeeze(t,2)会出错,因为2对应的维度为2,不为1。 print(np.shape(t)                                                                    #(1,1,2,1),print(np.shape(t1)) #(1,2,1), print(np.shape(t2)) #(1,2,1)  print(np.shape(t3))                                                                #(1,1,2), print(np.shape(t4))  #(1,1,2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值