chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

NVIDIA TensorRT支持矩陣中的流控制結(jié)構(gòu)層部分

星星科技指導(dǎo)員 ? 來源:NVIDIA ? 作者:Ken He ? 2022-05-13 16:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NVIDIA TensorRT 支持循環(huán)結(jié)構(gòu),這對于循環(huán)網(wǎng)絡(luò)很有用。 TensorRT 循環(huán)支持掃描輸入張量、張量的循環(huán)定義以及“掃描輸出”和“最后一個值”輸出。

10.1. Defining A Loop

循環(huán)由循環(huán)邊界層(loop boundary layers)定義。

ITripLimitLayer指定循環(huán)迭代的次數(shù)。

IIteratorLayer使循環(huán)能夠迭代張量。

IRecurrenceLayer指定一個循環(huán)定義。

ILoopOutputLayer指定循環(huán)的輸出。

每個邊界層都繼承自類ILoopBoundaryLayer ,該類有一個方法getLoop()用于獲取其關(guān)聯(lián)的ILoop 。 ILoop對象標識循環(huán)。具有相同ILoop的所有循環(huán)邊界層都屬于該循環(huán)。

下圖描繪了循環(huán)的結(jié)構(gòu)和邊界處的數(shù)據(jù)流。循環(huán)不變張量可以直接在循環(huán)內(nèi)部使用,例如 FooLayer 所示。

一個循環(huán)可以有多個IIteratorLayer 、 IRecurrenceLayer和ILoopOutputLayer ,并且最多可以有兩個ITripLimitLayer ,如后面所述。沒有ILoopOutputLayer的循環(huán)沒有輸出,并由 TensorRT 優(yōu)化。

NVIDIA TensorRT 支持矩陣中的流控制結(jié)構(gòu)層部分描述了可用于循環(huán)內(nèi)部的 TensorRT 層。

內(nèi)部層可以自由使用在循環(huán)內(nèi)部或外部定義的張量。內(nèi)部可以包含其他循環(huán)(請參閱嵌套循環(huán))和其他條件構(gòu)造(請參閱條件嵌套)。

要定義循環(huán),首先,使用INetworkDefinition ::addLoop方法創(chuàng)建一個ILoop對象。然后添加邊界層和內(nèi)部層。本節(jié)的其余部分描述了邊界層的特征,使用loop表示INetworkDefinition ::addLoop返回的ILoop* 。

ITripLimitLayer支持計數(shù)循環(huán)和 while 循環(huán)。

loop -》addTripLimit( t ,TripLimit::kCOUNT)創(chuàng)建一個ITripLimitLayer ,其輸入t是指定循環(huán)迭代次數(shù)的 0D INT32 張量。

loop -》addTripLimit( t ,TripLimit::kWHILE)創(chuàng)建一個ITripLimitLayer ,其輸入t是一個 0D Bool 張量,用于指定是否應(yīng)該進行迭代。通常t要么是IRecurrenceLayer的輸出,要么是基于所述輸出的計算。

一個循環(huán)最多可以有一種限制。

IIteratorLayer支持在任何軸上向前或向后迭代。

loop -》addIterator( t )添加一個IIteratorLayer ,它在張量t的軸 0 上進行迭代。例如,如果輸入是矩陣:

2 3 5

4 6 8

第一次迭代的一維張量{2, 3, 5}和第二次迭代的{4, 6, 8} 。超出張量范圍的迭代是無效的。

loop -》addIterator( t , axis )類似,但該層在給定的軸上迭代。例如,如果 axis=1 并且輸入是矩陣,則每次迭代都會傳遞矩陣的一列。

loop -》addIterator( t , axis,reverse )類似,但如果reverse =true ,則該層以相反的順序產(chǎn)生其輸出。

ILoopOutputLayer支持三種形式的循環(huán)輸出:

loop -》addLoopOutput( t, LoopOutput::kLAST_VALUE)輸出t的最后一個值,其中t必須是IRecurrenceLayer的輸出。

loop-》 addLoopOutput( t ,LoopOutput::kCONCATENATE, axis )將每次迭代的輸入串聯(lián)輸出到t 。例如,如果輸入是一維張量,第一次迭代的值為{ a,b,c} ,第二次迭代的值為{d,e,f} , axis =0 ,則輸出為矩陣:

a b c

d e f

如果axis =1 ,則輸出為:

a d

b e

c f

loop-》 addLoopOutput( t ,LoopOutput::kREVERSE, axis )類似,但顛倒了順序。 kCONCATENATE和kREVERSE形式都需要第二個輸入,這是一個 0D INT32 形狀張量,用于指定新輸出維度的長度。當長度大于迭代次數(shù)時,額外的元素包含任意值。第二個輸入,例如u ,應(yīng)使用ILoopOutputLayer::setInput(1, u )設(shè)置。

