一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

TensorRT構(gòu)建具有動態(tài)形狀的引擎的步驟

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

掃碼添加小助手

加入工程師交流群

動態(tài)形狀(Dynamic Shapes)是延遲指定部分或全部張量維度直到運行時的能力。動態(tài)形狀可以通過 C++Python 接口使用。 以下部分提供了更詳細(xì)的信息;但是,這里概述了構(gòu)建具有動態(tài)形狀的引擎的步驟:

1.網(wǎng)絡(luò)定義不得具有隱式批次維度。

C++

通過調(diào)用創(chuàng)建INetworkDefinition

IBuilder::createNetworkV2(1U <<
        static_cast(NetworkDefinitionCreationFlag::kEXPLICIT_BATCH))

Python

通過調(diào)用創(chuàng)建tensorrt.INetworkDefinition

create_network(1 <<
        int(tensorrt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH))

這些調(diào)用要求網(wǎng)絡(luò)沒有隱式批處理維度。

2.-1作為維度的占位符來指定輸入張量的每個運行時維度。

3.指定一個或多個優(yōu)化配置文件,為具有運行時維度的輸入指定允許的維度范圍,以及自動調(diào)整器將優(yōu)化的維度。有關(guān)詳細(xì)信息,請參閱優(yōu)化配置文件。

4.要使用引擎:

  • 從引擎創(chuàng)建執(zhí)行上下文,與沒有動態(tài)形狀的情況相同。
  • 指定步驟 3 中涵蓋輸入維度的優(yōu)化配置文件之一。
  • 指定執(zhí)行上下文的輸入維度。設(shè)置輸入維度后,您可以獲得TensorRT針對給定輸入維度計算的輸出維度。
  • Enqueue work。

8.1. Specifying Runtime Dimensions

構(gòu)建網(wǎng)絡(luò)時,使用-1表示輸入張量的運行時維度。例如,要創(chuàng)建一個名為foo的 3D 輸入張量,其中最后兩個維度在運行時指定,第一個維度在構(gòu)建時固定,請發(fā)出以下命令。

C++

networkDefinition.addInput("foo", DataType::kFLOAT, Dims3(3, -1, -1))

Python

network_definition.add_input("foo", trt.float32, (3, -1, -1))

在運行時,您需要在選擇優(yōu)化配置文件后設(shè)置輸入維度(請參閱優(yōu)化配置文件)。設(shè)輸入foobindingIndex0,輸入的維度為[3,150,250]。在為前面的示例設(shè)置優(yōu)化配置文件后,您將調(diào)用:

C++

context.setBindingDimensions(0, Dims3(3, 150, 250))

Python

context.set_binding_shape(0, (3, 150, 250))

在運行時,向引擎詢問綁定維度會返回用于構(gòu)建網(wǎng)絡(luò)的相同維度,這意味著每個運行時維度都會得到-1。例如:

C++

engine.getBindingDimensions(0) returns a Dims with dimensions {3, -1, -1}

Python

engine.get_binding_shape(0) returns (3, -1, -1)

要獲取特定于每個執(zhí)行上下文的實際維度,請查詢執(zhí)行上下文:

C++

context.getBindingDimensions(0) returns a Dims with dimensions {3, 150, 250}.

Python

context.get_binding_shape(0) returns (3, 150, 250).

注意:輸入的setBindingDimensions的返回值僅表明與為該輸入設(shè)置的優(yōu)化配置文件相關(guān)的一致性。指定所有輸入綁定維度后,您可以通過查詢網(wǎng)絡(luò)輸出綁定的維度來檢查整個網(wǎng)絡(luò)在動態(tài)輸入形狀方面是否一致。

nvinfer1::Dims out_dim = context->getBindingDimensions(out_index);

if (out_dim.nbDims == -1) {
gLogError << "Invalid network output, this might be caused by inconsistent input shapes." << std::endl;
// abort inference
}

