diff --git a/docs/zh_cn/tutorial/07_write_a_plugin.md b/docs/zh_cn/tutorial/07_write_a_plugin.md index 47835a1302..91b7659f23 100644 --- a/docs/zh_cn/tutorial/07_write_a_plugin.md +++ b/docs/zh_cn/tutorial/07_write_a_plugin.md @@ -182,7 +182,9 @@ with torch.no_grad(): 执行上述脚本,我们导出成功了一个ONNX模型 `srcnn.onnx`。用[netron](https://netron.app/)打开这个模型可视化如下: -![](../../../resources/tutorial/srcnn.svg) +
+ +
直接将该模型转换成TensorRT模型也是不可行的,这是因为TensorRT还无法解析 `DynamicTRTResize` 节点。而想要解析该节点,我们必须为TensorRT添加c++代码,实现该插件。 @@ -274,7 +276,9 @@ class DynamicTRTResizeCreator : public TRTPluginCreatorBase { 在这样一份头文件中,DynamicTRTResize类进行了如下的套娃继承: -![](../../../resources/tutorial/IPluginV2DynamicExt.svg) +
+ +
从上面的图片和代码中我们发现,插件类`DynamicTRTResize`中我们定义了私有变量`mAlignCorners`,该变量表示是否`align corners`。此外只要实现构造析构函数和TensoRT中三个基类的方法即可。其中构造函数有二,分别用于创建插件和反序列化插件。而基类方法中: diff --git a/resources/tutorial/IPluginV2DynamicExt.svg b/resources/tutorial/IPluginV2DynamicExt.svg deleted file mode 100644 index f3c2ae8234..0000000000 --- a/resources/tutorial/IPluginV2DynamicExt.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
nvinfer1::IPluginV2
nvinfer1::IPluginV2
nvinfer1::IPluginV2Ext
nvinfer1::IPluginV2Ext
nvinfer1::IPluginV2DynamicExt
nvinfer1::IPluginV2DynamicExt
TRTPluginBase
TRTPluginBase
DynamicTRTResize
DynamicTRTResize
TensorRT
TensorRT
MMDeploy
MMDeploy
Text is not SVG - cannot display
diff --git a/resources/tutorial/srcnn.svg b/resources/tutorial/srcnn.svg deleted file mode 100644 index ea35d01d8c..0000000000 --- a/resources/tutorial/srcnn.svg +++ /dev/null @@ -1 +0,0 @@ -inputfloat32[batch,3,height,width]factorfloat32[batch,1,height,width]DynamicTRTResizeDynamicTRTResize_0ConvConv_1float32[64,3,9,9]W〈64×3×9×9〉float32[64]B〈64〉ReluRelu_2ConvConv_3float32[32,64,1,1]W〈32×64×1×1〉float32[32]B〈32〉ReluRelu_4ConvConv_5float32[3,32,5,5]W〈3×32×5×5〉float32[3]B〈3〉outputfloat32[batch,3,height,width]