日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無先后,達(dá)者為師

網(wǎng)站首頁 編程語言 正文

python中flatten()參數(shù)示例詳解_python

作者:皮皮寬 ? 更新時(shí)間: 2022-05-28 編程語言

這篇博客主要寫flatten()作用,及其參數(shù)的含義

  • flatten()是對(duì)多維數(shù)據(jù)的降維函數(shù)。
  • flatten(),默認(rèn)缺省參數(shù)為0,也就是說flatten()和flatte(0)效果一樣。
  • python里的flatten(dim)表示,從第dim個(gè)維度開始展開,將后面的維度轉(zhuǎn)化為一維.也就是說,只保留dim之前的維度,其他維度的數(shù)據(jù)全都擠在dim這一維。
  • 比如一個(gè)數(shù)據(jù)的維度是( S 0 , S 1 , S 2......... , S n ) , flatten(m)后的數(shù)據(jù)為( S 0 , S 1 , S 2 , . . . , S m ? 2 , S m ? 1 , S m ? S m + 1 ? S m + 2 ? . . . ? S n )?
  • 下面我們舉個(gè)例子來理解一下flatten

比如我們隨機(jī)定義一個(gè)維度為(2,3,4)的數(shù)據(jù)a

import torch
a = torch.rand(2,3,4)

a輸出結(jié)果為:

a此時(shí)的維度為(2,3,4)

flatten()和flatten(0)效果一樣,a這個(gè)數(shù)據(jù)從0維展開,就是( 2 ? 3 ? 4 2*3*4 2?3?4),維度就是(24)

b = a.flatten()
c = a.flatten(0)

b,c的結(jié)果如圖:

b,c相等,維度均為 ( 2 ? 3 ? 4 ) (2*3*4) (2?3?4)也就是(24)

a從1維展開flatten(1),就是 ( 2 , 3 ? 4 ) (2,3*4) (2,3?4),也就是(2,12).

d = a.flatten(1)

d的結(jié)果如圖所示:

a從一維展開后的數(shù)據(jù)d的維度為 ( 2 , 3 ? 4 ) (2,3*4) (2,3?4)也就是(2,12)

a若是從2維展開flatten(2),那就是(2,3,4)和之前沒有變化

e = a.flatten(2)

e的結(jié)果如圖所示:

e從二維展開后的數(shù)據(jù)d的維度為 ( 2 , 3 , 4 ) (2,3,4) (2,3,4)

總結(jié)

  • python里的flatten(dim)表示,從第dim個(gè)維度開始展開,將后面的維度轉(zhuǎn)化為一維.也就是說,只保留dim之前的維度,其他維度的數(shù)據(jù)全都擠在dim這一維。
  • 比如一個(gè)數(shù)據(jù)的維度是( S 0 , S 1 , S 2 , S 3......... , S n ) (S0,S1,S2,S3.........,Sn)(S0,S1,S2,S3.........,Sn), flatten(m)后的數(shù)據(jù)為( S 0 , S 1 , S 2 , S 3 , . . . , S m ? 2 , S m ? 1 , S m ? S m + 1 ? S m + 2 ? . . . ? S n ) (S0, S1,S2,S3,...,Sm-2,Sm-1,Sm*Sm+1*Sm+2*...*Sn)(S0,S1,S2,S3,...,Sm?2,Sm?1,Sm?Sm+1?Sm+2?...?Sn)

原文鏈接:https://blog.csdn.net/kuan__/article/details/116987162

欄目分類
最近更新