8.2. Optimization Profiles

優(yōu)化配置文件描述了每個網(wǎng)絡(luò)輸入的維度范圍以及自動調(diào)諧器將用于優(yōu)化的維度。使用運行時維度時,您必須在構(gòu)建時創(chuàng)建至少一個優(yōu)化配置文件。兩個配置文件可以指定不相交或重疊的范圍。

例如,一個配置文件可能指定最小尺寸[3,100,200],最大尺寸[3,200,300]和優(yōu)化尺寸[3,150,250]而另一個配置文件可能指定最小,最大和優(yōu)化尺寸[3,200,100] , [3,300,400] ,和[3,250,250]。

要創(chuàng)建優(yōu)化配置文件,首先構(gòu)造一個IOptimizationProfile。然后設(shè)置最小、優(yōu)化和最大維度,并將其添加到網(wǎng)絡(luò)配置中。優(yōu)化配置文件定義的形狀必須為網(wǎng)絡(luò)定義有效的輸入形狀。以下是前面提到的第一個配置文件對輸入foo的調(diào)用:

C++

IOptimizationProfile* profile = builder.createOptimizationProfile();
profile->setDimensions("foo", OptProfileSelector::kMIN, Dims3(3,100,200);
profile->setDimensions("foo", OptProfileSelector::kOPT, Dims3(3,150,250);
profile->setDimensions("foo", OptProfileSelector::kMAX, Dims3(3,200,300);

config->addOptimizationProfile(profile)

Python

profile = builder.create_optimization_profile();
profile.set_shape("foo", (3, 100, 200), (3, 150, 250), (3, 200, 300)) 
config.add_optimization_profile(profile)

在運行時,您需要在設(shè)置輸入維度之前設(shè)置優(yōu)化配置文件。配置文件按照添加的順序編號,從0開始。請注意,每個執(zhí)行上下文必須使用單獨的優(yōu)化配置文件。 要選擇示例中的第一個優(yōu)化配置文件,請使用:

C++調(diào)用context.setOptimizationProfileAsync(0, stream)

其中stream是在此上下文中用于后續(xù)enqueue()或enqueueV2()調(diào)用的 CUDA 流。

Python設(shè)置context.set_optimization_profile_async(0, stream)

如果關(guān)聯(lián)的 CUDA 引擎具有動態(tài)輸入,則必須使用唯一的配置文件索引至少設(shè)置一次優(yōu)化配置文件,該唯一配置文件索引未被其他未銷毀的執(zhí)行上下文使用。對于為引擎創(chuàng)建的第一個執(zhí)行上下文,隱式選擇配置文件 0。

可以調(diào)用setOptimizationProfileAsync()在配置文件之間切換。它必須在當(dāng)前上下文中的任何enqueue()enqueueV2()操作完成后調(diào)用。當(dāng)多個執(zhí)行上下文同時運行時,允許切換到以前使用但已被具有不同動態(tài)輸入維度的另一個執(zhí)行上下文釋放的配置文件。

setOptimizationProfileAsync()函數(shù)替換了現(xiàn)在已棄用的 APIsetOptimizationProfile()版本。使用setOptimizationProfile()在優(yōu)化配置文件之間切換可能會導(dǎo)致后續(xù)enqueue()enqueueV2()操作操作中的 GPU 內(nèi)存復(fù)制操作。要在入隊期間避免這些調(diào)用,請改用setOptimizationProfileAsync()API。

在由多個配置文件構(gòu)建的引擎中,每個配置文件都有單獨的綁定索引。第K個配置文件的輸入/輸出張量的名稱附加了[profile K],其中K以十進(jìn)制表示。例如,如果INetworkDefinition的名稱為“foo”,并且bindingIndex指的是優(yōu)化配置文件中索引為3的張量,則engine.getBindingName ( bindingIndex )返回“foo [profile 3]”。

同樣,如果使用ICudaEngine::getBindingIndex(name)獲取第一個配置文件 (K=0) 之外的配置文件 K 的索引,請將“[profile K]”附加到INetworkDefinition中使用的名稱。例如,如果張量在INetworkDefinition中被稱為“foo” ,則engine.getBindingIndex ( “ foo [profile 3] ” )在優(yōu)化配置文件3中返回張量“foo”的綁定索引。

始終省略K=0的后綴。

8.2.1. Bindings For Multiple Optimization Profiles

考慮一個具有四個輸入、一個輸出、在IBuilderConfig中具有三個優(yōu)化配置文件的網(wǎng)絡(luò)。該引擎有15個綁定,每個優(yōu)化配置文件有5個,在概念上組織為一個表:

每行都是一個配置文件。表中的數(shù)字表示綁定索引。第一個配置文件的綁定索引為 0..4,第二個配置文件為 5..9,第三個配置文件為 10..14。

對于綁定屬于第一個配置文件但指定了另一個配置文件的情況,接口具有“自動更正”功能。在這種情況下,TensorRT 會警告錯誤,然后從同一列中選擇正確的綁定索引。

為了向后半兼容,接口在綁定屬于第一個配置文件但指定了另一個配置文件的情況下具有“自動更正”功能。在這種情況下,TensorRT 會警告錯誤,然后從同一列中選擇正確的綁定索引。

8.3. Layer Extensions For Dynamic Shapes

一些層具有允許指定動態(tài)形狀信息的可選輸入,并且有一個新層IShapeLayer用于在運行時訪問張量的形狀。此外,一些層允許計算新的形狀。下一節(jié)將討論語義細(xì)節(jié)和限制。以下是與動態(tài)形狀結(jié)合使用時可能有用的內(nèi)容的摘要。

IShapeLayer輸出一個包含輸入張量尺寸的一維張量。例如,如果輸入張量的維度為[2,3,5,7],則輸出張量是包含{2,3,5,7}的四元素一維張量。如果輸入張量是標(biāo)量,則它的維度為[] ,輸出張量是包含{}的零元素一維張量。

IResizeLayer接受包含所需輸出尺寸的可選第二個輸入。

IShuffleLayer接受包含重塑尺寸的可選第二個輸入。例如,以下網(wǎng)絡(luò)將張量Y重塑為與X具有相同的維度:

C++

auto* reshape = networkDefinition.addShuffle(Y);
reshape.setInput(1, networkDefintion.addShape(X)->getOutput(0));

Python

reshape = network_definition.add_shuffle(y)
reshape.set_input(1, network_definition.add_shape(X).get_output(0))

ISliceLayer接受可選的第二、第三和第四個輸入,其中包含開始、大小和步幅。

IConcatenationLayer, IElementWiseLayer, IGatherLayer, IIdentityLayer, and IReduceLayer

可用于對形狀進(jìn)行計算并創(chuàng)建新的形狀張量。

8.4. Restrictions For Dynamic Shapes

由于層的權(quán)重具有固定大小,因此會出現(xiàn)以下層限制:

  • IConvolutionLayerIDeconvolutionLayer要求通道維度是構(gòu)建時常數(shù)。
  • IFullyConnectedLayer要求最后三個維度是構(gòu)建時常量。
  • Int8要求通道維度是構(gòu)建時常數(shù)。
  • 接受額外形狀輸入的層(IResizeLayer、IShuffleLayer、ISliceLayer)要求額外的形狀輸入與最小和最大優(yōu)化配置文件的尺寸以及運行時數(shù)據(jù)輸入的尺寸兼容;否則,它可能導(dǎo)致構(gòu)建時或運行時錯誤。

必須是構(gòu)建時常量的值不必是 API 級別的常量。 TensorRT 的形狀分析器通過進(jìn)行形狀計算的層進(jìn)行逐個元素的常數(shù)傳播。常量傳播發(fā)現(xiàn)一個值是構(gòu)建時常量就足夠了。

8.5. Execution Tensors vs. Shape Tensors

使用動態(tài)形狀的引擎采用兩階段執(zhí)行策略。

  1. 計算所有張量的形狀
  2. 將工作流式傳輸?shù)?GPU。

階段 1 是隱含的,由需求驅(qū)動,例如在請求輸出維度時。第 2 階段與之前版本的TensorRT 相同。兩階段執(zhí)行對動態(tài)性施加了一些限制,這些限制對于理解是很重要的。

關(guān)鍵限制是:

  • 張量的等級必須在構(gòu)建時確定。
  • 張量是執(zhí)行張量、形狀張量或兩者兼而有之。歸類為形狀張量的張量受到限制。

執(zhí)行張量是傳統(tǒng)的TensorRT張量。形狀張量是與形狀計算相關(guān)的張量。它必須是0D1D,類型為Int32、FloatBool,并且其形狀必須在構(gòu)建時可確定。例如,有一個IShapeLayer,其輸出是一維張量,其中包含輸入張量的維度。輸出是一個形狀張量。IShuffleLayer接受一個可選的第二個輸入,可以指定重塑尺寸。第二個輸入必須是一個形狀張量。

有些層在它們處理的張量類型方面是“多態(tài)的”。例如,IElementWiseLayer可以將兩個INT32執(zhí)行張量相加或?qū)蓚€INT32形狀張量相加。張量的類型取決于其最終用途。如果總和用于重塑另一個張量,那么它就是一個“形狀張量”。

8.5.1. Formal Inference Rules

TensorRT 用于對張量進(jìn)行分類的形式推理規(guī)則基于類型推理代數(shù)。令E表示執(zhí)行張量, S表示形狀張量。

IActivationLayer具有:

IActivationLayer: E → E

因為它將執(zhí)行張量作為輸入,將執(zhí)行張量作為輸出。IElementWiseLayer在這方面是多態(tài)的,有兩個特點:

IElementWiseLayer: S × S → S, E × E → E

為簡潔起見,讓我們采用約定t是表示任一類張量的變量,并且特征中的所有t都指同一類張量。然后,前面的兩個特征可以寫成一個單一的多態(tài)特征:

IElementWiseLayer: t × t → t

雙輸入IShuffleLayer有一個形狀張量作為第二個輸入,并且相對于第一個輸入是多態(tài)的:

IShuffleLayer (two inputs): t × S → t

IConstantLayer沒有輸入,但可以產(chǎn)生任何一種張量,所以它的特征是:

IConstantLayer: → t

IShapeLayer的特征允許所有四種可能的組合E→E 、 E→S 、 S→E和S→S ,因此可以用兩個自變量編寫:

IShapeLayer: t1 → t2

這是完整的規(guī)則集,它也可以作為可以使用哪些層來操縱形狀張量的參考:

IAssertionLayer: S → 
IConcatenationLayer: t × t × ...→ t
IIfConditionalInputLayer: t → t
IIfConditionalOutputLayer: t → t
IConstantLayer: → t
IActivationLayer: t → t
IElementWiseLayer: t × t → t
IFillLayer: S → t
IFillLayer: S × E × E → E 
IGatherLayer: t × t → t
IIdentityLayer: t → t
IReduceLayer: t → t
IResizeLayer (one input): E → E
IResizeLayer (two inputs): E × S → E
ISelectLayer: t × t × t → t
IShapeLayer: t1 → t2
IShuffleLayer (one input): t → t
IShuffleLayer (two inputs): t × S → t
ISliceLayer (one input): t → t
ISliceLayer (two inputs): t × S → t
ISliceLayer (three inputs): t × S × S → t
ISliceLayer (four inputs): t × S × S × S → t
IUnaryLayer: t → t
all other layers: E × ... → E × ...

因為輸出可以是多個后續(xù)層的輸入,所以推斷的“類型”不是唯一的。例如,一個IConstantLayer可能會饋入一個需要執(zhí)行張量的用途和另一個需要形狀張量的用途。IConstantLayer的輸出被歸類為兩者,可以在兩階段執(zhí)行的階段 1 和階段 2 中使用。

在構(gòu)建時知道形狀張量的等級的要求限制了ISliceLayer可用于操縱形狀張量的方式。具體來說,如果指定結(jié)果大小的第三個參數(shù)不是構(gòu)建時常數(shù),則生成的形狀張量的長度在構(gòu)建時將不再已知,從而打破形狀張量對構(gòu)建時形狀的限制.更糟糕的是,它可能被用來重塑另一個張量,打破了在構(gòu)建時必須知道張量等級的限制。

可以通過方法ITensor::isShapeTensor()ITensor::isExecutionTensor ()方法檢查 TensorRT 的推理,它為形狀張量返回true,它為執(zhí)行張量返回true。在調(diào)用這些方法之前先構(gòu)建整個網(wǎng)絡(luò),因為它們的答案可能會根據(jù)添加的張量用途而改變。

例如,如果一個部分構(gòu)建的網(wǎng)絡(luò)將兩個張量T1T2相加來創(chuàng)建張量T3,并且還不需要任何形狀張量,則isShapeTensor()對所有三個張量都返回false。將IShuffleLayer的第二個輸入設(shè)置為T3會導(dǎo)致所有三個張量成為形狀張量,因為IShuffleLayer要求其第二個可選輸入是形狀張量,如果IElementWiseLayer的輸出是形狀張量,那么它的輸入也是形狀張量。

8.6. Shape Tensor I/O (Advanced)

有時需要使用形狀張量作為網(wǎng)絡(luò) I/O 張量。例如,考慮一個僅由IshuffleLayer組成的網(wǎng)絡(luò)。 TensorRT 推斷第二個輸入是一個形狀張量。ITensor::isShapeTensor為它返回 true。因為它是一個輸入形狀張量,所以 TensorRT 需要兩件事:

  • 在構(gòu)建時:形狀張量的優(yōu)化配置文件值。
  • 在運行時:形狀張量的值。

輸入形狀張量的形狀在構(gòu)建時始終是已知的。這是需要描述的值,因為它們可用于指定執(zhí)行張量的維度。

可以使用IOptimizationProfile::setShapeValues設(shè)置優(yōu)化配置文件值。類似于必須為具有運行時維度的執(zhí)行張量提供最小、最大和優(yōu)化維度的方式,必須在構(gòu)建時為形狀張量提供最小、最大和優(yōu)化值。

對應(yīng)的運行時方法是IExecutionContext::setInputShapeBinding,它在運行時設(shè)置形狀張量的值。

因為“執(zhí)行張量”與“形狀張量”的推斷是基于最終用途,所以 TensorRT無法推斷網(wǎng)絡(luò)輸出是否為形狀張量。您必須通過INetworkDefinition::markOutputForShapes方法告訴它。

除了讓您輸出形狀信息以進(jìn)行調(diào)試外,此功能對于編寫引擎也很有用。例如,考慮構(gòu)建三個引擎,每個引擎用于子網(wǎng)絡(luò)A、B、C,其中從A 到 B 或 B 到 C的連接可能涉及形狀張量。逆序構(gòu)建網(wǎng)絡(luò):C、B、A。構(gòu)建網(wǎng)絡(luò) C 后,可以使用ITensor::isShapeTensor判斷輸入是否為形狀張量,并使用INetworkDefinition::markOutputForShapes標(biāo)記網(wǎng)絡(luò)中對應(yīng)的輸出張量B.然后檢查B的哪些輸入是形狀張量,并在網(wǎng)絡(luò)A中標(biāo)記對應(yīng)的輸出張量。

網(wǎng)絡(luò)邊界處的形狀張量必須具有Int32類型。它們不能具有FloatBool類型。Bool的一種解決方法是使用Int32作為 I/O 張量,帶有01,并且:

  • 通過ElementWiseOperation::kGREATER轉(zhuǎn)換為Bool ,即x > 0。
  • 通過ISelectLayerBool轉(zhuǎn)換,即y ? 1:0。

8.7. INT8 Calibration With Dynamic Shapes

要為具有動態(tài)形狀的網(wǎng)絡(luò)運行 INT8 校準(zhǔn),必須設(shè)置校準(zhǔn)優(yōu)化配置文件。使用配置文件的kOPT值執(zhí)行校準(zhǔn)。校準(zhǔn)輸入數(shù)據(jù)大小必須與此配置文件匹配。

要創(chuàng)建校準(zhǔn)優(yōu)化配置文件,首先,構(gòu)造一個IOptimizationProfile,其方式與創(chuàng)建一般優(yōu)化配置文件的方式相同。然后將配置文件設(shè)置為配置:

C++

config->setCalibrationProfile(profile)

Python

config.set_calibration_profile(profile)

校準(zhǔn)配置文件必須有效或為nullptr。kMINkMAX值被kOPT覆蓋。要檢查當(dāng)前校準(zhǔn)配置文件,請使用IBuilderConfig::getCalibrationProfile。 此方法返回指向當(dāng)前校準(zhǔn)配置文件的指針,如果未設(shè)置校準(zhǔn)配置文件,則返回nullptr。為具有動態(tài)形狀的網(wǎng)絡(luò)運行校準(zhǔn)時,getBatchSize()校準(zhǔn)器方法必須返回1 。

關(guān)于作者

Ken He 是 NVIDIA 企業(yè)級開發(fā)者社區(qū)經(jīng)理 & 高級講師,擁有多年的 GPU 和人工智能開發(fā)經(jīng)驗。自 2017 年加入 NVIDIA 開發(fā)者社區(qū)以來,完成過上百場培訓(xùn),幫助上萬個開發(fā)者了解人工智能和 GPU 編程開發(fā)。在計算機(jī)視覺,高性能計算領(lǐng)域完成過多個獨立項目。并且,在機(jī)器人無人機(jī)領(lǐng)域,有過豐富的研發(fā)經(jīng)驗。對于圖像識別,目標(biāo)的檢測與跟蹤完成過多種解決方案。曾經(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)系本站處理。 舉報投訴
  • 引擎
    +關(guān)注

    關(guān)注

    1

    文章

    366

    瀏覽量

    22998
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2119

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    信而泰×DeepSeek:AI推理引擎驅(qū)動網(wǎng)絡(luò)智能診斷邁向 “自愈”時代

    模態(tài)的技術(shù)特性,DeepSeek正加速推動AI在金融、政務(wù)、科研及網(wǎng)絡(luò)智能化等關(guān)鍵領(lǐng)域的深度應(yīng)用。 信而泰:AI推理引擎賦能網(wǎng)絡(luò)智能診斷新范式信而泰深度整合DeepSeek-R1大模型系統(tǒng),構(gòu)建了新一代
    發(fā)表于 07-16 15:29

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

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

    工業(yè)相機(jī)選型步驟

    選型步驟詳解明確應(yīng)用需求檢測對象(尺寸、形狀、顏色等)檢測速度(生產(chǎn)線節(jié)拍、運動物體速度)精度要求(最小特征識別能力)環(huán)境條件(光照、溫度、振動、潔凈度)計算分辨率公式:分辨率=視野范圍(FOV
    的頭像 發(fā)表于 07-03 17:19 ?166次閱讀
    工業(yè)相機(jī)選型<b class='flag-5'>步驟</b>

    ArkUI-X在Android平臺動態(tài)化開發(fā)指南

    如果應(yīng)用使用了框架引擎動態(tài)化,首次下載引擎庫后將其放置/data/data/應(yīng)用/files/arkui-x/libs/arm64-v8a 目錄,之后再打開對應(yīng)跨平臺界面時初始化框架: 注意:初始化
    發(fā)表于 06-15 23:33

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

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

    PanDao:輸入形狀精度參數(shù)

    PanDao軟件當(dāng)前可以接受ISO10110標(biāo)準(zhǔn)定義的形狀精度參數(shù)格式3/A(B),其中A代表功率公差,B代表不規(guī)則性。 測量單位是條紋數(shù),表示的是波前偏差(非表面高度偏差),該方法源自光學(xué)大師
    發(fā)表于 05-06 08:45

    如何為Raspbian Bullseye構(gòu)建開源OpenVINO??

    為 Raspbian* Bullseye 構(gòu)建開源OpenVINO? 的變通方法步驟
    發(fā)表于 03-07 07:07

    常見的容器云服務(wù)引擎有哪些?

    常見的容器云服務(wù)引擎有哪些?云服務(wù)引擎涵蓋數(shù)據(jù)庫、數(shù)據(jù)存儲、數(shù)據(jù)處理、數(shù)據(jù)分析、容器云、機(jī)器學(xué)習(xí)及數(shù)據(jù)集成等多個領(lǐng)域,提供一站式解決方案。云服務(wù)引擎是云計算領(lǐng)域的重要組成部分,它們提供了各種服務(wù)來幫助用戶
    的頭像 發(fā)表于 01-07 09:49 ?388次閱讀

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

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

    解鎖NVIDIA TensorRT-LLM的卓越性能

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

    NVIDIA TensorRT-LLM Roadmap現(xiàn)已在GitHub上公開發(fā)布

    感謝眾多用戶及合作伙伴一直以來對NVIDIA TensorRT-LLM的支持。TensorRT-LLM 的 Roadmap 現(xiàn)已在 GitHub 上公開發(fā)布!
    的頭像 發(fā)表于 11-28 10:43 ?720次閱讀
    NVIDIA <b class='flag-5'>TensorRT</b>-LLM Roadmap現(xiàn)已在GitHub上公開發(fā)布

    TensorRT-LLM低精度推理優(yōu)化

    本文將分享 TensorRT-LLM 中低精度量化內(nèi)容,并從精度和速度角度對比 FP8 與 INT8。首先介紹性能,包括速度和精度。其次,介紹量化工具 NVIDIA TensorRT Model
    的頭像 發(fā)表于 11-19 14:29 ?1250次閱讀
    <b class='flag-5'>TensorRT</b>-LLM低精度推理優(yōu)化

    使用SSR構(gòu)建React應(yīng)用的步驟

    使用SSR(Server-Side Rendering,服務(wù)器端渲染)構(gòu)建React應(yīng)用的步驟通常包括以下幾個階段: 一、項目初始化與配置 創(chuàng)建React項目 : 可以使用Create React
    的頭像 發(fā)表于 11-18 11:30 ?838次閱讀

    容器云服務(wù)引擎是什么意思?

    容器云服務(wù)引擎是什么意思?容器云服務(wù)引擎是一種基于云原生架構(gòu)的容器編排工具,能夠幫助用戶快速構(gòu)建、部署和管理容器化應(yīng)用。它支持容器化應(yīng)用的全生命周期管理,包括部署、管理和擴(kuò)展,旨在簡化云原生應(yīng)用的操作過程。
    的頭像 發(fā)表于 10-19 17:08 ?422次閱讀

    容器云服務(wù)引擎是什么?如何使用

    容器云服務(wù)引擎(CloudContainerEngine,簡稱CCE),是一個企業(yè)級的Kubernetes集群托管服務(wù),提供高度可擴(kuò)展、高性能的云原生應(yīng)用部署和管理方案。容器云服務(wù)引擎一種基于云原生
    的頭像 發(fā)表于 09-30 10:17 ?518次閱讀