最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python3 Tensorlfow:增加或者減小矩陣維度的實(shí)現(xiàn)

 更新時(shí)間:2020年05月22日 11:54:59   作者:胡大炮的妖孽人生  
這篇文章主要介紹了Python3 Tensorlfow:增加或者減小矩陣維度的實(shí)現(xiàn),具有好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

1.增加維度

下面給出兩個(gè)樣例

樣例1:

[1, 2, 3] ==> [[1],[2],[3]]

import tensorflow as tf

a = tf.constant([1, 2, 3])
b = tf.expand_dims(a,1)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

輸出結(jié)果

a:
[1 2 3]
b:
[[1]
 [2]
 [3]]

樣例2:

[1, 2, 3] ==> [[1,2,3]]

import tensorflow as tf

a = tf.constant([1, 2, 3])
b = tf.expand_dims(a, 0)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

輸出結(jié)果:

a:
[1 2 3]
b:
[[1 2 3]]

2.降低維度

樣例1:

[[1, 2, 3]] ==> [1, 2, 3]

import tensorflow as tf

a = tf.constant([[1, 2, 3]])
b = tf.squeeze(a)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

輸出結(jié)果

a:
[[1 2 3]]
b:
[1 2 3]

樣例2:

[[1], [2], [3]] ==> [[1, 2, 3]

import tensorflow as tf

a = tf.constant([[1], [2], [3]])
b = tf.squeeze(a, 1)

with tf.Session() as sess:
 a_, b_ = sess.run([a, b])
 print('a:')
 print(a_)
 print('b:')
 print(b_)

補(bǔ)充知識(shí):pytorch中squeeze()、unsqueeze(),以及一些高維數(shù)組操作

博主最近閱讀YOLO底層代碼,Torch中對(duì)多數(shù)組矩陣有很多高維操作,看過一邊之后,記錄一下,以防忘記。

torch.squeeze()

功能:取消為1的維度

squeeze(input, dim=None, out=None) -> Tensor

這里一般分不清dim的意思

舉個(gè)例子:

input=(A , 1 , B , C ,1 , D)
squeeze(input)=(A,B,C,D)
input= (A, 1, B)

squeeze(input, 0)=(A, 1, B) 不會(huì)改變 squeeze(input, 1)=(A, B) 會(huì)改變

這里0, 1 ,2就分別代表 A, 1, B

torch.unsqueeze()

unsqueeze(input, dim, out=None) -> Tensor

功能: 在某一位置插入一維

這里面也是dim這個(gè)參數(shù)比較難理解

dim的取值是[- input.dim()-1, imput.dim()]

給定一個(gè)dim

input=(A , B , C , D)

input的維度input_dim為4, dim的取值[-5, 4]

unsqueeze(input, 0)=(1, A , B , C , D)
unsqueeze(input, 1)=(A , 1, B , C , D)
unsqueeze(input, -5)=(1, A , B , C , D)

看一個(gè)簡單用例,size表示維度大小,10是取值范圍,a=[:,:,:,4]表示取a最后一維的第四個(gè)元素(從0開始第四個(gè)),即取[0,0,3],[5,6,1],[0,6,8],[…], 判斷大于5為true,否則為false。

注意:b的維度比a少了一維。

繼續(xù)上一步,這里使用unsqueeze函數(shù)將b的維度擴(kuò)展一維[2,2,3]------>[2,2,3,1] 這時(shí)b的最后一維只有一個(gè)元素, .expand_as將最后最后的元素?cái)U(kuò)展到a最后一維的個(gè)數(shù)

a[c] 表示取出為True的所有行在a中的元素

以上這篇Python3 Tensorlfow:增加或者減小矩陣維度的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

宁强县| 绥滨县| 家居| 固始县| 尼勒克县| 清丰县| 两当县| 枞阳县| 青海省| 平阳县| 封开县| 扶绥县| 大邑县| 长宁县| 龙门县| 上高县| 胶南市| 巴东县| 临朐县| 阿拉善右旗| 云梦县| 庆元县| 清水河县| 南宫市| 赫章县| 阳谷县| 凤台县| 南江县| 山阴县| 项城市| 寿阳县| 闽侯县| 靖安县| 乐都县| 杭锦后旗| 电白县| 台湾省| 仁怀市| 阜平县| 舟山市| 罗江县|