色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何利用張量提升內存使用效率

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-19 17:26 ? 次閱讀

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

以下為個人譯文,僅供個人學習記錄參考之用,如有疏漏之處,還請不吝賜教。

在數據處理中,對原始數據進行重塑或重新排序并創建多個副本是很常見的行為。無論執行任何新步驟,都會創建新副本。隨著程序的增大,占用的內存也會增大,我幾乎從未考慮過這個問題,直到遇到了“內存不足”錯誤。

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

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

張量 (tensor) 的神奇之處在于多個張量可以引用同一存儲空間(即包含給定類型的數字的連續內存區塊)。此行為由 torch.storage 進行管理。

每個張量都包含 .storage 屬性,用于顯示內存中存儲的張量內容。

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

注:全新 Vitis AI 1.2 發行版將首次為 PyTorch 提供支持。本文對于新增對此熱門框架的支持表示祝賀,并提供了 1 個 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])

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

何必為了相同數據浪費雙倍內存?哪怕數據只是形狀 (shape) 不同,也沒有必要。

輸入 [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 確實是指向相同存儲空間的張量。

兩者表現方式不同,原因在于我們使用 stride 函數指令其按不同順序讀取該存儲空間。

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

輸入 [5]:

b.stride(), a.stride()

輸出 [5]:

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

我們可以從 a 或 b 訪問數據,或者也可以從原始存儲空間直接訪問數據。

但如果從存儲空間訪問,則讀取的值將不再是張量。

輸入 [6]:

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

輸出 [6]:

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

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

更改 a 時,b 也變了。

輸入 [7]:

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

輸出 [7]:

tensor(10)

發生這種狀況的原因是因為,從內存角度來看,張量即經過排序的存儲空間表示法。

從同一存儲空間生成的 2 個張量并非獨立張量,而且我必須牢記的是,當我每次更改 1 個張量后,指向相同存儲空間的所有其它張量也都會被修改。

可見,即使高效的內存利用方式也難免有其缺點!

子集

通過原始數據的子集仍然能夠有效利用內存。

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

輸入 [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 運算符

inplace 運算符即無需創建張量副本就可以直接對存儲空間進行操作的函數。這些運算符通常具有易于識別的名稱且以下劃線結尾。

輸入 [10]:

a.zero_()
b

輸出 [10]:

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

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

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

張量克隆

如果確實需要 1 個獨立的新張量,可以對其進行克隆。

這樣也會創建新的存儲空間。

輸入 [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]])

為連續張量重組存儲空間

部分函數僅適用于連續張量。

對 a 進行轉置時,通過在 b 中分配來自存儲空間的非連續矩陣值,生成了新的張量。

輸入 [13]:

a.is_contiguous()

輸出 [13]:

True

輸入 [14]:

b.is_contiguous()

輸出 [14]:

False

我們可將 b 設為連續張量,但這將導致 b 生成經過重組的新存儲空間,從而導致 a 和 b 永遠無法成為獨立張量:

