判斷張量是否連續(xù)

nD 張量底層實現(xiàn)是使用一塊連續(xù)內(nèi)存的一維數(shù)組,由于 PyTorch 底層實現(xiàn)是 C 語言 (C/C++ 使用行優(yōu)先的存儲方式),所以 PyTorch 中的 nD 張量也按照行優(yōu)先的順序進行存儲的悲幅。

下圖為一個形狀為 ? 的 2D 張量,為了方便將其命名為 ?讹挎。

張量 ? 在內(nèi)存中實際以一維數(shù)組的形式進行存儲如筛,并且使用行優(yōu)先的順序進行存儲,其中一維數(shù)組的形式存儲比較好理解则涯,而行優(yōu)先指的就是存儲順序按照張量 ? 的行依次存儲复局。張量 ? 在內(nèi)存中的實際存儲形式如下所示。

張量 ? 通常稱為存儲的邏輯結(jié)構(gòu)粟判,而實際存儲的一維數(shù)組形式稱為存儲的物理結(jié)構(gòu)亿昏。

  • 如果元素在存儲的邏輯結(jié)構(gòu)上相鄰,在存儲的物理結(jié)構(gòu)中也相鄰档礁,則稱為連續(xù)存儲的張量角钩;

  • 如果元素在存儲的邏輯結(jié)構(gòu)上相鄰,但是在存儲的物理結(jié)構(gòu)中不相鄰,則稱為不連續(xù)存儲的張量递礼;

在 "改變張量形狀" 中提到過惨险,交換維度的操作能夠?qū)⑦B續(xù)存儲的張量轉(zhuǎn)變成不連續(xù)存儲的張量。在 PyTorch 中對于張量是否連續(xù)有一個等式脊髓。nD 張量辫愉,對于任意一個維度 i (? 但是 ?) 都滿足下面的等式則說明 nD 張量連續(xù),不滿足則說明 nD 張量不連續(xù)将硝。

其中 ? 表示邏輯結(jié)構(gòu)中第 ? 個維度上相鄰的元素在物理結(jié)構(gòu)中間隔的元素個數(shù)恭朗,? 表示邏輯結(jié)構(gòu)中第 ? 個維度的元素個數(shù)。

下面使用公式來判斷張量 ? 是否連續(xù)依疼?2D 張量一共有兩個維度痰腮,因此 ? 只能取 0 (因為 ?),接下來只需要判斷下面等式是否成立律罢。

其中:

  • ? 為張量 ? (邏輯結(jié)構(gòu)) 的第 0 個維度上相鄰的元素在一維數(shù)組 (物理結(jié)構(gòu)) 中間隔的元素個數(shù)膀值。張量 ? 中第 0 個維度上相鄰的元素有 (0, 3) (1, 4) (2, 5),這些在張量 ? 中相鄰的元素弟翘,在一維數(shù)組中這些相鄰元素的間隔數(shù)都為 3 (計數(shù)包含本身)虫腋,即 ?;

  • ? 為張量 ? (邏輯結(jié)構(gòu)) 的第 1 個維度上相鄰的元素在一維數(shù)組 (物理結(jié)構(gòu)) 中間隔的元素個數(shù)稀余。張量 ? 中第 1 個維度上相鄰的元素有 (0, 1) (1, 2) (3, 4) (4, 5)悦冀,這些在張量 ? 中相鄰的元素,在一維數(shù)組中這些相鄰元素的間隔數(shù)都為 1 (計數(shù)包含本身)睛琳,即 ?盒蟆;

  • ? 為張量 ? (邏輯結(jié)構(gòu)) 中第 1 個維度上的元素個數(shù),即 ?师骗;

將這些對應(yīng)的值代入等式 ? 中历等,即 ?,等式成立辟癌,則張量 ? 是連續(xù)的寒屯。

在 PyTorch 中,使用維度變換的操作能夠?qū)⑦B續(xù)存儲的張量轉(zhuǎn)變成不連續(xù)存儲的張量黍少,接下來使用等式判斷交換維度后的張量 ? 是否還是連續(xù)存儲的張量寡夹?

張量 ? 交換維度后的結(jié)果如下。

