国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何利用張量提升內(nèi)存使用效率

C29F_xilinx_inc ? 來(lái)源:賽靈思 ? 作者:賽靈思 ? 2022-02-19 17:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

注:本文轉(zhuǎn)自賽靈思中文社區(qū)論壇,源文鏈接在此。本文原作者為XILINX工程師

以下為個(gè)人譯文,僅供個(gè)人學(xué)習(xí)記錄參考之用,如有疏漏之處,還請(qǐng)不吝賜教。

在數(shù)據(jù)處理中,對(duì)原始數(shù)據(jù)進(jìn)行重塑或重新排序并創(chuàng)建多個(gè)副本是很常見(jiàn)的行為。無(wú)論執(zhí)行任何新步驟,都會(huì)創(chuàng)建新副本。隨著程序的增大,占用的內(nèi)存也會(huì)增大,我?guī)缀鯊奈纯紤]過(guò)這個(gè)問(wèn)題,直到遇到了“內(nèi)存不足”錯(cuò)誤。

張量 (tensor) 的神奇之處在于多個(gè)張量可引用同一存儲(chǔ)空間,從而顯著提升內(nèi)存使用效率。

在下一篇的文章中,我將聊一聊張量所具有的更神奇的屬性,即跟蹤上級(jí)操作,但在本文中,我將主要介紹內(nèi)存優(yōu)化方面的內(nèi)容。

張量 (tensor) 的神奇之處在于多個(gè)張量可以引用同一存儲(chǔ)空間(即包含給定類型的數(shù)字的連續(xù)內(nèi)存區(qū)塊)。此行為由 torch.storage 進(jìn)行管理。

每個(gè)張量都包含 .storage 屬性,用于顯示內(nèi)存中存儲(chǔ)的張量?jī)?nèi)容。

在下一篇的文章中,我將聊一聊張量所具有的更神奇的屬性,即跟蹤上級(jí)操作,但在本文中,我將主要介紹內(nèi)存優(yōu)化方面的內(nèi)容。

注:全新 Vitis AI 1.2 發(fā)行版將首次為 PyTorch 提供支持。本文對(duì)于新增對(duì)此熱門框架的支持表示祝賀,并提供了 1 個(gè) PyTorch 專用的 Jupyter Notebook 格式示例。

輸入 [1]:

import torch
a = torch.randint(0, 9, (5,3))
a

輸出 [1]:

tensor([[4, 1, 6],

[0, 8, 8],

[1, 2, 1],

[0, 5, 7],

[0, 0, 7]])

輸入 [2]:

a.storage()

輸出 [2]:

4

1

6

0

8

8

1

2

1

0

5

7

0

0

7

[torch.LongStorage of size 15]

輸入 [3]:

a.shape

輸出 [3]:

torch.Size([5, 3])

我們可能需要對(duì)原始“a”張量進(jìn)行轉(zhuǎn)置 (transpose) 和平展 (flatten) 處理。

何必為了相同數(shù)據(jù)浪費(fèi)雙倍內(nèi)存?哪怕數(shù)據(jù)只是形狀 (shape) 不同,也沒(méi)有必要。

輸入 [4]:

b = torch.transpose(a, 0, 1)
b

輸出 [4]:

tensor([[4, 0, 1, 0, 0],

[1, 8, 2, 5, 0],

[6, 8, 1, 7, 7]])

a 和 b 確實(shí)是指向相同存儲(chǔ)空間的張量。

兩者表現(xiàn)方式不同,原因在于我們使用 stride 函數(shù)指令其按不同順序讀取該存儲(chǔ)空間。

b 的 stride 值為 (1,3),即讀取存儲(chǔ)空間時(shí),每隔 1 個(gè)元素都必須跳至下一行,并且每隔 3 個(gè)元素必須跳至下一列。

輸入 [5]:

b.stride(), a.stride()

輸出 [5]:

((1, 3), (3, 1))

我們可以從 a 或 b 訪問(wèn)數(shù)據(jù),或者也可以從原始存儲(chǔ)空間直接訪問(wèn)數(shù)據(jù)。

但如果從存儲(chǔ)空間訪問(wèn),則讀取的值將不再是張量。

輸入 [6]:

a[1,2], b[2,1], a.storage()[5], b.storage()[5]