輸入 [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

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據
    +關注

    關注

    8

    文章

    7090

    瀏覽量

    89247
  • 存儲
    +關注

    關注

    13

    文章

    4333

    瀏覽量

    85971
  • pytorch
    +關注

    關注

    2

    文章

    808

    瀏覽量

    13263
收藏 人收藏

    評論

    相關推薦

    怎么提升單片機代碼執行效率

    ? 提升單片機代碼執行效率需要從多個方面入手,包括代碼優化、硬件資源利用、編譯器設置、中斷處理優化以及其他技巧等。在實際應用中,需要根據具體需求和硬件條件綜合考慮這些因素,以實現最佳的性能表現。 ?
    的頭像 發表于 01-10 11:06 ?93次閱讀

    大沖能源助力提升醫院能源利用效率

    昨日,由大沖能源負責的金華市人民醫院合同能源管理能源托管項目順利完成竣工驗收,標志著大沖能源在推動醫院節能減排和智能化管理方面取得了又一重要成果。該項目由大沖能源與金華市人民醫院攜手合作,旨在通過一系列高效節能改造和能源管理手段,提升醫院能源利用
    的頭像 發表于 12-27 15:46 ?143次閱讀

    RK3568國產處理器 + TensorFlow框架的張量創建實驗案例分享

    一、實驗目的 本節視頻的目的是了解張量定義、了解張量的表示形式、并學習基于TensorFlow框架的張量創建方法。 二、實驗原理. 張量定義 1、
    發表于 12-03 14:43

    《算力芯片 高性能 CPUGPUNPU 微架構分析》第3篇閱讀心得:GPU革命:從圖形引擎到AI加速器的蛻變

    線程調度,與Hopper架構的細粒度同步機制,使得異構計算場景下的任務協同更加靈活。在我的分布式訓練實踐中,這些特性顯著提升了模型收斂速度。 張量處理器的設計是本書點睛之筆。從數學抽象來看,張量統一了
    發表于 11-24 17:12

    永磁同步電機效率提升方法

    提升永磁同步電機效率的方法可以從多個方面進行,以下是一些有效的方法: 優化電機設計 : 增加磁場的強度:通過增加永磁體的磁通密度和提高永磁體及鐵心的磁導率,可以有效提升電機的磁場強度,從而提高
    的頭像 發表于 11-22 10:13 ?436次閱讀

    DDR內存頻率對性能的影響

    的整體性能,特別是在處理大量數據或運行復雜程序時,如視頻編輯、3D渲染和高端游戲等場景。快速的內存可以縮短CPU和內存之間的通信時間,從而提升整體系統的響應效率。 二、多任務處理能力
    的頭像 發表于 11-20 14:25 ?1104次閱讀

    如何提升EDA設計效率

    EDA(Electronic Design Automation,電子設計自動化)設計技術是現代電子工程領域的關鍵技術之一,提升EDA設計效率對于電子工程師和整個電子行業都至關重要。以下是一些提升
    的頭像 發表于 11-08 14:23 ?501次閱讀

    提升效率:RTC時鐘實用設置

    今天來給大家講解的是RTC時鐘實用性,提升絕對的效率
    的頭像 發表于 11-04 16:35 ?844次閱讀
    <b class='flag-5'>提升</b><b class='flag-5'>效率</b>:RTC時鐘實用設置

    RISC-V能量路由器,提升能源利用效率的智慧“鑰匙”

    。為了有效提升光伏的本地消納率,減少變壓器擴容投資成本,能量路由技術應運而生——從用戶側出發有效節能降碳、提高能源利用效率,能量路由器不僅讓新型電力系統更加可靠穩定,
    的頭像 發表于 11-02 08:05 ?945次閱讀
    RISC-V能量路由器,<b class='flag-5'>提升</b>能源<b class='flag-5'>利用</b><b class='flag-5'>效率</b>的智慧“鑰匙”

    如何提升RFID手持終端的讀寫效率

    RFID(射頻識別)手持終端是一種便攜式設備,用于讀取和寫入RFID標簽。提升RFID手持終端的讀寫效率對于提高物流、庫存管理、零售等行業的工作效率至關重要。以下是一些提升RFID手持
    的頭像 發表于 10-29 09:41 ?278次閱讀

    利用AI和加速計算提升天氣預報效率和能效

    在 NVIDIA GPU 驅動的擴散模型助力下,生成式 AI 在各個領域實現新的應用,大大提升效率。   當臺灣氣象員得以在一臺機器上模擬臺風的細節,他們深感其對預報任務能效的巨大提升所帶來
    的頭像 發表于 06-07 15:06 ?573次閱讀

    光伏并網逆變器如何提升轉換效率

    提升光伏并網逆變器的轉換效率是光伏系統優化和提高經濟效益的重要途徑。
    的頭像 發表于 04-18 16:39 ?1272次閱讀

    數控測量|利用機床測頭提升加工中心精度,助力生產效率飛躍!

    機床測頭是現代制造業的關鍵裝置,能實時監控加工誤差,提高精度和效率。其高精度測量、實時反饋和自動校準功能,確保加工質量穩定,提升生產效率。未來,機床測頭將融入更多智能化技術,推動制造業數字化、智能化發展。
    的頭像 發表于 03-06 11:03 ?1113次閱讀
    數控測量|<b class='flag-5'>利用</b>機床測頭<b class='flag-5'>提升</b>加工中心精度,助力生產<b class='flag-5'>效率</b>飛躍!

    應用大模型提升研發效率的實踐與探索

    對于模型訓練,我們可以采用 3D 并行訓練的方式來實現。將模型參數和梯度張量劃分為多個分區,分配到不同 GPU 卡上進行計算。每張卡負責自己分區的梯度和參數更新工作,間隔時同步到其他卡上。這樣可以很好地利用更多計算資源,降低單卡資源需求。
    的頭像 發表于 02-22 11:47 ?644次閱讀
    應用大模型<b class='flag-5'>提升</b>研發<b class='flag-5'>效率</b>的實踐與探索

    利用NVIDIA產品技術組合提升用戶體驗

    UTalk-Doc 將用戶指令識別服務吞吐量提升了 5 倍,單個請求響應時間縮減了三分之一,大幅提升服務運行效率提升資源利用率。Trit
    的頭像 發表于 01-17 09:30 ?721次閱讀
    主站蜘蛛池模板: 野花韩国视频中文播放| 国产久久精品热99看| 99久久99久久久99精品齐| 国产成人综合在线视频| 精品久久久久中文字幕| 欧美午夜精品一区二区蜜桃| 亚洲精品视频久久| 成人bt下载| 麻豆AV久久AV盛宴AV| 亚洲 欧美 日韩 精品 自拍| 99久久免热在线观看6| 精品人妻一区二区三区视频53| 日韩欧美三区| 99精品网站| 两个洞一起插哦!好刺激| 亚洲精品成人A8198A片漫画| 国产 在线 亚洲 欧美 动漫| 免费成年人在线视频| 一本道在线综合久久88| 国产精品自在在线午夜精品| 日本精品久久久久中文字幕 1| 97SE亚洲国产综合在线| 久久久久综合网久久| 亚洲午夜精品aaa级久久久久| 国产喷水1区2区3区咪咪爱AV| 日韩精品在线看| 办公室日本肉丝OL在线| 欧美午夜不卡在线观看| 99RE6国产精品视频播放| 考试考90就可以晚上和老师C| 亚洲视频区| 久草高清在线| 夜色伊甸园| 久久精品免视看国产| 野草观看免费高清视频| 好想被狂躁A片免费久99| 亚洲国产中文字幕新在线| 国产手机精品一区二区| 亚洲AV美女成人网站P站| 国产综合18久久久久久软件| 亚洲国产韩国欧美在线不卡 |