TensorRT IRNNv2Layer
TensorRT IRNNv2Layer
IRNNv2Layer層實現遞迴層,如遞迴神經網路(RNN)、門控遞迴單元(GRU)和長短期記憶(LSTM)。支援的型別有RNN、GRU和LSTM。它執行一個遞迴操作,其中操作由幾個著名的遞迴神經網路(RNN)“單元”之一定義。
圖層說明
該層接受輸入序列X,初始隱藏狀態H0,如果該單元是長短期儲存器(LSTM)單元,則為初始單元狀態C0,併產生一個輸出Y,該輸出Y表示跨T個時間步計算的最終RNN“子層”的輸出(見下文)。可選地,該層還可以產生表示最終隱藏狀態的輸出hT,並且,如果單元是LSTM單元,則輸出cT表示最終單元狀態。
將單元的操作定義為函式G(x,h,c)。此函式接受向量輸入x、h和c,併產生最多兩個向量輸出h’和c’,表示執行單元操作後的隱藏狀態和單元狀態。
在預設(單向)配置中,RNNv2層應用如下圖所示的Gas:
another layer are dropped.
network->markOutput(*pred->getOutput(1));
pred->getOutput(1)->setType(DataType::kINT32);
rnn->getOutput(1)->setName(HIDDEN_OUT_BLOB_NAME);
network->markOutput(*rnn->getOutput(1));
if
(rnn->getOperation() == RNNOperation::kLSTM)
{
rnn->getOutput(2)->setName(CELL_OUT_BLOB_NAME);
network->markOutput(*rnn->getOutput(2));
};
See the C++ class IRNNv2Layer or the Python
class IRNNv2Layer for further details.
- RNNv2 Layer Setup
網路的第一層是RNN層。這是在addRNNv2Layer()函式中新增和配置的。該層由以下配置引數組成。
操作
這定義了RNN單元的操作。支援的操作目前有relu、LSTM、GRU和tanh。
方向
這定義了RNN是單向的還是雙向的(BiRNN)。
輸入模式
這定義了RNN的第一層是執行矩陣乘法(線性模式),還是跳過矩陣乘法(跳過模式)。
例如,在sampleCharRNN中使用的網路中,我們使用了一個線性的、單向的LSTM單元,其中包含層數為層數的層數。下面的程式碼顯示瞭如何建立這個RNNv2層。
auto rnn =network->addRNNv2(*data, LAYER_COUNT, HIDDEN_SIZE, SEQ_SIZE, RNNOperation::kLSTM);
注:對於RNNv2層,需要單獨設定權重和偏差。有關詳細資訊,請參見RNNv2層-可選輸入。
有關更多資訊,請參閱TensorRT API文件。
- RNNv2 Layer - Optional Inputs
如果存在需要將hidden和cell狀態預初始化為非零值的情況,那麼可以通過setHiddenState和setCellState呼叫對它們進行預初始化。這些是RNN的可選輸入。
C++ code snippet
rnn->setHiddenState(*hiddenIn);
if(rnn->getOperation() == RNNOperation::kLSTM)
rnn->setCellState(*cellIn);
Python code snippet
rnn.hidden_state =hidden_in
if rnn.op ==trt.RNNOperation.LSTM:
rnn.cell_state =cell_in
相關文章
- TensorRT 開始
- pytorch 轉 tensorRT 踩的幾個小坑_tensorrt engine set up failedPyTorchAI
- TensorRT基礎筆記筆記
- TensorRT c++部署onnx模型C++模型
- 實現TensorRT-7.0外掛自由!(如果不踩坑使用TensorRT外掛功能)
- 用於ONNX的TensorRT後端後端
- Ubuntu18.04安裝tensorRT部署模型Ubuntu模型
- 【實戰】yolov8 tensorrt模型加速部署YOLO模型
- c# onnx模型部署:TensorRT、OpenVino、ONNXRuntime、OpenCV dnnC#模型OpenCVDNN
- LLM 推理 - Nvidia TensorRT-LLM 與 Triton Inference ServerServer
- 使用TensorRT部署你的神經網路(1)神經網路
- 【jetson nano】yolov5環境配置tensorrt部署加速NaNYOLO
- TensorRT 筆記 - 在 Conda 虛擬環境中安裝筆記
- Windows10下yolov8 tensorrt模型加速部署【實戰】WindowsYOLO模型
- Win10下yolov8 tensorrt模型加速部署【實戰】Win10YOLO模型
- JetsonNano2GB編譯Yolov5並用TensorRT加速教程NaN編譯YOLO
- 使用tensorrt對ram++模型進行fp16精度加速指導模型
- 用TensorRT針對AArch64使用者的交叉編譯示例編譯
- 人臉口罩檢測(含執行程式碼+資料集)Pytorch+TensorRT+Xavier NX行程PyTorch
- 主機回來以及,簡單的環境配置(RTX3070+CUDA11.1+CUDNN+TensorRT)DNN
- 【Windows 開發環境配置——NVIDIA 篇】CUDA、cuDNN、TensorRT 三件套安裝Windows開發環境DNN
- windows上用vs2017靜態編譯onnxruntime-gpu CUDA cuDNN TensorRT的坎坷之路Windows編譯GPUDNN
- 乾貨 | YOLOV5 訓練自動駕駛資料集,並轉成tensorrt【左側有碼】YOLO自動駕駛
- C++ yolov5 jetson NX盒子部署安全帽檢測 TensorRT, 支援INT8/FP16C++YOLO
- 【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,實現YOLOv5實時物體識別YOLOView
- 賈揚清點贊:3K star量的SGLang上新,加速Llama 405B推理秒殺vLLM、TensorRT-LLM
- 【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,實現YOLOv5實時物體識別(含原始碼)YOLOView原始碼
- Win11本地部署FaceFusion3最強AI換臉,整合Tensorrt10.4推理加速,讓甜品顯示卡也能發揮生產力AI