最后,還有IRecurrenceLayer 。它的第一個輸入指定初始輸出值,第二個輸入指定下一個輸出值。第一個輸入必須來自循環(huán)外;第二個輸入通常來自循環(huán)內(nèi)部。例如,這個 C++ 片段的 TensorRT 模擬

for (int32_t i = j; 。..; i += k) 。..

可以通過這些調(diào)用創(chuàng)建,其中j和k是ITensor* 。

ILoop* loop = n.addLoop();

IRecurrenceLayer* iRec = loop-》addRecurrence(j);

ITensor* i = iRec-》getOutput(0);

ITensor* iNext = addElementWise(*i, *k,

ElementWiseOperation::kADD)-》getOutput(0);

iRec-》setInput(1, *iNext);

第二個輸入是TensorRT允許后沿的唯一情況。如果刪除了這些輸入,則剩余的網(wǎng)絡(luò)必須是非循環(huán)的。

10.2. Formal Semantics

TensorRT 具有應(yīng)用語義,這意味著除了引擎輸入和輸出之外沒有可見的副作用。因為沒有副作用,命令式語言中關(guān)于循環(huán)的直覺并不總是有效。本節(jié)定義了 TensorRT 循環(huán)結(jié)構(gòu)的形式語義。

形式語義基于張量的惰性序列(lazy sequences)。循環(huán)的每次迭代對應(yīng)于序列中的一個元素。循環(huán)內(nèi)張量X的序列表示為? X 0, X 1, X 2, 。.. ? 。序列的元素被懶惰地評估,意思是根據(jù)需要。

IIteratorLayer(X)的輸出是? X[0], X[1], X[2], 。.. ?其中X[i]表示在IIteratorLayer指定的軸上的下標。

IRecurrenceLayer(X,Y)的輸出是? X, Y0, Y1, Y2, 。.. ? 。 的輸入和輸出取決于LoopOutput的類型。

kLAST_VALUE :輸入是單個張量X ,對于 n-trip 循環(huán),輸出是X n 。

kCONCATENATE :第一個輸入是張量X,第二個輸入是標量形狀張量Y。結(jié)果是X0, X1, X2, 。.. Xn-1與后填充(如有必要)連接到Y(jié)指定的長度。如果Y 《 n則為運行時錯誤。 Y是構(gòu)建時間常數(shù)。注意與IIteratorLayer的反比關(guān)系。 IIteratorLayer將張量映射到一系列子張量;帶有kCONCATENATE的ILoopOutputLayer將一系列子張量映射到一個張量。

kREVERSE :類似于kCONCATENATE ,但輸出方向相反。

ILoopOutputLayer的輸出定義中的n值由循環(huán)的ITripLimitLayer確定:

對于計數(shù)循環(huán),它是迭代計數(shù),表示ITripLimitLayer的輸入。

對于 while 循環(huán),它是最小的 n 使得$X_n$為假,其中X是ITripLimitLayer的輸入張量的序列。

非循環(huán)層的輸出是層功能的順序應(yīng)用。例如,對于一個二輸入非循環(huán)層F(X,Y) = ? f(X 0 , Y 0 ), f(X 1 , Y 1 ), f(X 2 , Y 2 )。.. ? 。如果一個張量來自循環(huán)之外,即是循環(huán)不變的,那么它的序列是通過復(fù)制張量來創(chuàng)建的。

10.3. Nested Loops

TensorRT 從數(shù)據(jù)流中推斷出循環(huán)的嵌套。例如,如果循環(huán) B 使用在循環(huán) A 中定義的值,則 B 被認為嵌套在 A 中。

TensorRT 拒絕循環(huán)沒有干凈嵌套的網(wǎng)絡(luò),例如如果循環(huán) A 使用循環(huán) B 內(nèi)部定義的值,反之亦然。

10.4. Limitations

引用多個動態(tài)維度的循環(huán)可能會占用意外的內(nèi)存量。 在一個循環(huán)中,內(nèi)存的分配就像所有動態(tài)維度都取任何這些維度的最大值一樣。例如,如果一個循環(huán)引用兩個維度為[4,x,y]和[6,y]的張量,則這些張量的內(nèi)存分配就像它們的維度是[4,max(x,y),max(x ,y)]和[6,max(x,y)] 。

帶有kLAST_VALUE的LoopOutputLayer的輸入必須是IRecurrenceLayer的輸出。 循環(huán) API 僅支持 FP32 和 FP16 精度。

10.5. Replacing IRNNv2Layer With Loops

