您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了在TensorFlow中如何實(shí)現(xiàn)矩陣維度擴(kuò)展,內(nèi)容簡(jiǎn)而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來(lái)看看吧。
一般TensorFlow中擴(kuò)展維度可以使用tf.expand_dims()。近來(lái)發(fā)現(xiàn)另一種可以直接運(yùn)用取數(shù)據(jù)操作符[]就能擴(kuò)展維度的方法。
用法很簡(jiǎn)單,在要擴(kuò)展的維度上加上tf.newaxis就行了。
foo = tf.constant([[1,2,3], [4,5,6], [7,8,9]]) print(foo[tf.newaxis, :, :].eval()) # => [[[1,2,3], [4,5,6], [7,8,9]]] print(foo[:, tf.newaxis, :].eval()) # => [[[1,2,3]], [[4,5,6]], [[7,8,9]]] print(foo[:, :, tf.newaxis].eval()) # => [[[1],[2],[3]], [[4],[5],[6]],[[7],[8],[9]]]
參考:
https://tensorflow.google.cn/api_docs/python/tf/Tensor?hl=en#__getitem__
補(bǔ)充知識(shí):tensorflow 利用expand_dims和squeeze擴(kuò)展和壓縮tensor維度
在利用tensorflow進(jìn)行文本挖掘工作的時(shí)候,經(jīng)常涉及到維度擴(kuò)展和壓縮工作。比如對(duì)文本進(jìn)行embedding操作完成之后,若要進(jìn)行卷積操作,就需要對(duì)embedded的向量擴(kuò)展維度,將[batch_size, embedding_dims]擴(kuò)展成為[batch_size, embedding_dims, 1],利用tf.expand_dims(input, -1)就可實(shí)現(xiàn),反過(guò)來(lái)用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位置增加一個(gè)維度.
給定張量輸入,此操作在輸入形狀的維度索引軸處插入1的尺寸。 尺寸索引軸從零開(kāi)始; 如果您指定軸的負(fù)數(shù),則從最后向后計(jì)數(shù)。
如果要將批量維度添加到單個(gè)元素,則此操作非常有用。 例如,如果您有一個(gè)單一的形狀[height,width,channels],您可以使用expand_dims(image,0)使其成為1個(gè)圖像,這將使形狀[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, 0)) ==> [1, 2, 3, 5] shape(expand_dims(t2, 2)) ==> [2, 3, 1, 5] shape(expand_dims(t2, 3)) ==> [2, 3, 5, 1]
tf.squeeze()
tf.squeeze(input, axis=None, name=None, squeeze_dims=None)
直接上例子
# 't' is a tensor of shape [1, 2, 1, 3, 1, 1] shape(squeeze(t)) ==> [2, 3] # 't' is a tensor of shape [1, 2, 1, 3, 1, 1] shape(squeeze(t, [2, 4])) ==> [1, 2, 3, 1]
以上就是關(guān)于在TensorFlow中如何實(shí)現(xiàn)矩陣維度擴(kuò)展的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。