# 在应用程序中集成自定义模型

Source: [https://docs.qualcomm.com/doc/80-70015-15BY/topic/integrate-custom-model.html](https://docs.qualcomm.com/doc/80-70015-15BY/topic/integrate-custom-model.html)

本节介绍了开发者使用 IMSDK、AI SDK 部署定制模型的可用途径。

BYOM：引入用户自己的模型

Figure : BYOM – 部署模型所花费的时间<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export integrate-custom-model-in-app.svg Page-1 -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.8854in" height="5.63542in" viewbox="0 0 855.75 405.75" xml:space="preserve" color-interpolation-filters="sRGB" class="st16 svg-1"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #f5f6f7; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st3 { fill: #000000; font-family: Roboto; font-size: 1.5em; font-style: italic }
.svg-1 .st4 { fill: #ffffff; stroke: #2a2aea; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st5 { fill: #000000; font-family: Roboto; font-size: 1.16666em }
.svg-1 .st6 { font-size: 1em }
.svg-1 .st7 { font-size: 1em; font-weight: bold }
.svg-1 .st8 { font-size: 1em; font-style: italic }
.svg-1 .st9 { stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st10 { marker-end: url("#1-mrkr4-63"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st11 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.35714285714286 }
.svg-1 .st12 { fill: #000000; font-family: Roboto; font-size: 1.08334em }
.svg-1 .st13 { fill: #000000; font-family: Symbol; font-size: 1.00001em }
.svg-1 .st14 { font-family: Roboto; font-size: 1em }
.svg-1 .st15 { font-family: Roboto; font-size: 1em; font-weight: bold; text-decoration: underline }
.svg-1 .st16 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="1-mrkr4-63" class="st11" v:arrowtype="4" v:arrowsize="1" v:setback="5.6" refx="-5.6" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.8,-2.8) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Page-1</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<g id="shape64-1" v:mid="64" v:groupcontext="shape" transform="translate(0.375,-0.375)">		<title>Sheet.64</title>		<rect x="0" y="0.750013" width="855" height="405" class="st1"></rect>	</g>	<g id="shape63-3" v:mid="63" v:groupcontext="shape" transform="translate(9.375,-16.1249)">		<title>Sheet.63</title>		<desc>*</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="315" cy="374.25" width="630" height="63"></v:textrect>		<rect x="0" y="342.75" width="630" height="63" class="st2"></rect>		<text x="4" y="379.65" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>* </text>		</g>	<g id="shape2-6" v:mid="2" v:groupcontext="shape" transform="translate(28.5,-31.875)">		<title>Sheet.2</title>		<rect x="0" y="61.1552" width="791.625" height="344.595" class="st2"></rect>	</g>	<g id="shape14-8" v:mid="14" v:groupcontext="shape" transform="translate(343.544,-359.144)">		<title>Sheet.14</title>		<desc>Developer’s model</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="84.3315" cy="386.303" width="168.67" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="168.663" height="38.8938" rx="4.5" ry="4.5" class="st4"></rect>		<text x="27.02" y="390.5" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>开发者的模型</text>		</g>	<g id="shape27-11" v:mid="27" v:groupcontext="shape" transform="translate(11.3371,-289.606)">		<title>Sheet.27</title>		<desc>IMSDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="75.519" cy="386.303" width="151.04" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="151.038" height="38.8938" rx="4.5" ry="4.5" class="st4"></rect>		<text x="54.37" y="390.5" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>IMSDK</text>		</g>	<g id="shape28-14" v:mid="28" v:groupcontext="shape" transform="translate(240.837,-289.606)">		<title>Sheet.28</title>		<desc>IMSDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="75.519" cy="386.303" width="151.04" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="151.038" height="38.8938" rx="4.5" ry="4.5" class="st4"></rect>		<text x="54.37" y="390.5" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>IMSDK</text>		</g>	<g id="shape29-17" v:mid="29" v:groupcontext="shape" transform="translate(470.337,-289.606)">		<title>Sheet.29</title>		<desc>IMSDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="84.3315" cy="386.303" width="168.67" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="168.663" height="38.8938" rx="4.5" ry="4.5" class="st4"></rect>		<text x="63.18" y="390.5" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>IMSDK</text>		</g>	<g id="shape30-20" v:mid="30" v:groupcontext="shape" transform="translate(700.55,-289.606)">		<title>Sheet.30</title>		<desc>SNPE/QNN Native C/C++ application</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="72.1189" cy="386.303" width="144.24" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="144.238" height="38.8938" rx="4.5" ry="4.5" class="st4"></rect>		<text x="15.29" y="382.1" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>SNPE/QNN Native <v:lf></v:lf><tspan x="16.08" dy="1.2em" class="st6">C/C++ 应用程序</tspan></text>		</g>	<g id="shape34-24" v:mid="34" v:groupcontext="shape" transform="translate(10.9621,-202.5)">		<title>Sheet.34</title>		<desc>Use case supported Model supported ~15 minutes</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="75.519" cy="362.197" width="151.04" height="87.1062"></v:textrect>		<rect x="0" y="318.644" width="151.038" height="87.1062" class="st2"></rect>		<text x="4" y="341.2" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>支持的用例<v:newlinechar></v:newlinechar><tspan x="4" dy="1.2em" class="st6">支持的模型<v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar></tspan><tspan x="4" dy="2.4em" class="st6">~ 15 分钟</tspan></text>		</g>	<g id="shape35-29" v:mid="35" v:groupcontext="shape" transform="translate(240.837,-202.5)">		<title>Sheet.35</title>		<desc>Use case supported Model NOT supported ~ 2 days*</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="75.519" cy="362.197" width="151.04" height="87.1062"></v:textrect>		<rect x="0" y="318.644" width="151.038" height="87.1062" class="st2"></rect>		<text x="4" y="341.2" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>支持的用例<v:newlinechar></v:newlinechar><tspan class="st7">不 </tspan>支持的<tspan x="4" dy="1.2em" class="st6">模型 </tspan><v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar><tspan x="4" dy="2.4em" class="st6">~ 2 天</tspan><tspan class="st8">*</tspan></text>		</g>	<g id="shape36-36" v:mid="36" v:groupcontext="shape" transform="translate(470.712,-202.5)">		<title>Sheet.36</title>		<desc>Use case NOT supported Model NOT supported ~ 2 weeks*</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="84.3315" cy="362.197" width="168.67" height="87.1062"></v:textrect>		<rect x="0" y="318.644" width="168.663" height="87.1062" class="st2"></rect>		<text x="4" y="341.2" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist><tspan class="st7">不</tspan> 支持的用例 <v:newlinechar></v:newlinechar><tspan class="st7">不 </tspan>支持的<tspan x="4" dy="1.2em" class="st6">模型 </tspan><v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar><tspan x="4" dy="2.4em" class="st6">~ 2 周</tspan><tspan class="st8">*</tspan></text>		</g>	<g id="shape37-44" v:mid="37" v:groupcontext="shape" transform="translate(700.55,-202.5)">		<title>Sheet.37</title>		<desc>No constraints ~ 1 week*</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="72.1189" cy="362.197" width="144.24" height="87.1062"></v:textrect>		<rect x="0" y="318.644" width="144.238" height="87.1062" class="st2"></rect>		<text x="4" y="341.2" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>无限制 <v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar><v:newlinechar></v:newlinechar><tspan x="4" dy="3.6em" class="st6">~ 1 周</tspan><tspan class="st8">*</tspan></text>		</g>	<g id="shape44-49" v:mid="44" v:groupcontext="shape" transform="translate(833.625,46.3938) rotate(90)">		<title>Sheet.44</title>		<path d="M0 405.75 L17.36 405.75" class="st9"></path>	</g>	<g id="shape46-52" v:mid="46" v:groupcontext="shape" transform="translate(427.875,469.5) rotate(180)">		<title>Sheet.46</title>		<path d="M0 405.75 L342 405.75" class="st9"></path>	</g>	<g id="shape47-55" v:mid="47" v:groupcontext="shape" transform="translate(427.875,-342)">		<title>Sheet.47</title>		<path d="M0 405.75 L351 405.75" class="st9"></path>	</g>	<g id="shape48-58" v:mid="48" v:groupcontext="shape" transform="translate(491.625,63.75) rotate(90)">		<title>Sheet.48</title>		<path d="M0 405.75 L7.9 405.75" class="st10"></path>	</g>	<g id="shape49-64" v:mid="49" v:groupcontext="shape" transform="translate(721.125,63.75) rotate(90)">		<title>Sheet.49</title>		<path d="M0 405.75 L7.9 405.75" class="st10"></path>	</g>	<g id="shape50-69" v:mid="50" v:groupcontext="shape" transform="translate(955.125,63.75) rotate(90)">		<title>Sheet.50</title>		<path d="M0 405.75 L7.9 405.75" class="st10"></path>	</g>	<g id="shape51-74" v:mid="51" v:groupcontext="shape" transform="translate(1184.63,63.75) rotate(90)">		<title>Sheet.51</title>		<path d="M0 405.75 L7.9 405.75" class="st10"></path>	</g>	<g id="shape52-79" v:mid="52" v:groupcontext="shape" transform="translate(9.375,-141.481)">		<title>Sheet.52</title>		<desc>Compile application, IMSDK with eSDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="315" cy="386.303" width="630" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="630" height="38.8938" rx="4.5" ry="4.5" class="st4"></rect>		<text x="195.52" y="390.5" class="st5" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>使用 IMSDK 及 eSDK 编译应用程序</text>		</g>	<g id="shape55-82" v:mid="55" v:groupcontext="shape" transform="translate(9.375,-102.269)">		<title>Sheet.55</title>		<desc>11 + 5 – AI Hub models</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="84.3315" cy="386.303" width="168.67" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="168.663" height="38.8938" class="st2"></rect>		<text x="4" y="390.2" class="st12" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>11 + 5 – AI Hub 模型</text>		</g>	<g id="shape56-85" v:mid="56" v:groupcontext="shape" transform="translate(236.712,-102.269)">		<title>Sheet.56</title>		<desc>03 – AI Hub models</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="84.3315" cy="386.303" width="168.67" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="168.663" height="38.8938" class="st2"></rect>		<text x="4" y="390.2" class="st12" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>03 – AI Hub 模型</text>		</g>	<g id="shape58-88" v:mid="58" v:groupcontext="shape" transform="translate(472.875,-101.625)">		<title>Sheet.58</title>		<desc>05 – AI Hub models</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="84.3315" cy="386.303" width="168.67" height="38.8938"></v:textrect>		<rect x="0" y="366.856" width="168.663" height="38.8938" class="st2"></rect>		<text x="4" y="390.2" class="st12" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>05 – AI Hub 模型</text>		</g>	<g id="shape59-91" v:mid="59" v:groupcontext="shape" transform="translate(22.875,-11.625)">		<title>Sheet.59</title>		<desc>Developers should be able to replicate our deliverables in ~ ...</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="315" cy="374.25" width="630" height="63"></v:textrect>		<rect x="0" y="342.75" width="630" height="63" class="st2"></rect>		<text x="4" y="370.6" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist><v:newlinechar></v:newlinechar><v:paragraph v:indentfirst="-18" v:indentleft="18" v:bullet="1"></v:paragraph><tspan class="st6" v:isbullet="true">·</tspan> <tspan class="st14">开发者应能在大约 2 小时内复制我们的交付内容。<v:newlinechar></v:newlinechar></tspan><tspan x="4" dy="1.215em" class="st6" v:isbullet="true">·</tspan> <tspan class="st14">上述时间为开发者编写 </tspan><tspan class="st15">自己的新应用程序</tspan>的时间<v:newlinechar></v:newlinechar><tspan class="st15"></tspan><tspan x="4" dy="1.279em" class="st6" v:isbullet="true">·</tspan> <tspan class="st14">最近的可用模型，参见 Qualcomm AI Hub</tspan></text>		</g></g>
</svg>

Note: 注意，前述中级和高级开发者需要很好地理解 [GStreamer 基础知识](https://gstreamer.freedesktop.org/documentation/tutorials/index.html)，并充分了解 [GStreamer pipeline](https://gstreamer.freedesktop.org/documentation/gstreamer/gstpipeline.html?gi-language=c) 以及 C/C++ 和 [Yocto 编译环境](https://docs.yoctoproject.org/2.1/yocto-project-qs/yocto-project-qs.html)的专业知识。

Last Published: Jan 26, 2026

[Previous Topic
开发您自己的应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70015-15BY/topics/develop-own-app.md) [Next Topic
在应用程序中集成 AI Hub 模型](https://docs.qualcomm.com/bundle/publicresource/80-70015-15BY/topics/integrate-aihub-model.md)