這里需要注意厂置,我們是通過張量 ? 交換維度后得到的是 ? 的 2D 張量菩掏,為了方便將其命名為 ?。在 PyTorch 中交換維度的操作并沒有改變其實際的存儲昵济,換句話說智绸,交換維度后的張量與原始張量共享同一塊內(nèi)存野揪,因此交換維度后的張量 ? 底層存儲和原始張量 ? 都是相同的一維數(shù)組。

下面來使用公式判斷張量 ? 是否連續(xù)瞧栗?2D 張量一共有兩個維度斯稳,因此 ? 只能取 0 (因為 ?),接下來只需要判斷下面等式是否成立沼溜。

其中:

  • ? 為張量 ? (邏輯結(jié)構(gòu)) 的第 0 個維度上相鄰的元素在一維數(shù)組 (物理結(jié)構(gòu)) 中間隔的元素個數(shù)平挑。張量 ? 中第 0 個維度上相鄰的元素有 (0, 1) (1, 2) (3, 4) (4, 5),這些在張量 ? 中相鄰的元素系草,在一維數(shù)組中這些相鄰元素的間隔數(shù)都為 1 (計數(shù)包含本身),即 ?唆涝;

  • ? 為張量 ? (邏輯結(jié)構(gòu)) 的第 1 個維度上相鄰的元素在一維數(shù)組 (物理結(jié)構(gòu)) 中間隔的元素個數(shù)找都。張量 ? 中第 1 個維度上相鄰的元素有 (0, 3) (1, 4) (2, 5),這些在張量 ? 中相鄰的元素廊酣,在一維數(shù)組中這些相鄰元素的間隔數(shù)都為 3 (計數(shù)包含本身)能耻,即 ?;

  • ? 為張量 ? (邏輯結(jié)構(gòu)) 中第 1 個維度上的元素個數(shù)亡驰,即 ?晓猛;

將這些對應(yīng)的值代入公式 ? 中,即 ?凡辱,等式不成立戒职,則張量 ? 是不連續(xù)的。

由于 2D 張量比較容易理解透乾,所以這里都是以 2D 張量為例進行介紹的洪燥,2D 張量只需要滿足 1 個等式即可判斷是否連續(xù),而如果是 nD 張量乳乌,則需要判斷 ? 個等式捧韵。

原文地址:
PyTorch入門筆記-判斷張量是否連續(xù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市汉操,隨后出現(xiàn)的幾起案子再来,更是在濱河造成了極大的恐慌,老刑警劉巖磷瘤,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件芒篷,死亡現(xiàn)場離奇詭異,居然都是意外死亡膀斋,警方通過查閱死者的電腦和手機梭伐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仰担,“玉大人糊识,你說我怎么就攤上這事绩社。” “怎么了赂苗?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵愉耙,是天一觀的道長。 經(jīng)常有香客問我拌滋,道長朴沿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任败砂,我火速辦了婚禮赌渣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘昌犹。我一直安慰自己坚芜,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布斜姥。 她就那樣靜靜地躺著鸿竖,像睡著了一般。 火紅的嫁衣襯著肌膚如雪铸敏。 梳的紋絲不亂的頭發(fā)上缚忧,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機與錄音杈笔,去河邊找鬼闪水。 笑死,一個胖子當(dāng)著我的面吹牛桩撮,可吹牛的內(nèi)容都是我干的敦第。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼店量,長吁一口氣:“原來是場噩夢啊……” “哼芜果!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起融师,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤右钾,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后旱爆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舀射,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年怀伦,在試婚紗的時候發(fā)現(xiàn)自己被綠了脆烟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡房待,死狀恐怖邢羔,靈堂內(nèi)的尸體忽然破棺而出驼抹,到底是詐尸還是另有隱情,我是刑警寧澤拜鹤,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布框冀,位于F島的核電站,受9級特大地震影響敏簿,放射性物質(zhì)發(fā)生泄漏明也。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一惯裕、第九天 我趴在偏房一處隱蔽的房頂上張望温数。 院中可真熱鬧,春花似錦轻猖、人聲如沸帆吻。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至次员,卻和暖如春败许,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背淑蔚。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工市殷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人刹衫。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓醋寝,卻偏偏與公主長得像,于是被迫代替她去往敵國和親带迟。 傳聞我的和親對象是個殘疾皇子音羞,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容