在TensorFlow中實(shí)現(xiàn)矩陣維度擴(kuò)展
一般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]
以上這篇在TensorFlow中實(shí)現(xiàn)矩陣維度擴(kuò)展就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
一篇文章入門Python生態(tài)系統(tǒng)(Python新手入門指導(dǎo))
原文寫于2011年末,雖然文中關(guān)于Python 3的一些說(shuō)法可以說(shuō)已經(jīng)不成立了,但是作為一篇面向從其他語(yǔ)言轉(zhuǎn)型到Python的程序員來(lái)說(shuō),本文對(duì)Python的生態(tài)系統(tǒng)還是做了較為全面的介紹2015-12-12
對(duì)python中Matplotlib的坐標(biāo)軸的坐標(biāo)區(qū)間的設(shè)定實(shí)例講解
今天小編就為大家分享一篇對(duì)python中Matplotlib的坐標(biāo)軸的坐標(biāo)區(qū)間的設(shè)定實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
用Python設(shè)計(jì)一個(gè)經(jīng)典小游戲
本篇文章主要介紹如何用Python設(shè)計(jì)一個(gè)經(jīng)典小游戲:猜大小。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-05-05
把項(xiàng)目從Python2.x移植到Python3.x的經(jīng)驗(yàn)總結(jié)
這篇文章主要介紹了把項(xiàng)目從Python2.x移植到Python3.x的經(jīng)驗(yàn)總結(jié),包括作者所使用的Jinja2框架中一些需要注意的地方,需要的朋友可以參考下2015-04-04
python 實(shí)現(xiàn)單通道轉(zhuǎn)3通道
今天小編就為大家分享一篇python 實(shí)現(xiàn)單通道轉(zhuǎn)3通道,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12

