NVIDIA TensorRT 是一個(gè)用于深度學(xué)習(xí)推理的 SDK 。 TensorRT 提供 api 和解析器來(lái)從所有主要的深度學(xué)習(xí)框架中導(dǎo)入經(jīng)過(guò)訓(xùn)練的模型。然后生成可部署在數(shù)據(jù)中心、汽車(chē)和嵌入式環(huán)境中的優(yōu)化運(yùn)行時(shí)引擎。
這篇文章簡(jiǎn)單介紹了如何使用 TensorRT 。您將學(xué)習(xí)如何在 GPU 上部署深度學(xué)習(xí)應(yīng)用程序,從而提高吞吐量并減少推理過(guò)程中的延遲。它使用 C ++示例來(lái)將您通過(guò)將 PyTorch 模型轉(zhuǎn)換成 ONX 模型并將其導(dǎo)入 TensorRT ,應(yīng)用優(yōu)化,并為數(shù)據(jù)中心環(huán)境生成高性能運(yùn)行時(shí)引擎。
TensorRT 支持 C ++和 Python ;如果使用了兩者,工作流討論可能是有用的。如果您喜歡使用 Pyth
深度學(xué)習(xí)應(yīng)用于廣泛的應(yīng)用,如自然語(yǔ)言處理、推薦系統(tǒng)、圖像和視頻分析。隨著越來(lái)越多的應(yīng)用程序在生產(chǎn)中使用深度學(xué)習(xí),對(duì)準(zhǔn)確性和性能的要求導(dǎo)致了模型復(fù)雜性和規(guī)模的強(qiáng)勁增長(zhǎng)。
安全關(guān)鍵型應(yīng)用(如汽車(chē))對(duì)深度學(xué)習(xí)模型的吞吐量和延遲提出了嚴(yán)格的要求。對(duì)于包括推薦系統(tǒng)在內(nèi)的一些消費(fèi)者應(yīng)用程序也是如此。
TensorRT 旨在幫助這些用例部署深度學(xué)習(xí)。通過(guò)對(duì)每一個(gè)主要框架的支持, TensorRT 通過(guò)強(qiáng)大的優(yōu)化、降低精度的使用和高效的內(nèi)存使用,幫助以低延遲處理大量數(shù)據(jù)。
為了繼續(xù)這篇文章,您需要一臺(tái)具有 CUDA -TensorRT 功能的計(jì)算機(jī),或者一個(gè)安裝了 GPUs 的云實(shí)例。在 Linux 上,最容易開(kāi)始的地方是從 GPU 容器注冊(cè)表下載帶有 TensorRT 集成的 GPU – 加速的 PyTorch 集裝箱 。
示例應(yīng)用程序使用來(lái)自 Kaggle 的 腦 MRI 分割數(shù)據(jù) 的輸入數(shù)據(jù)來(lái)執(zhí)行推斷。
簡(jiǎn)單 TensorRT 示例
以下是此示例應(yīng)用程序的四個(gè)步驟:
將預(yù)訓(xùn)練圖像分割 PyTorch 模型轉(zhuǎn)換為 ONNX 。
將 ONNX 模型導(dǎo)入到 TensorRT 中。
應(yīng)用優(yōu)化并生成引擎。
對(duì) GPU 執(zhí)行推理。
導(dǎo)入 ONNX 模型包括從磁盤(pán)上保存的文件加載它,并將其從其本機(jī)框架或格式轉(zhuǎn)換為 TensorRT 網(wǎng)絡(luò)。 盒子 是一個(gè)表示深度學(xué)習(xí)模型的標(biāo)準(zhǔn),使其能夠在框架之間進(jìn)行轉(zhuǎn)換。
許多框架,如 Caffe2 、 Chainer 、 CNTK 、 paddlate 、 PyTorch 和 MXNet 都支持 ONNX 格式。接下來(lái),根據(jù)輸入模型、目標(biāo) GPU 平臺(tái)和其他指定的配置參數(shù),構(gòu)建優(yōu)化的 TensorRT 引擎。最后一步是向 TensorRT 引擎提供輸入數(shù)據(jù)以執(zhí)行推理。
應(yīng)用程序在 TensorRT 中使用以下組件:
ONX parser : 將一個(gè)經(jīng)過(guò) PyTorch 訓(xùn)練的模型轉(zhuǎn)換成 ONNX 格式作為輸入,并在 TensorRT 中填充一個(gè)網(wǎng)絡(luò)對(duì)象。
建設(shè)者: 使用 TensorRT 中的網(wǎng)絡(luò)并生成針對(duì)目標(biāo)平臺(tái)優(yōu)化的引擎。
發(fā)動(dòng)機(jī): 獲取輸入數(shù)據(jù),執(zhí)行推斷,并發(fā)出推斷輸出。
記錄器: 與生成器和引擎關(guān)聯(lián),以在構(gòu)建和推理階段捕獲錯(cuò)誤、警告和其他信息。
將預(yù)訓(xùn)練圖像分割 PyTorch 模型轉(zhuǎn)換為 ONNX
從 NGC 注冊(cè)表中的 PyTorch 集裝箱 開(kāi)始,預(yù)先安裝框架和 CUDA 組件,準(zhǔn)備就緒。成功安裝 PyTorch 容器后,運(yùn)行以下命令下載運(yùn)行此示例應(yīng)用程序所需的所有內(nèi)容(示例代碼、測(cè)試輸入數(shù)據(jù)和引用輸出)、更新依賴(lài)項(xiàng),并使用提供的 makefile 編譯應(yīng)用程序。
接下來(lái),準(zhǔn)備輸入數(shù)據(jù)以進(jìn)行推斷。從 Kaggle 目錄下載所有圖像。將文件名中沒(méi)有_ mask 的任何三個(gè)映像復(fù)制到/ unet 目錄,然后實(shí)用工具。 py 來(lái)自 腦分割 -PyTorch 存儲(chǔ)庫(kù)的文件。準(zhǔn)備三張圖片作為后面文章的輸入數(shù)據(jù)。準(zhǔn)備輸入“ 0 ”。 pb 和輸出_ 0 。 pb 文件供以后使用,請(qǐng)運(yùn)行以下代碼示例:
就這樣,輸入數(shù)據(jù)就可以進(jìn)行推斷了。從應(yīng)用程序的簡(jiǎn)化版本 simpleONNX _ 1 。 cpp 開(kāi)始并在此基礎(chǔ)上進(jìn)行構(gòu)建。后續(xù)版本可在同一文件夾 simpleonx _ 2 。 cpp 和 simpleonx 。 cpp 。
將 ONNX 模型導(dǎo)入到 TensorRT ,生成引擎并進(jìn)行推理
使用經(jīng)過(guò)訓(xùn)練的模型和作為輸入傳遞的輸入數(shù)據(jù)運(yùn)行示例應(yīng)用程序。數(shù)據(jù)以 ONNX 協(xié)議文件的形式提供。示例應(yīng)用程序?qū)?TensorRT 生成的輸出與同一文件夾中可用的 ONNX 。 pb 文件的參考值進(jìn)行比較,并在提示符上總結(jié)結(jié)果。
導(dǎo)入 UNet ONNX 模型并生成引擎可能需要幾秒鐘的時(shí)間。它還生成便攜式灰度圖( PGM )格式的輸出圖像,如下所示:輸出。 pgm .
就這樣,你有一個(gè)用 TensorRT 優(yōu)化并運(yùn)行在你的 GPU 上的應(yīng)用程序。圖 2 顯示了一個(gè)示例測(cè)試用例的輸出。
圖 2 :使用 TensorRT 對(duì)大腦 MRI 圖像進(jìn)行推斷。
下面是前面示例應(yīng)用程序中使用的幾個(gè)關(guān)鍵代碼示例。
下面代碼示例中的 main 函數(shù)首先聲明一個(gè) CUDA 引擎來(lái)保存網(wǎng)絡(luò)定義和經(jīng)過(guò)訓(xùn)練的參數(shù)。引擎是在 createCudaEngine 函數(shù)中生成的,該函數(shù)將指向 ONNX 模型的路徑作為輸入。
函數(shù)解析 ONNX 模型并將其保存在 createCudaEngine 對(duì)象中。要處理 U-Net 模型的輸入圖像和形狀張量的動(dòng)態(tài)輸入尺寸,必須從 建設(shè)者 類(lèi)創(chuàng)建一個(gè)優(yōu)化配置文件,如下面的代碼示例所示。
優(yōu)化配置文件 允許您設(shè)置外形的最佳輸入、最小和最大尺寸。構(gòu)建器選擇一個(gè)內(nèi)核,該內(nèi)核將導(dǎo)致輸入張量維度的最低運(yùn)行時(shí)間,并且對(duì)于最小和最大維度之間范圍內(nèi)的所有輸入張量維度都有效。它還將網(wǎng)絡(luò)對(duì)象轉(zhuǎn)換為 TensorRT 引擎。
下面代碼示例中的 setMaxBatchSize 函數(shù)用于指定 TensorRT 引擎預(yù)期的最大批處理大小。 setMaxWorkspaceSize 函數(shù)允許您在引擎構(gòu)建階段增加 GPU 內(nèi)存占用。
此應(yīng)用程序在下面的代碼示例所示的函數(shù) launchInference 中異步地向 GPU 發(fā)送推理請(qǐng)求。輸入從主機(jī)( CPU )復(fù)制到 launchInference 內(nèi)的設(shè)備( GPU ),然后使用 enqueue 函數(shù)執(zhí)行推理,結(jié)果異步復(fù)制回來(lái)。
CUDA 使用異步流 GPU 管理流。異步推理執(zhí)行通常通過(guò)重疊計(jì)算來(lái)提高性能,因?yàn)樗畲蠡?GPU 的利用率。 enqueue 函數(shù)將推理請(qǐng)求放在 CUDA 流上,并將批大小、指向輸入和輸出的指針以及用于內(nèi)核執(zhí)行的 CUDA 流作為輸入。使用 cudaMemcpyAsync 從主機(jī)到設(shè)備執(zhí)行異步數(shù)據(jù)傳輸,反之亦然。
在調(diào)用 launchInference 之后使用 cudaStreamSynchronize 函數(shù)可以確保在訪問(wèn)結(jié)果之前完成 GPU 計(jì)算??梢允褂?ICUDA 發(fā)動(dòng)機(jī) 類(lèi)中的函數(shù)查詢(xún)輸入和輸出的數(shù)量以及每個(gè)輸入和輸出的值和維數(shù)。示例最后將參考輸出與 TensorRT 生成的推論進(jìn)行比較,并將差異打印到提示。
批量輸入
此應(yīng)用程序示例期望單個(gè)輸入,并在對(duì)其執(zhí)行推理后返回輸出。實(shí)際應(yīng)用通常是批量輸入,以獲得更高的性能和效率。一批形狀和大小相同的輸入可以在神經(jīng)網(wǎng)絡(luò)的不同層上并行計(jì)算。
較大的批處理通常能夠更有效地使用 GPU 資源。例如,在 Volta 和 TuringGPUs 上,使用 32 倍倍數(shù)的批處理大小可能特別快速有效,因?yàn)?TensorRT 可以使用特殊的核來(lái)進(jìn)行矩陣乘法和充分利用張量核的全連接層。
使用以下代碼在命令行上將圖像傳遞給應(yīng)用程序。在本例中,作為輸入?yún)?shù)在命令行上傳遞的圖像(。 pb 文件)的數(shù)量決定了批處理的大小。使用 test _ data _ set _ x 從所有目錄獲取所有輸入的_ 0 。 pb 文件。下面的命令不是只讀取一個(gè)輸入,而是讀取文件夾中所有可用的輸入。
目前,下載的數(shù)據(jù)有三個(gè)輸入目錄,因此批處理大小為 3 。此版本的示例分析應(yīng)用程序并將結(jié)果打印到提示符。有關(guān)更多信息,請(qǐng)參閱下一節(jié),概要介紹應(yīng)用程序。
接下來(lái),使用 setMaxBatchSize 函數(shù)指定 TensorRT 引擎預(yù)期的最大批處理大小。然后,構(gòu)建器通過(guò)選擇在目標(biāo)平臺(tái)上最大化其性能的算法來(lái)生成一個(gè)針對(duì)該批處理大小進(jìn)行調(diào)整的引擎。雖然引擎不接受較大的批處理大小,但允許在運(yùn)行時(shí)使用較小的批處理大小。
最大 值的選擇取決于應(yīng)用程序以及任何給定時(shí)間的預(yù)期推理流量(例如,圖像的數(shù)量)。一個(gè)常見(jiàn)的做法是構(gòu)建多個(gè)針對(duì)不同批量大小優(yōu)化的引擎(使用不同的 最大 值),然后在運(yùn)行時(shí)選擇最優(yōu)化的引擎。
未指定時(shí),默認(rèn)批處理大小為 1 ,這意味著引擎不處理大于 1 的批大小。按以下代碼示例所示設(shè)置此參數(shù):
分析應(yīng)用程序
現(xiàn)在您已經(jīng)看到了一個(gè)示例,下面是如何度量它的性能。網(wǎng)絡(luò)推理最簡(jiǎn)單的性能度量是輸入到網(wǎng)絡(luò)和輸出返回之間經(jīng)過(guò)的時(shí)間,稱(chēng)為 延遲。
對(duì)于嵌入式平臺(tái)上的許多應(yīng)用程序,延遲是至關(guān)重要的,而消費(fèi)者應(yīng)用程序需要服務(wù)質(zhì)量。較低的延遲使這些應(yīng)用程序更好。此示例使用 GPU 上的時(shí)間戳測(cè)量應(yīng)用程序的平均延遲。在 CUDA 中有很多方法可以評(píng)測(cè)您的應(yīng)用程序。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) 如何在 CUDA C / C ++中實(shí)現(xiàn)性能度量 。
CUDA 為 創(chuàng)造 、 破壞 和 記錄 事件提供輕量級(jí)事件 API 函數(shù),并計(jì)算它們之間的時(shí)間。應(yīng)用程序可以在 CUDA 流中記錄事件,一個(gè)在啟動(dòng)推理之前,另一個(gè)在推理完成后,如下面的代碼示例所示。
在某些情況下, MIG ht 關(guān)心在推理開(kāi)始之前和推理完成之后在 GPU 和 CPU 之間傳輸數(shù)據(jù)所需的時(shí)間。有一些技術(shù)可以將數(shù)據(jù)預(yù)取到 GPU 中,也可以將計(jì)算與數(shù)據(jù)傳輸重疊,從而顯著地隱藏?cái)?shù)據(jù)傳輸開(kāi)銷(xiāo)。函數(shù) cudaEventElapsedTime 測(cè)量在 CUDA 流中遇到這兩個(gè)事件之間的時(shí)間。
使用上一節(jié)開(kāi)頭的代碼示例運(yùn)行此示例并查看分析輸出。要評(píng)測(cè)應(yīng)用程序,請(qǐng)將推理啟動(dòng)包裝在 simpleONNX _ 2 。 cpp 中的函數(shù) doInference 中。這個(gè)例子包括一個(gè)更新的函數(shù)調(diào)用。
許多應(yīng)用程序?qū)槊摍C(jī)處理而積累和批處理的大量輸入數(shù)據(jù)執(zhí)行推斷。每秒可能的最大推斷數(shù)被稱(chēng)為 吞吐量 ,是這些應(yīng)用程序的一個(gè)有價(jià)值的指標(biāo)。
您可以通過(guò)為更大的特定批處理大小生成優(yōu)化的引擎來(lái)測(cè)量吞吐量,運(yùn)行推斷,并測(cè)量每秒可處理的批處理數(shù)。使用每秒的批數(shù)和批大小來(lái)計(jì)算每秒的推斷數(shù),但這超出了本文的范圍。
優(yōu)化應(yīng)用程序
現(xiàn)在,您已經(jīng)知道如何批量運(yùn)行推理并分析應(yīng)用程序,請(qǐng)對(duì)其進(jìn)行優(yōu)化。 TensorRT 的關(guān)鍵優(yōu)勢(shì)在于其靈活性和技術(shù)的使用,包括混合精度、在所有 GPU 平臺(tái)上的高效優(yōu)化,以及跨多種模型類(lèi)型進(jìn)行優(yōu)化的能力。
在本節(jié)中,我們將介紹一些提高吞吐量和減少應(yīng)用程序延遲的技術(shù)。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) TensorRT 性能最佳實(shí)踐 。
以下是一些常見(jiàn)的技巧:
使用混合精度計(jì)算
更改工作區(qū)大小
重新使用 TensorRT 引擎
使用混合精度計(jì)算
TensorRT 默認(rèn)情況下使用 FP32 算法進(jìn)行推理,以獲得最高的推理精度。但是,在許多情況下,可以使用 FP16 和 INT8 精度進(jìn)行推理,對(duì)結(jié)果的準(zhǔn)確性影響最小。
使用降低的精度來(lái)表示模型可以使您在內(nèi)存中適合更大的模型,并在降低精度的數(shù)據(jù)傳輸要求較低的情況下實(shí)現(xiàn)更高的性能。您還可以將 FP32 和 FP16 精度中的計(jì)算與 TensorRT 混合使用,稱(chēng)為混合精度,或者對(duì)權(quán)重、激活和執(zhí)行層使用 INT8 量化精度。
對(duì)于支持快速 FP16 數(shù)學(xué)的設(shè)備,通過(guò)將 setFp16Mode 參數(shù)設(shè)置為 true 來(lái)啟用 FP16 內(nèi)核。
setFp16Mode 參數(shù)向構(gòu)建器表明,較低的計(jì)算精度是可以接受的。 TensorRT 如果 FP16 優(yōu)化內(nèi)核在所選配置和目標(biāo)平臺(tái)上表現(xiàn)更好,則使用它們。
啟用此模式后,可以在 FP16 或 FP32 中指定權(quán)重,并自動(dòng)轉(zhuǎn)換為計(jì)算所需的適當(dāng)精度。您還可以靈活地為輸入和輸出張量指定 16 位浮點(diǎn)數(shù)據(jù)類(lèi)型,這超出了本文的范圍。
更改工作區(qū)大小
TensorRT 允許您在引擎構(gòu)建階段使用 setMaxWorkspaceSize 函數(shù)增加 GPU 內(nèi)存占用。增加限制可能會(huì)影響同時(shí)共享 GPU 的應(yīng)用程序的數(shù)量。將此限制設(shè)置得太低可能會(huì)過(guò)濾掉一些算法并創(chuàng)建一個(gè)次優(yōu)引擎。 TensorRT 只分配所需的內(nèi)存,即使在 IBuilder::setMaxWorkspaceSize 中設(shè)置的內(nèi)存量要高得多。因此,應(yīng)用程序應(yīng)該允許 TensorRT 生成器盡可能多的工作空間。 TensorRT 分配不超過(guò)這個(gè)值,通常更少。
這個(gè)例子使用 1GB ,這讓 TensorRT 選擇任何可用的算法。
重新使用 TensorRT 引擎
構(gòu)建引擎時(shí), builder 對(duì)象為所選平臺(tái)和配置選擇最優(yōu)化的內(nèi)核。從網(wǎng)絡(luò)定義文件構(gòu)建引擎可能非常耗時(shí),并且不應(yīng)在每次執(zhí)行推斷時(shí)重復(fù),除非模型、平臺(tái)或配置發(fā)生更改。
圖 3 顯示,您可以在生成后轉(zhuǎn)換引擎的格式,并將其存儲(chǔ)在磁盤(pán)上以供以后重用,稱(chēng)為 序列化引擎 。反序列化發(fā)生在將引擎從磁盤(pán)加載到內(nèi)存中并繼續(xù)使用它進(jìn)行推理時(shí)。
圖 3 。序列化和反序列化 TensorRT 引擎。
運(yùn)行時(shí)對(duì)象反序列化引擎。
而不是每次都創(chuàng)建引擎, simpleonx 。 cpp 包含 getCudaEngine 函數(shù)來(lái)加載并使用引擎(如果存在)。如果引擎不可用,它將創(chuàng)建引擎并將其保存在當(dāng)前目錄中,名稱(chēng)為 unet _ batch4 。 engine 。在這個(gè)例子嘗試構(gòu)建一個(gè)新引擎之前,如果當(dāng)前目錄中有這個(gè)引擎,它會(huì)選擇它。
要強(qiáng)制使用更新的配置和參數(shù)構(gòu)建新引擎,請(qǐng)?jiān)谥匦逻\(yùn)行代碼示例之前,使用 makeclean _ engines 命令刪除存儲(chǔ)在磁盤(pán)上的所有現(xiàn)有序列化引擎。
將此保存的引擎用于不同的批處理大小。下面的代碼示例獲取輸入數(shù)據(jù),與批處理大小變量重復(fù)相同的次數(shù),然后將附加的輸入傳遞給示例。第一次運(yùn)行創(chuàng)建引擎,第二次運(yùn)行嘗試反序列化引擎。
現(xiàn)在您已經(jīng)了解了如何使用 TensorRT 加快簡(jiǎn)單應(yīng)用程序的推理速度。我們用 TensorRT 7 測(cè)量了 NVIDIA Titan VGPUs 的早期性能。
下一步行動(dòng)
真實(shí)世界的應(yīng)用程序有更高的計(jì)算需求,更大的深度學(xué)習(xí)模型,更多的數(shù)據(jù)處理需求,以及更嚴(yán)格的延遲限制。 TensorRT 為計(jì)算量大的深度學(xué)習(xí)應(yīng)用程序提供了高性能的優(yōu)化,是一個(gè)非常寶貴的推理工具。
希望這篇文章讓您熟悉了使用 TensorRT 獲得驚人性能所需的關(guān)鍵概念。這里有一些想法可以應(yīng)用您所學(xué)的,使用其他模型,并通過(guò)更改本文中介紹的參數(shù)來(lái)探索設(shè)計(jì)和性能權(quán)衡的影響。
TensorRT 支持矩陣 為 TensorRT api 、解析器和層提供了受支持的特性和軟件。這個(gè)例子使用 C ++, TensorRT 同時(shí)提供 C ++和 Python API 。若要運(yùn)行此帖子中包含的示例應(yīng)用程序,請(qǐng)參見(jiàn) TensorRT 開(kāi)發(fā)者指南 中的 API 和 Python 和 C ++代碼示例。
使用參數(shù) setFp16Mode 將模型的允許精度更改為 true / false ,并分析應(yīng)用程序以查看性能差異。
更改運(yùn)行時(shí)用于推斷的批處理大小,并查看這如何影響模型和數(shù)據(jù)集的性能(延遲、吞吐量)。
將 最大值 參數(shù)從 64 改為 4 ,可以看到在前五個(gè)內(nèi)核中選擇了不同的內(nèi)核。使用 Nprof 公司 查看分析結(jié)果中的內(nèi)核。
本文未涉及的一個(gè)主題是在 TensorRT 中以 INT8 精度精確地執(zhí)行推理。 TensorRT 自動(dòng)轉(zhuǎn)換 FP32 網(wǎng)絡(luò)以進(jìn)行部署,同時(shí)降低精度損失。為了實(shí)現(xiàn)這一目標(biāo), TensorRT 使用了一種校準(zhǔn)過(guò)程,在用有限的 8 位整數(shù)表示來(lái)近似 FP32 網(wǎng)絡(luò)時(shí),可以將信息損失最小化。有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn) 基于 TensorRT 3 的自主車(chē)輛快速 INT8 推理 。
有許多資源可以幫助您加速圖像/視頻、語(yǔ)音應(yīng)用程序和推薦系統(tǒng)的應(yīng)用程序。這些工具從代碼示例、自行掌握進(jìn)度的深度學(xué)習(xí)機(jī)構(gòu)實(shí)驗(yàn)室和教程到用于分析和調(diào)試應(yīng)用程序的開(kāi)發(fā)工具。
TensorRT 簡(jiǎn)介 (網(wǎng)絡(luò)研討會(huì))
TensorRT 最佳實(shí)踐指南
TensorRT 4 概述
TensorRT 4 的神經(jīng)機(jī)器翻譯
使用 TensorRT 進(jìn)行 8 位推理
使用 TensorRT 優(yōu)化` NMT
關(guān)于作者
About Houman Abbasian是 NVIDIA 的高級(jí)深度學(xué)習(xí)軟件工程師。他一直致力于開(kāi)發(fā)和生產(chǎn) NVIDIA 在自動(dòng)駕駛車(chē)輛中的深度學(xué)習(xí)解決方案,提高 DNN 的推理速度、精度和功耗,并實(shí)施和試驗(yàn)改進(jìn) NVIDIA 汽車(chē) DNN 的新思想。他在渥太華大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位,專(zhuān)注于機(jī)器學(xué)習(xí)
About Josh Park是 NVIDIA 的汽車(chē)解決方案架構(gòu)師經(jīng)理。到目前為止,他一直在研究使用 DL 框架的深度學(xué)習(xí)解決方案,例如在 multi-GPUs /多節(jié)點(diǎn)服務(wù)器和嵌入式系統(tǒng)上的 TensorFlow 。此外,他一直在評(píng)估和改進(jìn)各種 GPUs + x86 _ 64 / aarch64 的訓(xùn)練和推理性能。他在韓國(guó)大學(xué)獲得理學(xué)學(xué)士和碩士學(xué)位,并在德克薩斯農(nóng)工大學(xué)獲得計(jì)算機(jī)科學(xué)博士學(xué)位
About Siddharth Sharma是NVIDIA 加速計(jì)算的高級(jí)技術(shù)營(yíng)銷(xiāo)經(jīng)理。在加入NVIDIA 之前, Siddharth 是 Mathworks Simulink 和 Stateflow 的產(chǎn)品營(yíng)銷(xiāo)經(jīng)理,與汽車(chē)和航空航天公司密切合作,采用基于模型的設(shè)計(jì)來(lái)創(chuàng)建控制軟件。
About Sirisha Rella 是 NVIDIA 的技術(shù)產(chǎn)品營(yíng)銷(xiāo)經(jīng)理,專(zhuān)注于計(jì)算機(jī)視覺(jué)、語(yǔ)音和基于語(yǔ)言的深度學(xué)習(xí)應(yīng)用。 Sirisha 獲得了密蘇里大學(xué)堪薩斯城分校的計(jì)算機(jī)科學(xué)碩士學(xué)位,是國(guó)家科學(xué)基金會(huì)大學(xué)習(xí)中心的研究生助理。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5079瀏覽量
103803 -
gpu
+關(guān)注
關(guān)注
28文章
4785瀏覽量
129402
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
FPGA在深度學(xué)習(xí)應(yīng)用中或?qū)⑷〈?b class='flag-5'>GPU
Mali GPU支持tensorflow或者caffe等深度學(xué)習(xí)模型嗎
部署基于嵌入的機(jī)器學(xué)習(xí)模型
什么是深度學(xué)習(xí)?使用FPGA進(jìn)行深度學(xué)習(xí)的好處?
如何在Raspberry Pi 3上構(gòu)建機(jī)器學(xué)習(xí)應(yīng)用程序
![如<b class='flag-5'>何在</b>Raspberry Pi 3<b class='flag-5'>上</b>構(gòu)建機(jī)器<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>應(yīng)用程序</b>](https://file.elecfans.com/web1/M00/82/76/o4YBAFw-mreAYeowAACiyQk8T3k746.jpg)
基于TensorRT完成NanoDet模型部署
![基于<b class='flag-5'>TensorRT</b>完成NanoDet模型<b class='flag-5'>部署</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
如何使用框架訓(xùn)練網(wǎng)絡(luò)加速深度學(xué)習(xí)推理
![如何使用框架訓(xùn)練網(wǎng)絡(luò)加速<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>推理](https://file.elecfans.com//web2/M00/3A/FA/pYYBAGJGrYaAOHdwAADOhwG6fXc468.png)
使用NVIDIA TensorRT部署實(shí)時(shí)深度學(xué)習(xí)應(yīng)用程序
![使用NVIDIA <b class='flag-5'>TensorRT</b><b class='flag-5'>部署</b>實(shí)時(shí)<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>應(yīng)用程序</b>](https://file.elecfans.com/web2/M00/3D/B6/poYBAGJdBUiAZr_CAAAewB95u0c853.png)
如何使用NVIDIA Docker部署GPU服務(wù)器應(yīng)用程序
![如何使用NVIDIA Docker<b class='flag-5'>部署</b><b class='flag-5'>GPU</b>服務(wù)器<b class='flag-5'>應(yīng)用程序</b>](https://file.elecfans.com/web2/M00/3F/9C/pYYBAGJo68uAJakAAACQGNHLPvs259.png)
深度學(xué)習(xí)模型轉(zhuǎn)成TensorRT引擎的流程
何時(shí)使用機(jī)器學(xué)習(xí)或深度學(xué)習(xí)
學(xué)習(xí)資源 | NVIDIA TensorRT 全新教程上線
![<b class='flag-5'>學(xué)習(xí)</b>資源 | NVIDIA <b class='flag-5'>TensorRT</b> 全新教程上線](https://file1.elecfans.com//web2/M00/A0/C7/wKgaomToPMCACEEQAABDYMZ-TIM441.gif)
GPU在深度學(xué)習(xí)中的應(yīng)用與優(yōu)勢(shì)
![<b class='flag-5'>GPU</b>在<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>中的應(yīng)用與優(yōu)勢(shì)](https://file.elecfans.com/web2/M00/4E/DC/poYBAGLCjeiALm_WAAAYmfR7Qec474.png)
評(píng)論