輸出 [6]:

(tensor(8), tensor(8), 8, 8)

現(xiàn)在,令我感到疑惑不解的是,我發(fā)現(xiàn)這些張量的值神奇般地自行發(fā)生了改變:

更改 a 時(shí),b 也變了。

輸入 [7]:

a[0,0] = 10
b[0,0]

輸出 [7]:

tensor(10)

發(fā)生這種狀況的原因是因?yàn)椋瑥膬?nèi)存角度來(lái)看,張量即經(jīng)過(guò)排序的存儲(chǔ)空間表示法。

從同一存儲(chǔ)空間生成的 2 個(gè)張量并非獨(dú)立張量,而且我必須牢記的是,當(dāng)我每次更改 1 個(gè)張量后,指向相同存儲(chǔ)空間的所有其它張量也都會(huì)被修改。

可見(jiàn),即使高效的內(nèi)存利用方式也難免有其缺點(diǎn)!

子集

通過(guò)原始數(shù)據(jù)的子集仍然能夠有效利用內(nèi)存。

新的張量仍然指向原始存儲(chǔ)空間的子集。

輸入 [8]:

c = a[0:2, 0:2]
c

輸出 [8]:

tensor([[10, 1],

[ 0, 8]])

輸入 [9]:

c[0,0]=77
a

輸出 [9]:

tensor([[77, 1, 6],

[ 0, 8, 8],

[ 1, 2, 1],

[ 0, 5, 7],

[ 0, 0, 7]])

inplace 運(yùn)算符

inplace 運(yùn)算符即無(wú)需創(chuàng)建張量副本就可以直接對(duì)存儲(chǔ)空間進(jìn)行操作的函數(shù)。這些運(yùn)算符通常具有易于識(shí)別的名稱且以下劃線結(jié)尾。

輸入 [10]:

a.zero_()
b

輸出 [10]:

tensor([[0, 0, 0, 0, 0],

[0, 0, 0, 0, 0],

[0, 0, 0, 0, 0]])

張量克隆

如果確實(shí)需要 1 個(gè)獨(dú)立的新張量,可以對(duì)其進(jìn)行克隆。

這樣也會(huì)創(chuàng)建新的存儲(chǔ)空間。

輸入 [11]:

a_clone = a.clone()
a_clone[0,0] = 55
a_clone

輸出 [11]:

tensor([[55, 0, 0],

[ 0, 0, 0],

[ 0, 0, 0],

[ 0, 0, 0],

[ 0, 0, 0]])

輸入 [12]:

a

輸出 [12]:

tensor([[0, 0, 0],

[0, 0, 0],

[0, 0, 0],

[0, 0, 0],

[0, 0, 0]])

為連續(xù)張量重組存儲(chǔ)空間

部分函數(shù)僅適用于連續(xù)張量。

對(duì) a 進(jìn)行轉(zhuǎn)置時(shí),通過(guò)在 b 中分配來(lái)自存儲(chǔ)空間的非連續(xù)矩陣值,生成了新的張量。

輸入 [13]:

a.is_contiguous()

輸出 [13]:

True

輸入 [14]:

b.is_contiguous()

輸出 [14]:

False

我們可將 b 設(shè)為連續(xù)張量,但這將導(dǎo)致 b 生成經(jīng)過(guò)重組的新存儲(chǔ)空間,從而導(dǎo)致 a 和 b 永遠(yuǎn)無(wú)法成為獨(dú)立張量:

輸入 [15]:

b = b.contiguous()
b[0,0] = 18
a[0,0]

輸出 [15]:

tensor(0)

輸入 [16]:

b.is_contiguous()

輸出 [16]:

True

輸入 [17]:

a.is_contiguous()

輸出 [17]:

