forked from HaohaoNJU/CenterPoint
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CenterPointTRT.doc
490 lines (486 loc) · 121 KB
/
CenterPointTRT.doc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
MIME-version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0076_01C29953.BE473C30";
type="text/html"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
This is a multi-part message in MIME format.
------=_NextPart_000_0076_01C29953.BE473C30
Content-Type: text/html;
Content-Transfer-Encoding: quoted-printable
Content-Location: file:///private/var/folders/06/cypv01f95jb01ygqbsnd341h0000gn/T/com.kingsoft.wpsoffice.mac/wps-imac/~tmp{60f03466-90a8-4b1c-bf84-415b77442c2c}140487815364048.TMP.html
<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" xmlns=3D"http://www.w3.org/TR/REC-html40"><head><meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8" ><meta name=3DProgId content=3DWord.Document ><meta name=3DGenerator content=3D"Microsoft Word 14" ><meta name=3DOriginator content=3D"Microsoft Word 14" ><title></title><!--[if gte mso 9]><xml><w:WordDocument><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery><w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery><w:DocumentKind>DocumentNotSpecified</w:DocumentKind><w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing><w:View>Print</w:View><w:Compatibility><w:UseFELayout/></w:Compatibility><w:Zoom>0</w:Zoom></w:WordDocument></xml><![endif]--><!--[if gte mso 9]><xml><w:LatentStyles DefLockedState=3D"false" DefUnhideWhenUsed=3D"true" DefSemiHidden=3D"true" DefQFormat=3D"false" DefPriority=3D"99" LatentStyleCount=3D"260" >=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Normal" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 7" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 8" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"heading 9" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 7" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 8" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index 9" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 7" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 8" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toc 9" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Normal Indent" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"footnote text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"annotation text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"header" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"footer" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"index heading" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"caption" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"table of figures" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"envelope address" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"envelope return" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"footnote reference" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"annotation reference" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"line number" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"page number" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"endnote reference" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"endnote text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"table of authorities" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"macro" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"toa heading" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Bullet" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Number" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Bullet 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Bullet 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Bullet 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Bullet 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Number 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Number 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Number 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Number 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Title" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Closing" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Signature" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Default Paragraph Font" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text Indent" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Continue" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Continue 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Continue 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Continue 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"List Continue 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Message Header" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Subtitle" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Salutation" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Date" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text First Indent" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text First Indent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Note Heading" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text Indent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Body Text Indent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Block Text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Hyperlink" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"FollowedHyperlink" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Strong" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" QFormat=3D"true" Name=3D"Emphasis" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Document Map" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Plain Text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"E-mail Signature" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Normal (Web)" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Acronym" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Address" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Cite" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Code" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Definition" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Keyboard" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Preformatted" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Sample" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Typewriter" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"HTML Variable" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Normal Table" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"annotation subject" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"No List" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Simple 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Simple 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Simple 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Classic 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Classic 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Classic 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Classic 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Colorful 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Colorful 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Colorful 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Columns 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Columns 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Columns 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Columns 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Columns 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 7" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid 8" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 7" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table List 8" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table 3D effects 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table 3D effects 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table 3D effects 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Contemporary" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Elegant" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Professional" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Subtle 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Subtle 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Web 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Web 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Web 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"0" SemiHidden=3D"false" UnhideWhenUsed=3D"false" Name=3D"Balloon Text" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Grid" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Table Theme" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3 Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid Accent 1" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3 Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid Accent 2" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3 Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid Accent 3" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3 Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid Accent 4" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3 Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid Accent 5" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Shading Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light List Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Light Grid Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 1 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Shading 2 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 1 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium List 2 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 1 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 2 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Medium Grid 3 Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Dark List Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Shading Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful List Accent 6" ></w:LsdException>=20<w:LsdException Locked=3D"false" Priority=3D"99" SemiHidden=3D"false" Name=3D"Colorful Grid Accent 6" ></w:LsdException>=20</w:LatentStyles></xml><![endif]--><style>=20@font-face{=20font-family:"Times New Roman";=20}=20=20@font-face{=20font-family:"宋体";=20}=20=20@font-face{=20font-family:"DejaVu Sans";=20}=20=20@font-face{=20font-family:"Symbol";=20}=20=20@font-face{=20font-family:"Courier New";=20}=20=20@font-face{=20font-family:"Wingdings";=20}=20=20p.MsoNormal{=20mso-style-name:正文;=20mso-style-noshow:yes;=20mso-style-parent:"";=20margin-top:0.0000pt;=20margin-right:0.0000pt;=20margin-bottom:0.0000pt;=20margin-left:0.0000pt;=20text-align:left;=20font-family:宋体;=20font-size:12.0000pt;=20}=20=20h1{=20mso-style-name:"标题 1";=20mso-style-next:正文;=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-weight:bold;=20font-size:24.0000pt;=20mso-font-kerning:22.0000pt;=20}=20=20h2{=20mso-style-name:"标题 2";=20mso-style-next:正文;=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-weight:bold;=20font-size:18.0000pt;=20}=20=20h3{=20mso-style-name:"标题 3";=20mso-style-next:正文;=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-weight:bold;=20font-size:13.5000pt;=20}=20=20h4{=20mso-style-name:"标题 4";=20mso-style-next:正文;=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-weight:bold;=20font-size:12.0000pt;=20}=20=20h5{=20mso-style-name:"标题 5";=20mso-style-next:正文;=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-weight:bold;=20font-size:10.0000pt;=20}=20=20h6{=20mso-style-name:"标题 6";=20mso-style-next:正文;=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-weight:bold;=20font-size:7.5000pt;=20}=20=20span.10{=20font-family:'Times New Roman';=20}=20=20span.15{=20font-family:'Times New Roman';=20color:rgb(0,0,255);=20text-decoration:underline;=20text-underline:single;=20}=20=20span.16{=20font-family:'Times New Roman';=20}=20=20span.17{=20font-family:'Times New Roman';=20color:rgb(0,0,255);=20text-decoration:underline;=20text-underline:single;=20}=20=20span.18{=20font-family:'Times New Roman';=20font-style:italic;=20}=20=20span.19{=20font-family:'Times New Roman';=20font-weight:bold;=20}=20=20p.p{=20mso-style-name:"普通\(网站\)";=20margin-top:5.0000pt;=20margin-right:0.0000pt;=20margin-bottom:5.0000pt;=20margin-left:0.0000pt;=20mso-margin-top-alt:auto;=20mso-margin-bottom-alt:auto;=20text-align:left;=20font-family:宋体;=20font-size:12.0000pt;=20}=20=20p.pre{=20mso-style-name:"HTML 预设格式";=20margin-top:0.0000pt;=20margin-right:0.0000pt;=20margin-bottom:0.0000pt;=20margin-left:0.0000pt;=20text-align:left;=20font-family:宋体;=20font-size:12.0000pt;=20}=20=20span.msoIns{=20mso-style-type:export-only;=20mso-style-name:"";=20text-decoration:underline;=20text-underline:single;=20color:blue;=20}=20=20span.msoDel{=20mso-style-type:export-only;=20mso-style-name:"";=20text-decoration:line-through;=20color:red;=20}=20=20table.MsoNormalTable{=20mso-style-name:普通表格;=20mso-style-parent:"";=20mso-style-noshow:yes;=20mso-tstyle-rowband-size:0;=20mso-tstyle-colband-size:0;=20mso-padding-alt:0.0000pt 5.4000pt 0.0000pt 5.4000pt;=20mso-para-margin:0pt;=20mso-para-margin-bottom:.0001pt;=20mso-pagination:widow-orphan;=20font-family:'Times New Roman';=20font-size:10.0000pt;=20mso-ansi-language:#0400;=20mso-fareast-language:#0400;=20mso-bidi-language:#0400;=20}=20@page{mso-page-border-surround-header:no;=20 mso-page-border-surround-footer:no;}@page Section0{=20margin-top:72.0000pt;=20margin-bottom:72.0000pt;=20margin-left:72.0000pt;=20margin-right:72.0000pt;=20size:612.0000pt 792.0000pt;=20}=20div.Section0{page:Section0;}</style></head><body style=3D"tab-interval:21pt;" ><!--StartFragment--><div class=3D"Section0" ><h1 style=3D"mso-pagination:widow-orphan;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:24.0000pt;mso-font-kerning:22.0000pt;" >CenterPoint </span></b><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:24.0000pt;mso-font-kerning:22.0000pt;" >TRT 模型部署</span></b><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:24.0000pt;mso-font-kerning:22.0000pt;" ><o:p></o:p></span></b></h1><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><h2 style=3D"mso-pagination:widow-orphan;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >简介</font></span></b><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></h2><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TensorRT 是Nvidia开源的用来作深度学习模型优化加速的SDK, 支持主流的深度学习框架(TensorFlow, Pytorch, MXNet等). TensorRT主要用来优化已经训练好的神经网络模型, 以便在NVIDIA 硬件平台作推理(Inference)加速。TensorRT对于网络结构进行了重构和优化,主要体现在以下几个方面:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >第一是</font>tensorRT通过解析网络模型将网络中无用的输出层消除以减小计算。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >第二是对于网络结构的垂直整合,即将目前主流神经网络的</font>conv、BN、Relu三个层融合为了一个层。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >第三是对于网络的水平组合,水平组合是指将输入为相同张量和执行相同操作的层融合一起。</font></span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >第四是对于</font>concat层,将contact层的输入直接送入下面的操作中,不用单独进行concat后在输入计算,相当于减少了一次传输吞吐</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><br></span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TebsorRT 从框架导入训练模型的方式主要通过ONNX交换格式, TensorRT 附带一个ONNX解析器库以帮助导入模型,在可能的情况下,解析器向后兼容到opser7以上的版本.</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >由于目前的感知模型会部署在</font>RTX3080服务器上, 我们选择用TensorRT 作为模型加速SDK.</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><h2 style=3D"mso-pagination:widow-orphan;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" >TensorRT Workflow</span></b><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></h2><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TensorRT 所需的函数一般包含在头文件 NvInfer.h中,且一般在nvinfer1 namespace中。其界面classes 的命名一般以 I开头,如ILogger,IBuilder等。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TRT创建执行的流程如下:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" > 1. The Build Phase</span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >创建</font>builder之前,需要实例化一个ILogger 界面,用来捕捉我们感兴趣的信息。然后实例化一个builder</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > IBuilder* builder =3D createInferBuilder(logger);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" > </span></b><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;" ><font face=3D"宋体" >创建网络</font></span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >一旦</font>builder 创建完毕,第一步就是通过创建网络来优化模型</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > uint32_t flag =3D 1U <<static_cast<uint32_t>(NetworkDefinitionCreationFlag::kEXPLICIT_BATCH) </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > INetworkDefinition* network =3D builder->createNetworkV2(flag);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><i><span class=3D"18" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-style:italic;" > </span></i><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;" ><font face=3D"宋体" >通过</font></span></b><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" >ONNX parser</span></b><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;" ><font face=3D"宋体" >导入模型</font></span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >现在,需要从</font> ONNX文件填充网络。 ONNX 解析器 API 位于文件 NvOnnxParser.h 中,解析器位于 nvonnxparser 命名空间中。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > IParser* parser =3D createParser(*network, logger);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >然后使用解析器读取</font>ONNX文件并处理报错</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > parser->parseFromFile(modelFile, ILogger::Severity::kWARNING);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > for (int32_t i =3D 0; i < parser.getNbErrors(); ++i)</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > {</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > std::cout << parser->getError(i)->desc() << std::endl;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > }</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" >2. Building an Engine</span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >下一步是构建一个</font>config对象来指定TensorRT如何优化模型</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > IBuilderConfig* config =3D builder->createBuilderConfig();</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Config 界面可以设置诸多属性来控制TensorRT优化网络。一个重要的属性就是最大工作空间。Layer 执行通常需要临时工作空间来存储,这个参数可以限制最大内存。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >如果超越了这个最大尺寸,</font>TensorRT将无法执行这一层。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Config->setMaxWorkspaceSize(1U<<20);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >一旦配置文件被创建,就可以创建</font>engine</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > IHostMemory* serializedEngine =3D builder->buildSerializedNetwork(*network, *config);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >因为序列化</font>engine包含模型所有的配置和权重,parser, network, config , builder 都可以删除了:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Delete parser;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Delete network;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Delete config;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Delete builder;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >序列化</font>engine可以存储到磁盘以便下次使用。至此,build完毕。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" >3. Engine</span></b><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;" ><font face=3D"宋体" >反序列化</font></span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >现在我们有了序列化引擎,为了执行模型推理,我们需要首先创建一个</font>Runtime 界面。 跟builder一样,runtime需要一个logger实例:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > IRuntime* runtime =3D createInferRuntime(logger);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >然后进行反序列化</font>:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > ICudaEngine* engine =3D runtime->deserializeCudaEngine(modelData, modelSize);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" >4. </span></b><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;" ><font face=3D"宋体" >执行推理</font></span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > Engine持有优化的模型,但是为了执行推理,我们需要管理中间激活层的额外状态, 这通过 ExecutionContext 界面来实现:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > IExecutionContext *context =3D engine→createExecutionContext();</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >一个引擎可以有多个执行上下文,允许一组权重用于多个重叠的推理任务。</font> <font face=3D"宋体" >(例外是使用动态形状时,每个优化配置文件只能有一个执行上下文。)要执行推理,我们必须为输入和输出传递</font> TensorRT buffers,TensorRT 要求在指针数组中指定这些buffers。 我们可以使用为输入和输出张量提供的名称查询引擎,以找到数组中的正确位置:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > int32_t inputIndex =3D engine->getBindingIndex(INPUT_NAME);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > int32_t outputIndex =3D engine->getBindingIndex(OUTPUT_NAME);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > void* buffers[2];</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > buffers[inputIndex] =3D inputBuffer;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > buffers[outputIndex] =3D outputBuffer;</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >然后执行推理</font></span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > context->enqueueV2(buffers, stream, nullptr);</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > <font face=3D"宋体" >如果使用同步推理,可以使用</font>executeV2代替enqueueV2 </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><h2 style=3D"mso-pagination:widow-orphan;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >优化</font></span></b><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></h2><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >优化的目的主要是加快计算速度,尽可能减少</font>cpu计算量,最大程度上榨取GPU计算能力,同时减少cpu和gpu之间数据传递量和数据传递次数。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >1. </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >更改计算图,对于</font>pfe和rpn两个模块,github上有尝试使用onnxsim 做衔接,拼成一个onnx,但是这种方法依赖第三方库,不稳定,于是分成两个独立的模块分别做加速,中间衔接部分用cuda做加速,评测显示VoxelAssigning 部分用时只有0.4ms。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >2. </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >fp16和fp32 , pfe和rpn部分使用fp16做加速,评测显示指标上没有差别,推理速度却有显著提升。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3DMsoNormal style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;mso-para-margin-right:0.0000gd;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >3. </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >GPU做postprocess, TensorRT samples会在engine context输出之后立即将buffer从device (gpu)拷贝到host (cpu),但是由于rpn共有5个head,这会增加数据传输负荷,而且用cpu做后处理速度慢。优化策略是直接从buffer中读取device tensors, 用cuda api thrust 做张量操作(排序,索引),将保留的bbox通过cuda做nms。这样最终只将后处理保留的若干bbox拷贝到cpu,其数据量远小于buffer中的device 内存。这里有个小trick, 假设n个boxes,unsigned long long 类型 64 bits,其二进制编码刚好可以作为64维哈希向量, 可创建 N x (N/64)数据类型维unsigned long long 的矩阵作为mask(在数据存储上可理解为 N x N/64 x 64 的tensor,通过位运算赋值box_i与其他box之间的0或1),mask指示对应位置两个框是否高于阈值。其中N可以作为cuda gridDim, N/64作为cuda blockDim,可减小mask占用内存并提高计算速度。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3DMsoNormal style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;mso-para-margin-right:0.0000gd;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >4. </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >提前为</font>tensor分配GPU 内存和CPU内存,其中为了提升cpu与gpu之间的数据拷贝速度,cpu内存被分配为锁页内存</span><b><span class=3D"19" style=3D"mso-spacerun:'yes';font-family:'Times New Roman';font-weight:bold;" >(Page-locked</span></b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >),具体</span><span><a href=3D"https://zhuanlan.zhihu.com/p/188246455" ><u><span class=3D"17" style=3D"mso-spacerun:'yes';font-family:宋体;color:rgb(0,0,255);text-decoration:underline;text-underline:single;" ><font face=3D"宋体" >参考锁页内存的介绍</font></span></u></a></span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >。</font></span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3DMsoNormal style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;mso-para-margin-right:0.0000gd;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >5. </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TRT config, 异步拷贝和异步推理(实验发现没啥影响)</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><h2 style=3D"mso-pagination:widow-orphan;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >指标与速度评测</font></span></b><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:18.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></h2><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;margin-left:0.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >这里使用</font>waymo openset评估指标,评测车和人的mAP和mAPH(mAP of Heading), 评测样本使用validation里面所有的39987帧点云,包括200多个场景。固定score_threshold =3D 0.2, nms_threshold=3D0.7, 分别评测了pytorch模型,以及TensorRT模型在用cpu nms, gpu nms 以及fp16 的情况下模型的指标,评测结果见下表:</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><table class=3DMsoNormalTable border=3D1 cellspacing=3D0 style=3D"border-collapse:collapse;width:93.3000%;margin-left:0.8000pt;border:none;mso-border-left-alt:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;mso-border-insideh:0.7500pt outset windowtext;mso-border-insidev:0.7500pt outset windowtext;mso-padding-alt:0.7500pt 0.7500pt 0.7500pt 0.7500pt ;" ><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >指标</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >VEHICLE_LEVEL_2/mAP</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >VEHICLE_LEVEL_2/mAPH</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3Dp align=3Dcenter style=3D"mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >VEHICLE_LEVEL_2</span></b><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp align=3Dcenter style=3D"mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >[email protected]</span></b><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >PEDESTRIAN_LEVEL_2/mAP</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >PEDESTRIAN_LEVEL_2/mAPH</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3Dp align=3Dcenter style=3D"mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >PEDESTRIAN_LEVEL_2</span></b><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp align=3Dcenter style=3D"mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >[email protected]</span></b><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TorchModel</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.6019407</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.50268275</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.024101596</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.55445445</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.5377141</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.05468624</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TRT Model</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >(fp32, cpu nms)</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.6116394</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.510643</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.04844979</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.5488818</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.53235453</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.089853205</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TRT Model</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >(fp 16, gpu nms)</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.602398</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.5030214</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.024047023</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.5544836</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.53773355</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.054202292</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >TRT Model</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >(fp 32, gpu nms)</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.6019431</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.50268227</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.02410362</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.5545563</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.5378138</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.054766897</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr></table><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >从结果可以看出</font>torch模型,fp32+gpu nms, fp16+gpu nms的结果是严格对齐的,fp32+cpu nms结果与其他结果几乎一致,但是略有差异,这是因为cpu nms采用的iou计算公式与gpu iou计算公式有所不同,主要因为计算量跟不上,而gpu iou的计算公式即BEV_iou与paper是一致的。实验结果符合我们的预期。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><table class=3DMsoNormalTable border=3D1 cellspacing=3D0 style=3D"border-collapse:collapse;width:69.9200%;margin-left:0.8000pt;border:none;mso-border-left-alt:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;mso-border-insideh:0.7500pt outset windowtext;mso-border-insidev:0.7500pt outset windowtext;mso-padding-alt:0.7500pt 0.7500pt 0.7500pt 0.7500pt ;" ><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >速度/ms</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >Preprocess</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >PFE infer</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >VoxelAssign</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > RPN Infer</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:1.0000pt solid windowtext;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal align=3Dcenter style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:center;" ><b><span style=3D"mso-spacerun:'yes';font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >Postprocess</span></b><b><span style=3D"font-family:宋体;font-weight:bold;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></b></p></td></tr><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >fp32</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >9.29</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >8.47</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.36</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >25.00</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >2.01</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr><tr><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:1.0000pt solid windowtext;mso-border-left-alt:1.0000pt solid windowtext;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >fp16</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >9.20</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >6.14</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >0.42</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >7.14</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td><td valign=3Dcenter style=3D"padding:5.0000pt 5.0000pt 5.0000pt 5.0000pt ;border-left:none;mso-border-left-alt:none;border-right:1.0000pt solid windowtext;mso-border-right-alt:1.0000pt solid windowtext;border-top:none;mso-border-top-alt:1.0000pt solid windowtext;border-bottom:1.0000pt solid windowtext;mso-border-bottom-alt:1.0000pt solid windowtext;" ><p class=3DMsoNormal style=3D"page-break-after:avoid;mso-pagination:widow-orphan;text-align:left;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" >2.10</span><span style=3D"font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></td></tr></table><p class=3Dp style=3D"margin-top:5.0000pt;margin-right:0.0000pt;margin-bottom:5.0000pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><font face=3D"宋体" >上述表格中可以看出</font>fp16对fp32在pfe infer和rpn infer上推理速度有明显提升。由于trt engine输入输出都是fp32, 只是在内部使用fp16,因此两者在其他三项指标上没有差异。</span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p><p class=3Dp style=3D"mso-pagination:widow-orphan;" ><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" > </span><span style=3D"mso-spacerun:'yes';font-family:宋体;font-size:12.0000pt;mso-font-kerning:0.0000pt;" ><o:p></o:p></span></p></div><!--EndFragment--></body></html>
------=_NextPart_000_0076_01C29953.BE473C30--