1. 程式人生 > 程式設計 >tensorflow 利用expand_dims和squeeze擴充套件和壓縮tensor維度方式

tensorflow 利用expand_dims和squeeze擴充套件和壓縮tensor維度方式

在利用tensorflow進行文字挖掘工作的時候,經常涉及到維度擴充套件和壓縮工作。比如對文字進行embedding操作完成之後,若要進行卷積操作,就需要對embedded的向量擴充套件維度,將[batch_size,embedding_dims]擴充套件成為[batch_size,embedding_dims,1],利用tf.expand_dims(input,-1)就可實現,反過來用squeeze(input,-1)或者tf.squeeze(input)也可以把最第三維去掉。

tf.expand_dims()

tf.squeeze()

tf.expand_dims()

tf.expand_dims(input,axis=None,name=None,dim=None)

在第axis位置增加一個維度.

給定張量輸入,此操作在輸入形狀的維度索引軸處插入1的尺寸。 尺寸索引軸從零開始; 如果您指定軸的負數,則從最後向後計數。

如果要將批量維度新增到單個元素,則此操作非常有用。 例如,如果您有一個單一的形狀[height,width,channels],您可以使用expand_dims(image,0)使其成為1個影象,這將使形狀[1,高度,寬度,通道]。

例子

# 't' is a tensor of shape [2]
shape(expand_dims(t,0)) ==> [1,2]
shape(expand_dims(t,1)) ==> [2,1]
shape(expand_dims(t,-1)) ==> [2,1]
# 't2' is a tensor of shape [2,3,5]
shape(expand_dims(t2,2,2)) ==> [2,1,3)) ==> [2,5,1]

tf.squeeze()

tf.squeeze(input,squeeze_dims=None)

直接上例子

# 't' is a tensor of shape [1,1]
 shape(squeeze(t)) ==> [2,3]
# 't' is a tensor of shape [1,1]
 shape(squeeze(t,[2,4])) ==> [1,1]

以上這篇tensorflow 利用expand_dims和squeeze擴充套件和壓縮tensor維度方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。