True

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7335

    瀏覽量

    94769
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4791

    瀏覽量

    90061
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    813

    瀏覽量

    14852
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AGV機(jī)器人如何提升搬運(yùn)效率

    AGV智能搬運(yùn)車正顛覆傳統(tǒng)物流模式,24小時(shí)精準(zhǔn)作業(yè)、多車協(xié)同、自主避障,將搬運(yùn)效率提升300%以上,成為智能制造的核心引擎。
    的頭像 發(fā)表于 01-15 16:48 ?310次閱讀
    AGV機(jī)器人如何<b class='flag-5'>提升</b>搬運(yùn)<b class='flag-5'>效率</b>?

    公網(wǎng)訪問(wèn)開(kāi)源 Stirling-PDF 工具,提升辦公效率

    本文介紹了如何在Windows本地部署Stirling-PDF服務(wù)器,并通過(guò)內(nèi)網(wǎng)穿透實(shí)現(xiàn)外網(wǎng)訪問(wèn),提升PDF處理效率
    的頭像 發(fā)表于 12-09 14:25 ?499次閱讀
    公網(wǎng)訪問(wèn)開(kāi)源 Stirling-PDF 工具,<b class='flag-5'>提升</b>辦公<b class='flag-5'>效率</b>

    內(nèi)存與數(shù)據(jù)處理優(yōu)化藝術(shù)

    高精度的場(chǎng)合使用精度較低的類型,可以減少內(nèi)存使用并提升計(jì)算速度。 字節(jié)對(duì)齊與批量拷貝也是提升內(nèi)存操作效率的重要手段。例如,通過(guò)一次處理多個(gè)字
    發(fā)表于 11-14 07:46

    斑馬技術(shù)助力PouchNATION提升大型活動(dòng)管理效率

    斑馬技術(shù)公司宣布 PouchNATION 通過(guò)采用斑馬技術(shù)的高性能掃描解決方案,顯著提升其大型活動(dòng)的管理效率
    的頭像 發(fā)表于 11-04 16:15 ?704次閱讀

    三坐標(biāo)如何實(shí)現(xiàn)測(cè)量效率提升

    精密制造的產(chǎn)線節(jié)奏日益加快,傳統(tǒng)三坐標(biāo)測(cè)量機(jī)面臨著“要么放慢速度保精度,要么犧牲精度換速度”的困境制約著生產(chǎn)效率提升。MizarGold三坐標(biāo)測(cè)量機(jī)通過(guò)材料創(chuàng)新與傳動(dòng)優(yōu)化,實(shí)現(xiàn)了測(cè)量速度快的同時(shí)不
    的頭像 發(fā)表于 09-11 16:47 ?1494次閱讀
    三坐標(biāo)如何實(shí)現(xiàn)測(cè)量<b class='flag-5'>效率</b>的<b class='flag-5'>提升</b>?

    如何有效利用高光譜成像技術(shù)提升數(shù)據(jù)分析效率

    隨著人工智能和大數(shù)據(jù)技術(shù)的快速發(fā)展,高光譜成像技術(shù)作為一種融合光譜信息與空間影像的新興技術(shù),正日益成為提升數(shù)據(jù)分析效率的重要工具。在農(nóng)業(yè)監(jiān)測(cè)、環(huán)境保護(hù)、礦產(chǎn)勘探等多個(gè)行業(yè)中,高光譜成像通過(guò)獲取精準(zhǔn)
    的頭像 發(fā)表于 09-11 16:13 ?828次閱讀
    如何有效<b class='flag-5'>利用</b>高光譜成像技術(shù)<b class='flag-5'>提升</b>數(shù)據(jù)分析<b class='flag-5'>效率</b>

    如何利用硬件加速提升通信協(xié)議的安全性?

    產(chǎn)品實(shí)拍圖 利用硬件加速提升通信協(xié)議安全性,核心是通過(guò) 專用硬件模塊或可編程硬件 ,承接軟件層面難以高效處理的安全關(guān)鍵操作(如加密解密、認(rèn)證、密鑰管理等),在提升性能的同時(shí),通過(guò)硬件級(jí)隔離、防篡改等
    的頭像 發(fā)表于 08-27 09:59 ?978次閱讀
    如何<b class='flag-5'>利用</b>硬件加速<b class='flag-5'>提升</b>通信協(xié)議的安全性?

    電控系統(tǒng)的 “功率翻譯官”:車規(guī)電容如何讓能源利用效率提升 10%?

    "的關(guān)鍵角色。最新行業(yè)數(shù)據(jù)顯示,采用新一代車規(guī)電容技術(shù)的電控系統(tǒng),可實(shí)現(xiàn)能源利用效率提升10%的突破性進(jìn)展,這相當(dāng)于為續(xù)航500公里的電動(dòng)車額外增加50公里續(xù)航能力。 車規(guī)電容之所以能成為能源
    的頭像 發(fā)表于 07-31 16:07 ?857次閱讀

    全球各大品牌利用NVIDIA AI技術(shù)提升運(yùn)營(yíng)效率

    歐萊雅、LVMH 集團(tuán)和雀巢利用 NVIDIA 加速的智能體 AI 和物理 AI,大幅提升產(chǎn)品設(shè)計(jì)、營(yíng)銷及物流等方面的運(yùn)營(yíng)效率
    的頭像 發(fā)表于 06-19 14:36 ?1203次閱讀

    交流充電樁負(fù)載能效提升技術(shù)

    基器件的1/10),開(kāi)關(guān)頻率可達(dá)100kHz以上,減少開(kāi)關(guān)損耗30%~50%; GaN器件反向恢復(fù)時(shí)間趨近于零,適用于高頻PFC電路,整機(jī)效率提升至96%以上。 LLC諧振拓?fù)渑c雙向PFC 傳統(tǒng)硬
    發(fā)表于 05-21 14:38

    用光譜“看礦石”:LIBS如何提升稀土分選效率?

    的光譜分析技術(shù)——激光誘導(dǎo)擊穿光譜(LIBS),正在悄然改變稀土礦物的分選方式。它不再依賴傳統(tǒng)“化學(xué)浸泡+人工分析”的方式,而是通過(guò)一束激光,“一掃即知”礦石中的元素組成,大大提升了分選效率和資源利用率。 那么,LIBS 到
    的頭像 發(fā)表于 05-15 16:40 ?1009次閱讀
    用光譜“看礦石”:LIBS如何<b class='flag-5'>提升</b>稀土分選<b class='flag-5'>效率</b>?

    DevEco Studio AI輔助開(kāi)發(fā)工具兩大升級(jí)功能 鴻蒙應(yīng)用開(kāi)發(fā)效率提升

    隨著搭載HarmonyOS 5的Pura X發(fā)布,鴻蒙生態(tài)進(jìn)入快車道,各應(yīng)用正在加速適配開(kāi)發(fā),越來(lái)越多開(kāi)發(fā)者加入到鴻蒙應(yīng)用開(kāi)發(fā)浪潮中。為提升鴻蒙應(yīng)用開(kāi)發(fā)效率,華為前不久上線了首款開(kāi)發(fā)
    發(fā)表于 04-18 14:43

    新能源時(shí)代,圓柱電池生產(chǎn)設(shè)備如何提升生產(chǎn)效率

    優(yōu)化生產(chǎn)流程是提升圓柱電池生產(chǎn)效率的基礎(chǔ)。首先,需要對(duì)現(xiàn)有生產(chǎn)流程進(jìn)行多方位梳理,找出瓶頸環(huán)節(jié),并進(jìn)行針對(duì)性改進(jìn)。例如,通過(guò)精簡(jiǎn)生產(chǎn)環(huán)節(jié),減少不必要的物料搬運(yùn)和等待時(shí)間,可以有效提升生產(chǎn)效率
    的頭像 發(fā)表于 04-08 11:51 ?729次閱讀

    傳統(tǒng)工廠如何利用人工智能技術(shù)實(shí)現(xiàn)運(yùn)籌優(yōu)化與效率提升

    要素拓?fù)潢P(guān)系的深度重構(gòu)。本文將結(jié)合西井實(shí)踐與觀點(diǎn),探討傳統(tǒng)工廠如何利用人工智能技術(shù)實(shí)現(xiàn)運(yùn)籌優(yōu)化與效率提升
    的頭像 發(fā)表于 03-18 15:39 ?1141次閱讀

    小程序開(kāi)發(fā)必須知道的5個(gè)技巧:提升效率與用戶體驗(yàn)的權(quán)威指南

    提升1秒加載速度可降低7%的用戶流失。 交互流暢性:利用微信小程序的setData合并更新機(jī)制,減少頻繁渲染導(dǎo)致的卡頓,并通過(guò)加載動(dòng)畫緩解等待焦慮。 二、 80%的用戶僅使用小程序20%的功能,因此需
    發(fā)表于 03-14 14:51