IRNNv2Layer在 TensorRT 7.2.1 中已棄用,并將在 TensorRT 9.0 中刪除。使用循環(huán) API 合成循環(huán)子網(wǎng)絡(luò)。例如,請參閱sampleCharRNN方法SampleCharRNNLoop::addLSTMCell 。循環(huán) API 讓您可以表達一般的循環(huán)網(wǎng)絡(luò),而不是局限于IRNNLayer和IRNNv2Layer中的預(yù)制單元。

關(guān)于作者

Ken He 是 NVIDIA 企業(yè)級開發(fā)者社區(qū)經(jīng)理 & 高級講師,擁有多年的 GPU人工智能開發(fā)經(jīng)驗。自 2017 年加入 NVIDIA 開發(fā)者社區(qū)以來,完成過上百場培訓(xùn),幫助上萬個開發(fā)者了解人工智能和 GPU 編程開發(fā)。在計算機視覺,高性能計算領(lǐng)域完成過多個獨立項目。并且,在機器人無人機領(lǐng)域,有過豐富的研發(fā)經(jīng)驗。對于圖像識別,目標的檢測與跟蹤完成過多種解決方案。曾經(jīng)參與 GPU 版氣象模式GRAPES,是其主要研發(fā)者。

審核編輯:郭婷

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

    關(guān)注

    14

    文章

    5496

    瀏覽量

    109103
  • gpu
    gpu
    +關(guān)注

    關(guān)注

    28

    文章

    5100

    瀏覽量

    134471
  • 人工智能
    +關(guān)注

    關(guān)注

    1813

    文章

    49743

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    NVIDIA TensorRT LLM 1.0推理框架正式上線

    TensorRT LLM 作為 NVIDIA 為大規(guī)模 LLM 推理打造的推理框架,核心目標是突破 NVIDIA 平臺上的推理性能瓶頸。為實現(xiàn)這一目標,其構(gòu)建了多維度的核心實現(xiàn)路徑:一方面,針對需
    的頭像 發(fā)表于 10-21 11:04 ?769次閱讀

    DeepSeek R1 MTP在TensorRT-LLM的實現(xiàn)與優(yōu)化

    TensorRT-LLM 在 NVIDIA Blackwell GPU 上創(chuàng)下了 DeepSeek-R1 推理性能的世界紀錄,Multi-Token Prediction (MTP) 實現(xiàn)了大幅提速
    的頭像 發(fā)表于 08-30 15:47 ?3970次閱讀
    DeepSeek R1 MTP在<b class='flag-5'>TensorRT</b>-LLM<b class='flag-5'>中</b>的實現(xiàn)與優(yōu)化

    TensorRT-LLM的分離式服務(wù)

    在之前的技術(shù)博客,我們介紹了低延遲[1] 和高吞吐[2] 場景的優(yōu)化方法。對于生產(chǎn)部署,用戶還關(guān)心在滿足特定延遲約束的情況下,每個 GPU 的吞吐表現(xiàn)。本文將圍繞“吞吐量-延遲”性能場景,介紹 TensorRT-LLM 分離式服務(wù)的設(shè)計理念、使用方法,以及性能研究結(jié)果。
    的頭像 發(fā)表于 08-27 12:29 ?1383次閱讀
    <b class='flag-5'>TensorRT</b>-LLM<b class='flag-5'>中</b>的分離式服務(wù)

    橢偏儀在OLED的應(yīng)用丨多層薄膜納米結(jié)構(gòu)的各膜厚度高精度提取

    在OLED顯示器的多層超薄膜疊加結(jié)構(gòu)的橢偏測量應(yīng)用,需要同時提取多層超薄膜堆棧各層薄膜厚度值,而膜與膜間的厚度也會有強耦合性會導(dǎo)致測
    的頭像 發(fā)表于 08-22 18:09 ?721次閱讀
    橢偏儀在OLED<b class='flag-5'>中</b>的應(yīng)用丨多層薄膜納米<b class='flag-5'>結(jié)構(gòu)</b>的各膜<b class='flag-5'>層</b>厚度高精度提取

    超過175款游戲和應(yīng)用現(xiàn)已支持NVIDIA DLSS 4

    超過 175 款游戲和應(yīng)用現(xiàn)已支持 DLSS 4,包括《生化危機:安魂曲》(Resident Evil Requiem)、《影之刃零》(Phantom Blade Zero)等支持光線追蹤的大作,升級的 NVIDIA RTX R
    的頭像 發(fā)表于 08-20 14:26 ?1066次閱讀

    銅在微機電系統(tǒng)的應(yīng)用

    在 MEMS(微機電系統(tǒng)),銅(Cu)因優(yōu)異的電學(xué)、熱學(xué)和機械性能,成為一種重要的金屬材料,廣泛應(yīng)用于電極、互連、結(jié)構(gòu)層等關(guān)鍵部件。
    的頭像 發(fā)表于 08-12 10:53 ?767次閱讀
    銅在微機電系統(tǒng)<b class='flag-5'>中</b>的應(yīng)用

    NVIDIA RTX AI加速FLUX.1 Kontext現(xiàn)已開放下載

    NVIDIA RTX 與 NVIDIA TensorRT 現(xiàn)已加速 Black Forest Labs 的最新圖像生成和編輯模型;此外,Gemma 3n 現(xiàn)可借助 RTX 和 NVIDIA
    的頭像 發(fā)表于 07-16 09:16 ?1864次閱讀

    如何在魔搭社區(qū)使用TensorRT-LLM加速優(yōu)化Qwen3系列模型推理部署

    TensorRT-LLM 作為 NVIDIA 專為 LLM 推理部署加速優(yōu)化的開源庫,可幫助開發(fā)者快速利用最新 LLM 完成應(yīng)用原型驗證與產(chǎn)品部署。
    的頭像 發(fā)表于 07-04 14:38 ?1757次閱讀

    NVIDIA Blackwell GPU優(yōu)化DeepSeek-R1性能 打破DeepSeek-R1在最小延遲場景的性能紀錄

    本文將探討 NVIDIA TensorRT-LLM 如何基于 8 個 NVIDIA Blackwell GPU 的配置,打破 DeepSeek-R1 在最小延遲場景的性能紀錄:在 G
    的頭像 發(fā)表于 07-02 19:31 ?2940次閱讀
    <b class='flag-5'>NVIDIA</b> Blackwell GPU優(yōu)化DeepSeek-R1性能 打破DeepSeek-R1在最小延遲場景<b class='flag-5'>中</b>的性能紀錄

    使用NVIDIA Triton和TensorRT-LLM部署TTS應(yīng)用的最佳實踐

    針對基于 Diffusion 和 LLM 類別的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能顯著提升推理速度。在單張 NVIDIA Ada Lovelace
    的頭像 發(fā)表于 06-12 15:37 ?1306次閱讀
    使用<b class='flag-5'>NVIDIA</b> Triton和<b class='flag-5'>TensorRT</b>-LLM部署TTS應(yīng)用的最佳實踐

    矩陣變換器在異步電機直接轉(zhuǎn)矩控制的應(yīng)用

    在異步電機直接轉(zhuǎn)矩控制系統(tǒng),采用矩陣變換器供電既能實現(xiàn)直接轉(zhuǎn)矩控制的效果,并且還具有矩陣變換器的優(yōu)點。實現(xiàn)了將
    發(fā)表于 06-05 11:21

    NVIDIA技術(shù)助力Pantheon Lab數(shù)字人實時交互解決方案

    本案例,Pantheon Lab(萬想科技)專注于數(shù)字人技術(shù)解決方案,通過 NVIDIA 技術(shù)實現(xiàn)數(shù)字人實時對話與客戶互動交流。借助 NVIDIA GPU、NVIDIA
    的頭像 發(fā)表于 01-14 11:19 ?929次閱讀

    NVIDIA TensorRT-LLM啟用ReDrafter的一些變化

    Recurrent Drafting (簡稱 ReDrafter) 是蘋果公司為大語言模型 (LLM) 推理開發(fā)并開源的一種新型推測解碼技術(shù),該技術(shù)現(xiàn)在可與 NVIDIA TensorRT-LLM 一起使用。
    的頭像 發(fā)表于 12-25 17:31 ?1239次閱讀
    在<b class='flag-5'>NVIDIA</b> <b class='flag-5'>TensorRT</b>-LLM<b class='flag-5'>中</b>啟用ReDrafter的一些變化

    【AIBOX應(yīng)用】通過 NVIDIA TensorRT 實現(xiàn)實時快速的語義分割

    NVIDIA系列AIBOXAIBOX-OrinNano和AIBOX-OrinNX均搭載NVIDIA原裝JetsonOrin核心板模組,標配工業(yè)級全金屬外殼,鋁合金結(jié)構(gòu)導(dǎo)熱,頂蓋外殼側(cè)面采用條幅格柵
    的頭像 發(fā)表于 12-18 16:33 ?1135次閱讀
    【AIBOX應(yīng)用】通過 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>TensorRT</b> 實現(xiàn)實時快速的語義分割

    解鎖NVIDIA TensorRT-LLM的卓越性能

    NVIDIA TensorRT-LLM 是一個專為優(yōu)化大語言模型 (LLM) 推理而設(shè)計的庫。它提供了多種先進的優(yōu)化技術(shù),包括自定義 Attention Kernel、Inflight
    的頭像 發(fā)表于 12-17 17:47 ?1611次閱讀