From 285c64480a342e4d957043479867adcd56b09a8a Mon Sep 17 00:00:00 2001 From: Pratham Deshmukh Date: Tue, 7 Apr 2026 15:26:44 +0530 Subject: [PATCH] docs: Update ML library versions and documentation This commit updates the ML library versions and documentation - Update ARM Compute Library from 24.12 to 52.7.0 - Update Arm NN from 24.11 to 26.01 - Update NNStreamer from 2.4.2 to 2.6.0 - Update ONNX Runtime from 1.20.1 to 1.23.2 - Update TensorFlow Lite from 2.18.0 to 2.20.0 - Refresh all test outputs and benchmark results - Add ML components to AM62DX documentation TOC - Update component table with latest library information Signed-off-by: Pratham Deshmukh --- configs/AM62DX/AM62DX_linux_toc.txt | 6 ++ ...Sitara_machine_learning_stack_diagram.jpeg | Bin 0 -> 73414 bytes .../Sitara_machine_learning_stack_diagram.png | Bin 41220 -> 0 bytes .../Machine_Learning/arm_compute_library.rst | 42 +++++++------- .../Machine_Learning/armnn.rst | 2 +- .../Machine_Learning/nnstreamer.rst | 4 +- .../Machine_Learning/onnxrt.rst | 54 +++++++++--------- .../Machine_Learning/tflite.rst | 45 +++++++-------- ...undational_Components_Machine_Learning.rst | 43 ++++++++------ 9 files changed, 102 insertions(+), 94 deletions(-) create mode 100644 source/images/Sitara_machine_learning_stack_diagram.jpeg delete mode 100644 source/images/Sitara_machine_learning_stack_diagram.png diff --git a/configs/AM62DX/AM62DX_linux_toc.txt b/configs/AM62DX/AM62DX_linux_toc.txt index 2ebb80cf2..edc0c4a76 100644 --- a/configs/AM62DX/AM62DX_linux_toc.txt +++ b/configs/AM62DX/AM62DX_linux_toc.txt @@ -62,6 +62,12 @@ linux/Foundational_Components/Kernel/Kernel_Drivers/UART linux/Foundational_Components/Kernel/Kernel_Drivers/UBIFS linux/Foundational_Components/Kernel/Kernel_Drivers/VTM linux/Foundational_Components/Kernel/Kernel_Drivers/Watchdog +linux/Foundational_Components_Machine_Learning +linux/Foundational_Components/Machine_Learning/arm_compute_library +linux/Foundational_Components/Machine_Learning/armnn +linux/Foundational_Components/Machine_Learning/nnstreamer +linux/Foundational_Components/Machine_Learning/onnxrt +linux/Foundational_Components/Machine_Learning/tflite #linux/Foundational_Components_Power_Management diff --git a/source/images/Sitara_machine_learning_stack_diagram.jpeg b/source/images/Sitara_machine_learning_stack_diagram.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9fb06770407fe86f289027bf1c89fd073cbfb55a GIT binary patch literal 73414 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%0DJo z4X#;gT+?1Jag1Xa!RCHV!yW^sVH?I8N)A&jXalNsL}4Ngp0I_P<=@Hnb8TM=0y682 zn{mjQ>(@eLur{b3I}`a81IE*?FTK3hWno4+w{HT-vsned(t(dRv2M8_k zTu5OafiE_$f%yOigrPHM7_!H}Sf(=8|A}$SfFH3GcG*GAIr2U>b^XDDSZzP<+4*wy zfq|s*t%(EG_0@8_J%C@N$+?aHSv|MYpIFg3{OfEdHnX06 za&7#X&+;oTG*N!@i(PTnj$>^5jG$f`okiTGebBYGx^6ziZ)VRlDWv0(Ip8hD-4*5+(#tKatShwHW#W zssi9u<@f@{Yk6oC7JcdnFsCc?ugF0nE7nO>y>D&cxLRf_T*W9RwCMsxB~SY;uM$9s zMg-8bK0a$0-hKUQi{-|>FDG?Z_J=mzEp^$7Zjaf&c(y~*3xtNBz-uamt?36@4o{OQcgE*f!KopHv9k>9 zNBGHlch_Qfm5KiJsoa6xu~9d+tgjJ$jPK4MfHprLHC(OH9!dtDEFV__iG00b1 zES9FEjqg72=#*(+D71Puz5yzBK}4{4o6tQQxujt^l{>M@#YT=`Iw-#I{Eh$hdPW6- zS)DA*)!A$9EgnG8N^xk3*_jbet*rEOa}|6>HLW5iu?TDs#d_CV`=8^OwMAo9%RrQs z4<2P*YOiT(Z2Vl`2zN>njDn7KYv}3DMNaTmt*&@*@xs3_;vx$a%asEW71L~!<_K%lCO`lg)VBWsXIg&#a^;$GVg^Y8kXS1 zv2PX>)ZRdt9{R1eqBk1qnDw%clrE zeJ~@FCiPpi$#{KC@RQ|H@R#IGFF)}XO=D1M2BiqK$4pmibB|pU{qe5hdoR2~6m5b4 zy5-M??EJ?TJ?w&SD>Qw-Bq;hj7wMzxKbLZgt+qDe;}MlYa|iA0SXakShYcGckT(RyE!b~MTgM`wprhAD#2Eu0{+t-?=h)bAsfCglLu8OS|H`VP?M*|EQCbMNq4(9Pl11WalW^qY+0O%yWII z82KApTf)h^fg*+^FQPbuD5G6phPa4fqfw?ti(TPYFcg)yL&Y%Q?y2mx?Nh}=vecu& z;m@19mb<@@p)Wul^mUz=+{Z(?fVw`vD&_@*PJsYofprOZ1bu{d?e0DBm9pDf4s6wx zTCPtp=Fxrrnd^Q)oIYvhH-*W&Coo6Y%i?ICkTV~={=(}gW!IPNyW2pRy2&qDhfZRAjx0NS

2OLo8`Qd2 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

-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 rdmewkdzrXwsH*!?K literal 0 HcmV?d00001 diff --git a/source/images/Sitara_machine_learning_stack_diagram.png b/source/images/Sitara_machine_learning_stack_diagram.png deleted file mode 100644 index 6fb0fe0bfce48341b0924d16d49acb30ed1916ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41220 zcmeFZ2T+q+|1Jus^lAgCVq;qXQJQoV#YRzj7b6l%2!eEyph!^!bgO`L8@)xfQ0U{zb1f(QDLdbbh*kaq?ch0?c=FFXcW*kBDuC;#s`8{jB>!z`xJ|DLzHwz03 z->H*&=UG_Rx3RFWUEyR0{w4IW(S6`AR`2urM_CG5#7BW&);sGO=(4aB$MP&XZUBDg z@;qtf&BDT8yZnc>0h)D*g(dyrDLq|Ne|s{+U}U#dVj36i@hNVFsN}>j*R8dYA&)Xa zTaQO?(w&Ov<^_*j5S2x8a?5Pr^XiL{!X+Jfo{nR?gpTb~v%s_+-LU2Uv9r=AAL~Ze z^C*63OEtT@Z)4c?g6nY|_NIStXm)qa*)Gj-qr#`5FNmB_eVKZ=1mqj@p)_{*TEoso zd%DK3CUwfYa!#upSm?Kpj{JJ?>d!3e1k+hpf8o^$Sr+;0=O7EK=<3feSpGkGK<8=* zm4sa)#mg9_Zr`!;nJ{lG%h)K9{(&1l73J{bKOYSVk6ig=-eutvTKQbjVN=vw`MhF{ zl}Lxp3=WnE5HVGD?h%m2=1-GSaNmV#F$KnD#?bT!0*WkUkGVf7LmP}JfK^}^R6@J} zc5!GrI&n@goC-TXo*9TZb(|Q-n4&rpkr{TzV*ArzAA-q}glpesFViJ2`R}XbY{M*! zlS#CQ9;1VvM3($%a%;@C$FLbIiRT5FSTWAFnkB@^)g@;k=>ysB+B)9XUK4=Pxb-mQ z!3!TE2I)`-EkfNrFljwl?XQKQ>E`$}JFNq0ZE6=IeR*sE8DPB)rEVAdG10~HI>)|A z`6{=8w{1siGM7;nd0;d#h#mY=US4Wzd-qimqUp-1M#l3CU*wEzh0>+JDb>TSktf3| zk|iJarP`(cX6}15ajA$>?V>e5KQ!&6V59`uqPMvnXU@LuWK15ItB9>&7yM>8-1~`hna>$4`83X9a)uUd zhya^4A!+wna7annAG@A`>Lbt%NCzLMG7m4nAc1yT-P>rXXtg`HJh%VlGM3uqRoDR4 zcTHMwnpK_Jnc?$dfLW0GJPGGeLNll8GvR(T$WaL+fwqiN1lTAa8qu$&_DMhD+tgRI z@ztZID5>;^)Ll_nR(X#u;!;~`;3y(-ch9&VMunV28;J5r_!xSFmYw=V;YDtp0fItv z9weCww(;&5%k&%H`()aOX=-lt`l8Wv@Io|?s=H0&;0Z*>dG_6JJIE&?hozoZ_4;3b zlN!Rq(8NgT3UP)*M%Ul*rn$XE_9|28=g4Tp^`;GVT9Jw74b;H$WU7_`ME?@qf=)>2 zD>W)@DS|Y^%C%1UrJyKk-^}>w7G87Qlq!^N#~7l9vdT4Oxx?;5ngqo=`gJ7O6hm`T zx2Mlcy$D=7k)WUok$B#7{U*lvQ8IQD8|AO-8zE!9pIu8*DPh}Rb6i~KOYayb#2sNM z6+$Z+@36!`DcXZ}eGYIt0n0yQO|X!&VF$}4toU2cbzcGX2ND~=2H1t6M)UNpP3spw zB@vJg__>oX|AjB)FC7MF6SlM6&26tqzkIOM{_;FM@~-atMHXPvS+aLf`AgrV2Z+hu zLd@V_4e06*k}v|?WDb{%ksY6H=!Va2GieBW$BLh&PV!mSsU7P!cOm9pHhOncc_pfC zO)8C2-g>N4gi_8SPk_G|%tW<>`6O(=9{UoPxdH4*_b_rTjo%ihbU8>Y@HT%Np7pB@ zN~kmfKiZ{M@FVXB%hu$j#CCMp8&>P$rV%x{Cdu?py5?@3k_Coa}wd{AD z%P{%iAJWBdM;i}krEEF~geY?I41JtB8>7kE&KODJ)M9slLM>F>zwm26>p;gmtY-%g zUiBGK@KL8_Oa@i=UM^;BnWtW*w~NIM&`(sG=hEE_iCg!ugWJc-Ja-zU2aw+!334r% znj)pTtYoqHu8A|5&lhCcj)oW`0xA#oys&V5VXP{6omFa2!SNO~ zO)OpMKn9s8vyw*!OP7<9mJW}~5-y4PiM@J3;xthau294ex6S$#iiY08HMaFvR2e3; z@xy5LlLA(Wq^pH~HAxFZ2wD zNOE5~`r=-PgGmONnoo>%#fo8Tw!t4AdKN>j7Q9@F2Z7ah5VX~Fco4$c6XzJG_p^$A zbM?McmGUWXsq2t6v=dkd9^9fvze|p8Ntmu<1)5TLLwN|-IL^Ri<&r4^mSGomQrC-2 z5$@tI!|{?kfkk8vjZu0sco1pt9S+mY*IR_rd-20AKDL%&VJf*4!(M(9k2889<_3gJ zOZJt}I=!3^e1XuahR2>)dF4+h3nUp0oAzN|^+a${TmRQ$X1LCJb*?Z z%UlbL4+v7rEJxH)5ti;yw+dZ-HslgDC;Dr$BN=tE@{ z286s;3?}t_g9^6TA(O8?+&I@y{SyIkI^?o1X{75iIrIH$itLy$%6y*20%@n+IbI!0 z@H&lnhhFhh{l8hr9vh#JpINPbuS!mb_^NPOQFpJZ@srhVoyw#e2k3vVR?DfpjjL5* z#}58~s#9d7>h{%#cI@~RvL3uLNo3@@|MCHu86vZl>HR^S<<2HC8`q|kb1{cm8ed$= zh#TO2amX_{dr);<5pR%Ii(q=n*#V0D5+X9e>R5F7Vb?6>qpuYCl!jWe9^pBK+7&wz z)SraA?$kTmZVd7e*a&?6*cOEy87^50ekb@kPedkUJgV>6rerE6eK9dy)Z4kk7;+=h zMbx#4tjmVH=aRMK#2<&7xGkC!EvR4s%&U1a#P<-N*{eSfmvZh{snFMX(HvZDh8d4; ziTt#>HN$-ugSwp+|3=YNXy;F>`##(nF(h~Cs6Pzfck!#Rza8$oRtTZ%!7}Z}$8UcX z_P4`**GkYG7V;(0oJgUs!hT=f_u>9W$-mRe|0wypR{rnujewRoPW(U`)LQI{-w&Bo zL5wY79w;XktYi?#8_X5Dz^w|4cIHHcvVlTDU66rAUVnYJ5PV@yl#VOvo+JJh)2=-x zo_SdnB~h;Nx_HO&m85lg#uj(bBsMhj&|n#A2J~QM$Wsw5Mer_~rbPI;9Dkt{=d2|Ys(Y!zIOn3)#1b??P{0{uzrlKmC0xksXyWvR~sQr!}!20jKXNh2X| zuaG$#_N~bFcY$Y1%B6Z1$bKL4q#2xaMl*UcLTMecv>+m8`DsZcK9QRhAERU{G(2-w zIBigOk%qK7{1^S)l`oi7q^QhWSqHrb1l063ZLRy=nAO#7V3d_+9$2)j(u_WbA*zK# z^39*1GOHr*3qPz=$i-Ys#X7i^Hr|cdvKPqa%L(pWqD*->mr9p!^!q^kxPDzwziM|- zXrQM_jEcUh`L=Igx_fmb*~Zq{Vz{R?Mm~iFg0aaa5quYi235vII!hdIF5{ym7m1l1 z;2F)DZU>X)+z%e`-?tvD-er6|x%HlHa5$n@guAvz(adIiyG~^zc9+D!CD2N_@l&xq z%ik5ic`r%$rA=;U7I|A$0ye;=WihI$6hC;f;nwDr()Cxfw{7j>NC_c2c(Pb}AbL*H z;7Ff%zopa4K=0pqPrSw9Blz0JcP9Jtnh?Cz!fyU*j2XEcer*zapw{nzuUYIE)YN@qpmD{F`?Ss0L7V4ZoV)vq68u>Bu7Rfh@ zTCO1zx(d;L4`rboZ;Bg=00*nAW37U#8KkKWP)SsI3*0707vfxAv=I&;BRCsS$iR6& zhL%o3H&5nHUKQyp^!m^l6tzshV(TgOco)*1N8VFsJO%v-MU~3$5n0 zcKH?s%yp9(rBF~Fbi8aK^oj6HhSud+=;UkP0~l;AxoQw}{ML%$?`KE~=vRi{R9EKQ zRPRHCe+CoE$hWr54Jvkeaofoz4_4G0gT7Y3r$Pfcn7ATrJi|@NE*y`WJIZ%f5}JSI zeRGVMhO1SnLpd}Bg`w&);PiweaB&axT{^vK;6%?-eO{*T zd$`^KXc>EAdo#Hb^;N@E*gs~U))^HL59?wC zYzV{-iTj`FFyG;*-a-P`u@4$nbq0Xyrf(39lf?^Xs3@y4k+LHghsUilh3&JXEsa-| zX>isRcNoFk!jF}zL(0H(*(3Gr_3=jrEf1^J>!r*|6z-548ir23@XdRU-GmN0w$_IZ z+twyflx@K6ORANMjb)h8xt*nu0rdXMJy9-iosvhtYwF2xkFV?vY~^;Ps(4UU*r0j4 zQFh(U;g4QKb)^p;_x93v^WrXIZ6tFEB%X$Qf|9hkftXrN*sdW3=nSRwoC0DNP|~n6 z`6)xNJpmptpmb2#&QXt8s??D{2t~D;Nb3-a!}om(=C=*Tlj>Oa?!r@H$2xV~tL)j; zI$!46X7F7S-ugiYgOTI+!uG%S#7ZJwa1uUemO91+LJnqv9l09pa0^T!+TLpz9 z7(+2M8J`#9Sm#DvCx#wnA2aU!GE%(9_jY#iPIregYB#!2q2WZS1ZjK{9=j%c&{Tz7 z8^<6_+`*R@VUF&qbaHUOdyt*ozSKprmndl!&ISMwf!iZ?l;{OuBDxH2$L zv7slqVnPg>5}4z9E+1>zkmvoSt+*sr9*#xA18_{gfqm|^J`T5vUFZ&zxK{&3;3vfj z-H<1H>0*_sqr><52RqyAI$tbe+}yGh&>Rp%=Ft!o2*8{R;%Xr%DKcLuDxfIa9xA>W zy7U?|PdgJ7+@V<^nz3IXj_l(Ai8y(zJ)F`wceXlqprxm9?7~744zU+C3hw|nTo}LV zs(#Tv2}7)9mPKH**`;5QN zx)M&2+t5uDWs{On*H%xv)g1Z$IVNID>AMMH(?I@Vc6{kyxb~}61)YldgGQo-_7bk)~iJhgpfZ zXG-XGe@$Lnr-TBHbFY)?sMoH7175cHZlI%rnjX^4EE!R{wG+cF0~sa+sVVD9zKGjB zh3_^^zgC0N#SBwjrNZr7bN^AvUZ1uUbE#Sn{;vM}pynG2%1F%z#~NO}y+M{8uf8CD zsBvkG+*iA{&hz39g0`wS^;_>i*50QWe2A@iic0C=pJMDryMXONXT~6X)5ULBGnf~?<$lDAS`2UFTE4wt?oe=Mlor9Z5Y0MtTi+UORKk@ zqZo=A;ED5;CPM55l251M+f($7%a)WxGE!EHt@q8SRw&_TqN$I!1GPiTpQu`u2Uf>1E7hTQ}*pK zZ{Y9~Z*M3{0yq&%k6971zSOsmKo^Uu3r$eyq7sQ*@{hqZ7%?*se9I5l8K=;6o45HP6N zyA(`aOh45(m(fw^hX=o3sxNS!fX^O~N3kE8wX^wJt?BBkpvd`1h_`((HT8})N7TVG z8xqD^?g{gS+Pk8H7L>YrdsC16pi14#=|-vh*n~rZoUcbsD;ugZ=%|4k3{h=qfzsng z$e-`E9$JAH?|P%Rq0Q`++~&=5UGt(l`hf`fEV93&p(9R6cm_RK=CVgpOr21SUqUrd z;A>$?#U6@(RNfOl``R9=^GEz6&C3~i(6{i-drHYqeIsozJ31#B`hJg(NN$zrvS5*PDkL}|{wNin5^|`2O3A2yEj20EYvu=g^19{PNxzIcxhe_nSr;KRZ z)^P?W${{xI8ZQjjwcHU~OPvj4fiwWk-Ap#e#km)5hU%8xhjK>`xS(CeDb$yb{qrZI z6iL^lGO8KLg$`KQDY6gkZs;3G8n?PbnVS^iulRG8QlBqRSOm0H7!J$(M!D2#*&2xy zx0j*^T$|h;HM^&cG4k;$NQTGV7;$#GWGZssw>A5YbFu#&n;bI+4^#MZny zH-=a9Q0ttyTS!4Ygci;-Dj1FD7HB^7jJ)>Sst@NdsTM0`1Rp-J=b1iTD8@Jc2B;hQ zMqwxxvR6q%5#n7j(S44caITC0#&rL&;3d&yEfiyBt-l;&Vo z>wdNYOiQ6$)1BWK`iPPLW-L{ub;=j@+gyC$#bh72KEmySS z%jOTvj#eyCq4xKt30{PCRhs#lF7LJObhV?f^5Zm~xOW`aw5xYd;t&g-jb&QT-dkI| zhi@q?&%`ex$v(G@GVz+!(xdM%Db!ni@+!SPnhcUV)nvgbFPcJaBG3cvSMU+|3?5s+ zh!a5rY}a*)LSB}PMO1H*EGnEMMo9sbci0y{Da^kCth|R{lyvhR%U!<0f{Wr||%7*X%Q)>U?V^%yG%OI1u1%+^55c}%SnItC_BwmK(8<>1p=3EL%YmjeM&G0z<}ZF%W^aR3eBq0@bi_o118l}%0m0&V zRkiCVcd|T7qUYH#ap0uEiwsT~^mdtYh%U27KyI;Rg9>&y93=bn#R6M8SA*&64ZxuT z_i*Z)=zBdVU>pu%`0({4qIYfa*7F~OS=(-a_IR~1&f1coBcx#t^ zQ5Wu6OcjeMy~8%l6S7C#L|O$nvf$~5mq9Ztz99Z$k{pJ2`ALnW(O-rU%Rdgy^?2rm zZB}()QS49PKC^u6!S8rV&r;r()<&k+-<9&St&EQ~leV5SK^|))c(z?nv)@my zY(Y~++)a8zi!h6UYDSIqvO-;-Cih%V{u~#&R4!#ZpTgq-Z{=&SK6!0sgU+Uy?4mt@ z8j85d_iP9jVPiM8BIi1Tbq&2-+O+3D2w`}ke5+KdZR%!H*@9=lQbq8YFSLcwBy->w z|6q8)2g~}#Mi6BQG=&~`(L7n+Z^^TFd@`7|=zzG1BZRY!<-(PELyya2TrHn>sR#gT z9G|Y4q|7uPD|VN%#aA3W& z*WXF(fEB5M{h8~Em+tJ>(%B!(d*+CJNd4-p6kyiP;wJs}%Odv{-8-kMU~uH+m5nwW zH0LAKp#EWP%z}SFFfWt&`Mi^ZY;Z^y>^zw==(O_!kK>18HboD(BWFzM!S%YVFBAdI z{rz>AkL%G8z(Pf%zH?GUO z7wP;LAJSCE39XZE<0)HrXJKI#6<07LiOZ8;u0w36Iam)3;7ZMVEsB|MB_js zt}+mR_NBY9V|5lg5#gd;%aNd>`Vt~W8`g3!?WLzpi!O-_&o{_*&c$c5G#6%4 z`}?P+tKi}gi+@|GyPp&|x|_y3*sZUjv`^=-y+f)tb%PgyA$?6t1a!fe@{{ zTikMpPO!_AL5?wdA`DQK%=w`#tuJpS(l^*U*y9VYXlZpwN%2jLoN4=)=VX_kyL`L3 z@TAQS9k(gk0&-M^4aCbk#xiu2%yQMy_Qj7@Eccz$-gr>ZPzgh7VkGFGSemsrSR5cC z$R9|bsvk)m>fZM+`s~723*F{}X*?G~c53grGsA_fN1Y_&jx^r%WBHdk^L?R9(}R|( zgW6-;YMv*vCQjio^zla$Pc>~NC6kPvky-0SL^@c1>o3=QwFPFC{^x(cMbG~|+PKNx z24~<9jOnL;?bCaeywqEBL`F5qNLFCxG_yw^&(L^}1E1$mwQ%Jq-ao(=fpp&=mc`O+ zK0A}f6ccA@t^B>w9+b^oS z+jwk6AgEJ=b^8?qkWzp z5A#Q`I%rgu(i=d8%T&rsJcc%JuF{GkOqTSVrtkUV++<0$ux1W0&N$nWc_&3sH;hM} z^SmgXHapO`U!l3#B0e^)i*6L64D63*3<9}#G>v|;GEJW*YB0t!e44!7*U9$d9bbWz z8q_+ZAbhhHWB&Ml<3OK)si~4_Mx?Pblob!`e)uY=Y)gmKJz)oP+y%1XGsMJBGF)=h zO)-02^8V7$?gv+{9kYi2y*x-{ru)$mMcS^G7&c@k^r-L$k$F+3sp@!VFKKPUrH+_+Cn*iMf^ruA% z7PjInv|n7T8?;iYPV%UEj_-23P|Ta;0KZ+bI6qV(?3BKn4f%%fCC4(38B?Aa@BFwK z7DCMlq!kufPBh3{w?|=ehvlh{EFHS#jvz*Jg{3NeQ7%ys(nE8#!#YXGzO$6W*)T68 zw78d|d>@AK`uO@!)+YCGln|jPW#5vx5azzhTZFr>nn9-eEh! zbN=W^+d_;Ia7M;9)4@=p;Oe@x>_%6yI9N(XPakzwIwauSBEm9FpzZQxEW$d6+ai%} z$)Q+B>fB`D!-DJXdKseMN*qb@S|a$C4_0JmJl3kfw@+3Z+D?vBC9~4@k`EWc?9#Rr zhLPc0sMQMO=U&$dsM%K7)85vdu;@KLA>Pk?1uGB9d7iAq8935e@txBg>y8S3q`WjT zzQJ=Z^nT5WbfquWw-siTGWQ;fsc%qi#Jz=aUOQ!a$F#dQT=41DTJh3qAIlDWgkaS? zN`lk>;tjEjp95oqOuCZnwR1}gMWtZvatHpDJdpH{n|-&X z2MlgHe2)!j(JXH(T+hDUB)$_Rksik2Bvn)+=<^v2I}Wf3$}yMKnlaVjNJ5SHoZqhK zT)i+B!D5iseLeYOSNu|WERr7ZwD8?ie$Rpq{)-m%8~9!3UhZ{Q)!}ihw>-JyXgU|G zHRq!P{{EMV`P3=$-p3Y&dg*4Wk|D3;b0L0-Uc>@|t(L?fN;|I=+K7Y*LR2nX)dB6< z03O8DufGH`XmuS!N zIWGpg*jwe~-;ymHtr++Y2xnnkm~!q0jZUN*IPvND96U2$#hH=Ujp?7fSXoQ0Ls{hf zDKEdD@Gi1L-)@07CA31DI&sVj&E6-XV}Vq1h%~q*6yLu!*t!7T+*@D z)I0aO)Unl*qUj5sh5oX)Ip|wjNLR@|vVZ;2ra`@%0rPD!XKfAH%BDE9ssHGf9XA5r z&K>1c%CcGVXF2pq=b-dD7C6TsvnZV$pdWhghTlYpi??V;>_^~E%EBx?8PKh_UoQjHc+ zUTqsvzXbeo?Yn@(ZiXd+`&wa>y%Y-VrXu5p6Z}tte*N;*k3o}75412Yf6g#OgKI2& zQ}?OCen~XLmmB_A;()_-Wj6md*@QXJ9mM@E#7+Un$txfHsq6tK^*(w0&$M50#Q)!v zEGef`xrnaYBmHUb;^a~x<&@i7u9hK_#@ec%aA0}in7wi)^K&dSO|_QD#4^$@NAoP> z*U2ZMn~r=#k72~0ag(=0XSKVbSysrv#&n5eN_)JPkA_x0;KBY3LWeOqK_8NHj9D9Y z>!^pjp8b61D_RwX|Lm|WFtfSmN6a3v#heN86tat@e(2j_&MlS#IOUa+et%z^V=HB9I z%Z3DH)$8$dwFzE9d-eZWr6*uA{)|amrm{Or)zMr__PeurFZz4VRni% zGYOq$yOfD2KyOI;$&zgo4^1Ky3FeQ@F*n9O-lzo*wM*Zr$n<7I=9ky8KnlIui+;fD z4Y#@8Wpo&(-EeL<{n6BqdNVTxmC*Tm`N3SBFS#Nlf@vdjX||H%)m?P0*MXy%^1%lj z5c3|4M1kn>Q>YVy<_A;;M^UcyAhyG$2uCqUDvmiw2IV*gNk(A_il}Bdk&Y^s7}M-N zRCiUExRs0|d3(^aM@@;@%5R^y)L^J(D5zy&lJDDwuyU8~9}u8IOc>b2RsWQ~vfWR% z#%sE9pYtZ1?syw-ERpQl{gNfWh+D6RzV8NC%my%wy5Z0=9MMFDrd%Lmd=Csw@-&=Z zhtwjFEy#Xnu+U-vmymtxQ4QVCL4>fR@E;;Y#7$jKEH_>YCh_ow^UN>m$<6pdJ-lsj z<|(R7TY=;0ZB_F)#;nO%zP6e`@+st(#L+Z8HzPM?{Py*y3aV*TnLP=IYH8{-uaIfP z_>1ah*oW^}tzW5SBK13$JP5(`xl%hD578fEY_rKRMTcX1`acB!6y)H!oV|L@kp1WO zI~?`#tZ~f!a_LoH(JR?Tah|r|gB_eBx17uijSlYB@h+rbv^KJp)=FXv$4=#(IH+{N zA!KViT!Aq_1emgmUE6vk;Y$}`X5GriexBWQI2??DpRFlT{AKo{A7%$$X<+8@n>XEO z$p_d;x!Vsfo)76t)W=M)rMadBb1J6OEL~lfXLU^r&6%ucL%#DdbQiGlu5*j6QzH=6 zcd79Gn1o`M>O(1+&ZZ_XC(E23cU7m^2pT?bL1PJ3ZVuz zr0;z9a0gY)wf#67GMjvEaZVx6B+J$CjX~{?Db&q9a)?yFOQZ40PpOA&uN0P54%zKG zcqWVAP&JR+$iCvsE3BjjEM&;uEx1adMu|k%6?Uhs{mvg^f9(oA?RB=?}FcN9l%gz*|tI z2bh6wv?uGq&mp&5a-AZniZGko+m1ecLms|7Hqtk$4F#~|&{-1XqFPB?m2D!yr3 zx{|#x%?TM=g@QqFaX+iE(KmAIE)AO#KWBq#*I%-MkT3H3ZszeX0(C+1Ahqjvyq@2Hd@dgM;OT@RVKKp53X0) zC46(?bH>DXq9GYoSXm}#ZTRyVe#l6I#VGDJTT7G==qPfpOqo{s$)^1(KHo{7A!S>? zD|X1dpPU;g@fzvTGOddy7qOG6{4<4oDvqUlIyOEQHF$ zW9OB6x2ldyZC$b=Dcx>&oe;+6yS>l-R+Fn1=*)N~$mf8#*INaj*GwFAX;O~)xq*0( zaJ_M*vc_gHg|110u+HvhP_>E0_kgr`PvX(pL=EXO%=&on#^m%<60`IfhfZ=x8B&`b zS8!^@!bQq^^pd>JlJ9*P*IKUom9d6vTUB9Lg zvq3Fec>Ao0#q~40RCVvEjaZbjezMLQAuw5561jj6pBtAOaLt7W@Z zwh-?DkZa@#ZG-ra(^cQZBhA@`Nko=YlrmjcRo9Ub4qobBe%xX8aV2F{a9Rf^dz_C) z`Z4Wh;PK=?K0fZ}5jhl_3uJBORjA|Ea6OcID*D0&iA;92S(A$O@x%8%t~VGFRu7h{Zp6XRM2OU#HXee>DqMiXT z3<=U-6Saa<^Qh3!uW3Z2EEaUlkp3wYei~4-#u_zyyR%zK*=h;3^KJlp9~Hy4w6tG# zfWa0%!{(Nnj7Ly0XgR2T+R-4=bV{ELeux7cNWfr%m+I!^C*zE;K5^=Ybx6>Ni!dTR zotGzq>Ya)iGBpTXsclyP*ITj#j1DmZj1F#yUsGqKKOJ%B;LyE(jgA){LCR~5WCm}v zO+9vflVWx#oPo(L0>wx-J&$FzUnjL?{4;M`j!f-|n$+&mr*fOcdRux}t&40u90%TD z##!;rZLzgd7AXaVN6hZoe@h}4s$hU6VwNpox@?InJAbf*B;h6N%NNS-b38_za`G<+ zr*?mh9Nc6jxB8GJhkUX9-2c5b4)r0Tmv_04ho@5Q>xCoDQ4D zkax0*@)P*q;c)90PEJ2Kyrbg zCU@UG+R=mBSUSDiltV^OBaO-M<6=jF)!U?BSOL*JaC#-WzfKFh;wq>d9qu&fHb66W zcD3BXhTi+~j-`IL`8I3WZRt13Y1`84R56JHH)*_>^H)sY27^)>3$242|(lom! zIV3|l-*L85mpch0=;Rs~rVhy?zI>h*#&&6p?)+4N7g?->k`yZLJB!j0mh;Z}I8Q5P zz$3eP1};qBogQ@iL(mWU6-)0dG?Q-C2~j3zXTD;|mpPk*);vpu`UTY~N9W4~5@$Am z$vz)qclK!Yx%NLy(kfY_;3AZK8p3k{$0RYGp4d?j;0mu;r!lciDTGDWE9>P9t&Vy6 z9k{wcmliF2q<4I(SQ@tpye+pIBo$8`5r(_P{Yq_Om^cCJ?Wg z7nDFs$&NH>_5R+!SraXNGgz9jDuZ0r*|bCxrO|J#V-0?Z!0co`ez(V8k~wa}yqkBk zbU7FL@}Bx$C))c=H$+Cxor`|=%#@`6$|a}R$CS&k1w{1QhDtflaZGX$)CVV;bt~ut z92xD)=`huI(&tSWLTAYLU7GtxkNM+(&Cu&o{k*L40*zkm;IMvm(jEwN{hDgv2!REC zTrgECj{E8gQfpiRpM)9dxVB9wzB5)==|uedLJNrS4p&C^IS?recyqBaK~Ppd#P{js z$ys_qjD+_%UmJI>)Mo#E*Rvl2?CSmQ*Ydy~x`h?HAG*V}T>918JrdL6XlC-q(D zfJQwHByH^);)|3Lnfkg8aqhNY)pjoM5FoGF9j6&Av$kQGq!vkvJh~KDMn*ue`Pmb*NV!Le{h`6CN=o~+UhdNf{?sPx_g9+{-TdP7CY9h z(9pl!j5%9N#{|Jlg$!X!)zfFb1i?tt6E{5NG-Pp=QWiEuvM&q*4^hsszP#lVpAE#} zY{(FGzgj}n+5*+pg^qBQ*GR>*ni=GMtr!C*)`nY#yqekl$g(^*Zw?S;@M_me!E>aB z7*QMj2P|X&EP$OkThC%!mzVU8r8(^Ik#)%2!S>6|I@$9<^laq0+IwCDMi#{Pp5(cZ_9B{!Tih)|z#ou>RXxj!!- zD$r@~uK`QTO|(4o6>Xq&VehgZ>%DTKfQ*6Am?fDJ!XmA;eLK3`w-0r#ff>J8ahDDu9W!Ej zZpWwRG=;4Ck@GZ44*95FzLdJFyM!5=;w&``?9A8NL{-(XHTkDTF6+r>seWLTZrk}S zp|K(P#{MO6YEfiCa#}f4rFC=aLjbx;3PiePts=ay0=5wUH`Jcx9szz?66QSQpglGP zfMLXf-_=#RMBcXT#1f{mo4kfrA7O8YQCh~xSZo?%GM`{TH$Ewyy78g9RQ>38VeGit!guQs{)Ufd zEmt96vgNKPG%~@2zQNLmcluj@0+f@atRLlJ9Q{Qe5tlL{MHNvtQ(a3(=xdeD=?2LH z1GE1Gb7{cBFIb<=ukV%OeZdWvdRHBaW7NK7PB*hS(VkR z!tja;ATs&{I8aZNV6DDA_0b#b>o8{R!U$%LzcwgD8KdcF?{=@N%F!K--npkcQ50Sp zBeYbu(OpXWB0U(gTGI?HO8Itt+L!~nWATlRbt4gurC_K0X<8O56|w-ahDSuIEGME@ zs!)|s=mVAKy<(lR-Bpg{fWM#l+;eM5`BA1?)rfP1vQ0>rv$s3HEV@#bVv_N` zYZmQ<@C?8~jS}{p3E7I(bkt5_Ela{y7YYDTQB=-J|b7Btii}Z?aOKI_PgFisOm{>m8Sr1gP!d)$m(7ypK(n7ULU%A zw(IP7YfRlv|GeMA!J*U0cOgBKzpc;9D7m~SD~ITnLViJjZ<$tuICKxi+f*$bXUt~v zhgdhN)N1j45OMBhfxM??6*X!r5%BdkV$>UhFJG~cU5SVGP#5s4F_2UM-DGwqGIB2s zbX$!*;9GYAqzFyZp#HVtHM53DTnR5BWe?t3gL2G5Rqrf5h!XvgGD*EsGRD3@`oyl> zBQD&S?;#iEVhvp55zbo6hlZ^`y9D8J=VvBPNvIDfPx3120K#-EdG^ zhtzSA(<#TL))K;QjK79gIVQL(mG(DihkN6lXyZ3hQj0_oIy1QsJ?SHMYXR#=h*P^W zHW?Mp!wxoC>pwX3&79qOuQoFjPDq4See3EhZHSUN)nC^7P|B}9bcLW2)X#3ODJ=xN z*W6GsCib~L=$Vgy=hf2}%s3qDh_!sd^gUKRpMUl$*rVtIdW;9A@5}KUN{)G5jeD`o zyiGl~!%kD?A==V=((ZE){H3ex`}%9+P-A=c;>B*5xgpa z43vBv4VqK?94~ALQ@PiFRAFh4Nq%L8C$F&aIaceQV3Ev!Px=NSWCbY1~k2+j=U>2Lh&MY&hLSDrZ9;MZ7%XdF6yB$5CxdFLFo z&G7)W8&6#-wzrIlpBFqS!I1%J?QCPe4C?i;(uB3WlXrXJ%Is8lT*}MryZ@``B0}kA z4TrAq|7AMNfspm1GnZx}BwA|%j!6>e;?*a-n5soJM`XuK(0Eh}s%tpyzEt^n5^tBT zxMAnN8(rk#FGiL!<45l4^>u08`> zDh-aX0rx)zA-MJFC+2=GjjDACK!-SNX(GY2o{0cad}z~UU7Cg;6ww1vRr9x?ptSx3 zsYhDMMtp6zMssI$U_DTAP*BTF25X`fQkS!TQELlCZGNYPBc8O0=)uJ7qakgnPpPj? zBW|B-*uFwg|I&6K2SC37wQi7)!a+}Ii{1-eD%A{?PMFGTSm7{V+t^_5tgxr|aIGps z#1wROFC(ziSNidf5T$1C33f0HrytsH>2DY2KIrDuhBOVKURJl=m$E6{r=YHewrL%5 zNGrnE18Re21kLrk9)Sg^AN&ui1VMjUWma@$$e8_AcNLxeSB3qTKDqs1pfy~2;g18#r2B!69VTA9Xa7Oi*>Cu}am@>V6Yw$W|5dEK7cM zPdBNZX6@e=39l>o54E7-ms)Uco0NSRPl=~vo74%&b{%iwBft^0)E_{}_qOv}S@OI! z#cHi0zOT^aRTY^ zU{h8#1RQWv@7Y_sW6K2};4-#Uw<1%y%uVN=mgC@1Cx)!8LrUWJ9{KlFqOoSjqrLBI z#rOl41QcxmHzj`pc1IUx7s<@yMV~Wf`nzN!X&$48-c6?$6rc2NLp^o{~qXbh!a5 zbw*65b-l#hF=0clIrcEfNmD*odc!1HG`-Ui*Vdd45bc6lMO(%XY)v=2X6lwAJ>t4B zL?09oe98`X3~(f<5fY_!_Ah>B(CVw*g0_j|YS(A|(EOC*GQ>6Ig6+i9-d^bw#c6Sp zB(!(3;_v?-=oMe7AZ;DPLLTXVI7-m#+-P_uFl4L8dZ#SYoOMXGCRYxp#tq;wxenI@ zSbs*ZV8I6yTa>uaEd%a0Zc>u>oV~Nn%zE$;#X>)qagbP1WtFE=pFDFsRRFf;8R|+~ur(R{ab>UiliA-iSUp=bDgb^?fHr>bhG{!~X)=Gyr5#bxQx5{fqW)2=+njBE!L*ly_X;a?&DA;Y z5jBCzU)O?m`iJ)e!~Q!uQ7A?9u~2I7>~c%S~9Ge z0@s_;{(IT3ID{kuVMUvO^4>G*vNJ>5a~7Gf;XHEj!eg0-!N&n)ry z2%67#&NXJ@ZUsDEhn)Iv19XwpFfHf|G=a@`*ik;C;oRzJFeH0xI#E`wF(NMpRE#m4ko#769(I6 zo?09+pg&1Irkfzphi^<%C&p3!q1q_Ne<}Jay!Nfgvg3qhqHf10-+zcMH&>tL>b+02 z_E{mctth*hVYL9!w57^`tBpHo=)X$?LPBWQtiR9egbZA^z4J6w(Qcjy#3KD#u{ zVI+r`a;ty~3QdXQ13m)h7g{$(o?aynrFQOffB7Tj`_?FLr-#1M3889jrkS03WTd|w zS=2s7M)1L^7}{E<-PeC)!SAP8>i2{zXzRvgxpD{zwPvdsZQr*_%)s5ViZ=Yf-2yjw zZkiS59y`h=BoqrUm{~LHAD>@k%o@T))qmiPfs3sZ(y_+I!W)6bxHAHDeprlhNB0jB z0M}i=TF(f(UU5f9?-hvDx^7J4TGqEiW;FnX^r)VH4O#m2{?0uk@|!!t*6-LMX@ih7 z9_G^f$F*Yllzi6^FU!X{g%orVkJ9CK0s8Ew&4m0UXL0C{dYO&a_V-$da>(To5W?Z= zKgz>xV$bOn7K-^u1NUV&bfs~01hAdU{(7DS;NU>Vq9uMJShbm*6(fRE@UPp5I|5#Srqc(2cafzVZ*FE;%Bi}{`0xtwik8`GbS{Ucmu-yh4f zP&LNhR8xBB@E$=?{39>4pdj~9 zy+n~Zr0~UxKM6N1EVaDt{~1P)kfaAGG`C;Gm}mLYBevVvU%_xO?|={j?H{ziY;G)L z96LvT>I6HN8cJ_*Iyd~9@_oCZ)aQ>maD+m6JjSJvrf|);Rk2vOd+=)XGGxv#)*Mu( zCnff|)X^Zhb0vJCR#~qvN~=N_9{t68DVXt-nm}I{^S8{hK^|E0jaUhb`I@w zLu`u7Q1I#w9GLOF!>h9bk2Vc+vnD1YuCe69ULxp0t+8BskV-uCPe$+oZU^2v zoFzYos||RY#sht1aRjpe1$R5JHzTFos_XDzID-^K34nmDs)t{OVJ=D^{|=b7{|K0u z<02E*ZAsNt( zHPNS-*s54p;@*MbC|CJcSAUZct#Er;t?9vDB@EX^IlDc#nCFD@km*Kl>+DM44uvWgZw`JE3Y zN~V`$vEF~p=3oxzCoJ{OX_o~L2ca|DwB(2QW`HihnxL%3fPJ63G~ho@y?;Genq|h( zsva?DuEJN^Ka@^UFl1BgDf?ZZlJ2t@Y%m!-QrAqBy2zJ;81p&H)5hIMhRyL5%Zt7H zj@y?0bB+MsI7$gzF(i|BT>e|ul zVEDES`n#l|z@6)mV^!2HN|na{YVW(ln##7mLsP22D54@DICnr1P-!Y9R4W)-5NQz@ zdJ~Z@1V)-7qGQ1Uq=-^N2}rL|Ku{w^sS+RpA|-^-LLedJJt5N6x%1vT?{~lVdA{%b zLpbDY_E~$C-&%X^wWw8PRqM`++S%`7bYGp94cc-15BtMmWb(|SAQmY*j?uW72g>b@ zc!@`<4IaOGeY=Zppji43tZQ=xu*_;@RpvpgZJ29=F2H(#YmZ+t-qqC(moFlSrcGw8 zJJk5Uu+JR--cG7;3M-5grjyuw- zbWv!eWhzZ+plZAsQov;9t%e;fZ(3iB`M+Ka!IbL7x$9pVb*nBi7hS0|qXi(jmH0c< z_)-QMh$BqiN$SR{o0rsXecP=WLd!>-$;Ul~*JaBs`7adSpFoxKZ8h$xvkF^<{xs)6 zXO0|TKn(j6FmbDp8suyqM1Hr%_F_yuTZlmL{ixNnsphup=;Hzjz98#( zU#)M_7V+jhPwAJ_A&O_{8*BgkH8xKYsRpht~bbnFs0vW zTId2%NIpgV>67#pM`7TY3uTUO=Ked7laV2EtBpF-J^@3Ty&OMK&MT8Vw?$5wA~_Ch zUMsF_N_^Fef3kL)U?v@tBP7#Y!|dz8!tg-mcl}IXNJc6U4H^YILVGsevtRRYvB zOYKGRXKZo2E;_ImOIwaVn8AVd9U-}lKd(i$&Z++Kh;J_iNCf!`LH-0ie%i2g+6Vh? z>vXrR@(T`)2LZoHvF;#{VWhH%pS&I0{gCaNi9jckAr>ytx0$5Ib{x``RVs^O*g_NL z4=5&yT?k3<=k0t63){_7Lx{*bJCi={IOS zuYBX?`J~Qw3S)0q&^5U#lP%&0)w8tXeY!tsJtMzKnY!DW{ptjw3w5EUpFJ;P2j=+8 z2A@ia=My(_`C6~C?DJ}_Sy=Q4H8*u{BI7zJ_dm8%-BywtqWY7Avi*BcYS+&qHUskU_>BoG z_Lmh9AXnkts7SKHQo=0qM&R#fP{(5|kU3eFM$Y+_Th8}YOx_4l-Gi@S3I;@vw z=bt5^Fz5TI&HO1unIY%$=I#(l+mKEkd<6vyGpa)@M#Mq$Dxq4|NuwbJ&**z*;sG>r z!OGOU$Z_yf$(vlb_DxP>kE;E50$bOqaViA0duCX)9Bsx0XoHT=jdp+P@)I z&G*F8(9%Ep>s;H3APsFS&WNQTf3NV_V(L;fvd^ax2u6O)q8zQt#VY~^qn6xw%M};S zQZ&EJ8)^0Gd2cMAWCp9_ObXtXTwsIFP%mCDZP!U=L#g{Rq1ewk=C<|5TJ{S@{WM;j1E__ zFSbm; zsMLc}Na5x|=tp+I%DF*&X%rVkqRE!zikLL!f-8YIn2{T4M4le@+wq=q57wb%M2`i) zm!yL>8a##KiZ2_J#wtg?+W>stbyRy4elR$h1nMo zUUQ<3eYDC;mR-JZY-IA>qvkoB7cyG^11TIUBb-u9mY&Nfj>dq^MJUhY8(MDhC0YfYf-+G`E8SN&^l4=!g=aVEqn|eE+|L1gIqLaDkge#A8 z7qe5Ik0lV`tvt`o+Q?H5WtKe{l}j!2MY+x?O6rtPGwwuwT@Nqw2u&n;eKi-vs1oYe0nwP#`KAnQ+Jmnz^PKC|;h zAMqSd%=rvWm#V48W|$V#LdtIEk18<|CGXmUINB~AYvW$(cLg8cxin6h%sPmPwMhs_ zVx=qv+U2MByAYDY{a(pyxqUcd8!~@pnr2G@?+xht5=Y%z(grRU+?}GM8oE1+pDH>{mX+c_g;S0A!#?V*V)^ z7*Q^S?UyDG zlZCx(;*T?QL>Km0mXK7vbeT_x$;WuY30bB+B7ey%#d_ZEc>nEzfUx72_sLstg89+0nlcxNlN-#RC|k+Ka%kI`%CBYx;MnXmu+b@Y>``ll?g99fHUqtY8@vlvOYUuE8X zay{UvM@Szw~&|(6%LzDmuHbuu43q8if zwd;vczzqM1dW>?QpDzOxVJj-QU1=t&EDuPYo}>FzD=fqC4cD2CdGO-bQ*%*K9RFiq zp@a8zBfvC$=xenCAR14{4BNw_qDBhWS7l$4&exNFQI9^gh!XX70LBkZ3l$Zu<@kD3 zaeW9nUaJ>iY|m_*J-rc^)Yrqf^@U%LTrzsbT`*?AyH(nJt^S#p$=EjHYk9&bR6rkE zTie2bu_Ll!R`jvUo-lxex=QrdY7Q%dd+K~W(dM`FYwd=WPHBTT|Hj051=o9zeYwBd zl8m2!a|2I6_P@5o;B{xJ~vqSokw^&Selt<>+e_Ryfg&x8%g-uX;#q~L z+}^8aL%ygfX1N7h9A$NEdCNEMyzpqKer2#prz1{7wvViP=3+x-p1I9#AYN~ek-i#t zfDP)T6GVq+>Fm>h-=)Hga$_%dLTrm4I$&8$^4erGwhdJDy@mKbA;}FF?Va17xK&umB|0jng zd<7n@wa^t8v7$V9ZU3U3GuEEX5$TQ&vc_7^1GNO5{1E51I@ZB*L`!o_BT2r8__&x7 zf;N*Xv6gi>eZGGXkK+VI77?py~ znU1Ff8*~~TyW!QJHmDu=2lLb2*iie>4|0^ef>;m8?dkw%B(#93r`=BBaU}`}`&Rc( zyB)w^Tk;Zi!))O23pA&DE z!Eh-VFs_6>vphiHC~2meY#YZ?F-!s)*Ty|dEJo4Ur^U!q_GAqbzbA>PmRgd?5T=!( zp++7yo|xtLqSU(+zV*_X&Wa|@*=0J%GsGv`FU-3JLJNuntUNt7tdv*r!cfpA>Rh(7 z0b_0m8OEa@O*>}V1Nh^NJ5muBw6%M0141iw!SYfT*OB^X&|=0sJfMP%M_qHA{hh0$ z&LMy{Oj6?F?x&dL>tnKI^4r6A4SqnFFp-qEFjH$Wf%#254 zpwf_BLC-T#;Z3xCSiz@dVMeFd^e)7*iFYXD(FVlBjLzt?r-*IPY9I#X1E7oEvT^2f zmQi91n)z`<;n@}Hj7I@d8{u>;455*m$t_d=A0xNq(p)uK=#}>!OD^JKgOG)c$t%pkL^DIi{^0w2V^Kvm%Kd;R#&EH(T=XRq!=vNJZt33 za^hOrjSbuqp2lR>8vZL@U(9E>*sr6yg4g4;qkZaH78e0Ylc~Rad%$KX1}!wKH=!(=HP&jpE*rjbth!yTjY$oN znR!VM8DRY4177v`awR(eC`WAAw_U~Rw%I}W-hl!}HOK(1; ze8BfS_tV-6A>0(?VN<}(2v9DBE{DeH;im5)$`6Uyy}oqI><7d5$^&-4{=te!PFN{k z&wxY=Y0&PzR+1rWsWsjAWL^ba zaEVsVT30HQ_6qjsBcI{#XWC-NV^22pyH*ZEmGA>)a^xMR=o_K;w@vjmDn}1B;sup( zwy(>kt+lRZdP>lh!HPtaf+K2#=pk4wvQ>sKm_*{P(n{%D0K@7W)8CW~NBQ`%9&}u8Hi9pS9 z@#roin|(McG8_G z2;@<&L_T8imnC#*g>@1oEGpi^_2K~aO8is-0#XO>a*bA|i`k0hK*&sfaa7;wUXpPu zd)^f2PWDFhuz842TX4Z_b#^x@OLlIEnID!oJ!o zBV1q7Y>R+@^J9B$OMg4PE=p=raHVQ$dc*nK-X5oZD8${>IWljDQ8v8T7ZI_ZnOvj6 zI4;85EWtM{N~PCDrL){~h!e^aeQ&J=7qRE)dRb!@%(giT0r(FjdU`8tA>Xd@( zlr9%)rPWJlZz=Vc{25pM3FRMGVrsB%Up$orfxLH5ixV!o=eb)ehTuIVINO$~BMuO{ zHDvJ3!@Wz5k4?9?JXZ4RfI?#8Fqz4>l+WuWtnrLj`$nGePi~bQ=HQ=3PO19Hd;+pc zR_)}gJ_~X6S@e?R60KdLn-kdd=_m?TZA(%VS5HU>Y$w5Fj;f5i@%rt3FNec0%PjpV zvKgU7I3rzejne)u>*}(*y6Tjpac<$&4@(_Q&SCgyKjxy_t9H{FQS8{MK6>scoGQyl$D3?@LUX7G^}NhzToMl3RFdz_vMQUC=7cI$9I& zWV?-*w@^Mr!P?D-1T=|dAW)ADl`AyM4epG$LU6@9%l zHV}U!ASBp%=iR)lvUC>gtH^^+`1Ja?Qn2z2l9IHF&fYgmZ_+4csqZf@Kw-ut8J8JU z2~f`~-20~#?;ioe{=h%v)X%B;`dI9%=NuU+7<*_+5?+OfX^+h}O!$8(IQxG93-5RT z>PXm%`~@P9DHC8|wcGyR`vrWZE6xdgArdZ0+3U%*V&!>(pFi-2rsxjegjanans5+#N=DTIi$cc&V`c7UjnaxR{-Qiy2kM`!C1VHa=i+NS!iY ziVCtkwixqQ72|I5*?|J(yFZZ8arF1;LOpu@aCe;@i4BAm)BzE=>m zkL|Yj$__EhQ}&Y1kpQs|!54o2v^YAO~Y$tanOa4BRmOa!4AP*rsZmiI?@dd#qDxk^zF zg*Y48uoT-T!2I(n_4D^%lYFYVKZoe{py714QO`E-=68N63I%%ROg;BHnPF-bBuMvs-1h!BB4MI#t! zlC*O9gz<(OJBAh4vGrz1a-bdWn zALN~(Jni=Pu44XGxgM6uO4|Q*i+n{oDXMp zyd$(m^8qa}fj!o_9@+8{wMpb^pg{f@Q@rsZq}x?}^U-31sqU4dXr!QL*P?U;5p z$JiDRn&_A8E>cx|EQsd{y+0NG+CZNOuB!n=h-ni$P?fIAO7PwTWcV0jvGzo-yg}+i zb4Y=P-9)=3WMZD%uoT)&I{3-i6<4oFWa>d*Q8s7lBW4|EmN#Yp;rv7>lEY{;?&M7c zRdu1n=I~P`HCqEej1RjAo{VYb_{5ASHoB8Q zc$nA-($wz=M(FBGdyGl6j{A%klXr~(tIy^bGsfwG-uEXnlbAR#1+nNz)f3i+Vvlz& z2sAkXVY}OnCqPo^Owt9Ry|^I8QTZ-T-%zT_o>~m^XcTh!@eeQ z>k>evFq3ik3A*L*TH0$(ts$P11>?=d#PCgd>$eVr7W^4$M?H_scx=A#BV5k(icDT$)$4 zowsFGIKULo#bXyR+>hE~wH;&3>Il7bAs1#M*7diuhEb>;4*Qw#d1!%v#x{ zwG}7;YYxZFj6jkug>{;s7OJsQ=DeUwBCGRI9vnfV9^ogE?$FV@{d-?KUXArk0rHrq8^63L5Ni#>JEFs{Ta?rs$WAZf`?7{M0PXmcYpkRVh~Z@xyq);agVN#PW4 zt>*<9S;$V%0Gr1zU$B#z*n{y zm1Kp>FfPIDH$>9iEkK+2_tiS%y$k^NvU znz^t`=;Jv^%2B=)p7UMoHWP8XlVRY1<3H{0xXN6n9!M>~^fmhJYUj?fsC+1uQ(N(6 zi>^i9ClRI|0j_<~YEoEa&M$krOYg!K!n}dzjVlD&WKIGQcV0!B%}-Zhvj3qP`nDI8 zn=)-jJWu(JY!JYbA3!ao-o%RNwJfp7gBw07(dLG?$$9(lZ$rmk_VMpq5UD)uHW_rC z-aGQ!p|w~YBY5BM89N1${GBfaS`{4R?@v7v!hwy2N_$jGwC@8Cj+KQs7qxgr_3;&7QShk@AEiqdd`3y8c=)BWMMG*1HuHRyM4C3 zji*5MRk9W~6li=;oqGq4TJUpq_;MUAY%@MX&M1W`J`h82ZNVRSiD*&=bKeQXUOKQY z?rSh+l(+R7$Z)H!_zve|3i&fQ$KAyJ%nwJ}HDG|{0hYG$g^!633+hWrmip!XE3^Cs z!S8vs+^izqRNb~ET>l{-=B98yihucfcHH*i{EiQ^IMSoOWin?Qvr$wq}acmm$ctvxtx}NlrOQo*Ofa5{yBOX28LIu$oKT7$2xj-?_E=3 zYtU_zg8rxI@_*VmFwn%`Rf^vLVZMgV#-$LpD6pGvAb-NN1A z|HknQ2l!=nrBnw8`}@s&p7}fuSf|A+K2~aqUGJ9zcgV`d4wtCiZjyId6mrNx?jeB7 zRaD@XHJ(F&(=x7F=w8YGL_T@yB7^_*BW$zvU8k`mgclfBOoKJ*{-8Plo zzwwo_rX+iS4HJ*w8iR(aA;{TlbIo`H;o8p+yQb36%3c20@@v1slMC{8K+T6!z{YQY zI*CWqf;u=`lZt-vTO93|%ISA+5wzH+?&49GXmPw|;m@4RYF zQT;pB#htYkfvdh4$Xq8}^PtMj65%U4yORzD4$bsuj8hXzB|3WL3p*8H9VTy#LmL3H z5oya#DJMQT2Jh8pyNHyP)yg*_PmOBc^-&jNiN0$m-)Zh@u7KAn2$Jo)%2pj36%;o0 zo=uN8t}(1Jd8MQ4oG82~_GhcQRCTPPAZ324%8_*C`H_}>hZR`K3hyVaN8A+?cN5(D%rC|3VpNi@0+=c)q)5ycNgE@ z0jjb1gn)9%r#~rhw_0CRh=FUqjyyhmj-2Kn{y3KD;cV2WU$5?#>ApkOPm_2wW`63b z-{-8(_r?A9@4C(7PpIp{I;e&@v_(9vjzU~&!AX34>z32=c~3>(GA-55$m4=`SvzMc zBG@3vuv&4*Ht{$HRqWPLBk%JZjwP+R3g`6!XF2xCVD(X%cdq<_ck3KA!|Cslg~UqddMkK0*`7uRL8cfB&IYYaw4mEMuAulRqzNkJw=UA zkhy8Ee$_k?`>@;X_C-Q_&GWIhL@S4>+0r;DtvU_nbHl6?#q`dmX;iwiJhM@Lz?ojf-uu6 z8@#3`G#I?dUEClIKV$R`!&CqEaxV3%+1m>H%$|ec1&6cve_FVl%HP0hrBq{%aDu3( zGDjBxJF)$>cM4kTt$Ry8!LPl$x*&It3MPy=Qhb!`g^tWnJ zDVYAqp9FfmGe798g0~YttO>Y35GZ zGUt-s#`^mFRt)s&^N#x9GGy!Q?bpg}dloVElKE~NU13(XW=N!rQYkNvBJhskV!5A2 z-#YI5JqpurpYox<;Wa2Djw7hUeJja#cBf=9bCHd*JNVeAQY{ZJT}p>&%ptdlqJ0&@ zW}n^R<-*qeHo^m0ReOsI`PZ<(Z=B)AemmRM6~$-zRjgbDn^UJ!!d()X~3&^8hPiIABopCe>u&Na&1hTo7;qz*i_G zM)l0o>#+r(S4n1wq+bJy7R_GjXkR)~ajO9f+lkrEd_U4A!Hn`jFsj>7G_Ne>IV1apSM%a0xtJ!<0e?kkl+}`s`N}t@cs6ek1(RsS25ny z<;uyM^Um^J+Ruw=>ebw&m%*FukwMXJ&0NeWMGw)T2`V6WLlUi^eLqpU#}rK4UJfLE z`{j$8xigKdK>oo@QjkPEc_IBw$d=0%2#F78F{0*bYfh{3n&dp0;A-Hki{*G!&2%x{ z`xT;x6SVWm^kcY_s9fK{Zv;*8LMBu?V`L~H#!38Vpz(Rks#VBeVfp>^dsUkkm7N2a zuI%Pnrqb~VJJQzYZNrI(U3o_{eHN=GXKk?vCF5oXzh{!y|7s0|JvlGH_5Lr zu{To3AaJu1anOsa>wlAlFQU| |" - Refer to onnxruntime_session_options_config_keys.h for valid keys and values. - [Example] -C "session.disable_cpu_ep_fallback|1 ep.context_enable|1" - -i: Specify EP specific runtime options as key value pairs. Different runtime options available are: + -C: Specify session configuration entries as key-value pairs: -C "| |" + Refer to onnxruntime_session_options_config_keys.h for valid keys and values. + [Example] -C "session.disable_cpu_ep_fallback|1 ep.context_enable|1" + -i: Specify EP specific runtime options as key value pairs. Different runtime options available are: [Usage]: -e -i '| |' - [ACL only] [enable_fast_math]: Options: 'true', 'false', default: 'false', + [ACL only] [enable_fast_math]: Options: 'true', 'false', default: 'false', -T [Set intra op thread affinities]: Specify intra op thread affinity string - [Example]: -T 1,2;3,4;5,6 or -T 1-2;3-4;5-6 + [Example]: -T 1,2;3,4;5,6 or -T 1-2;3-4;5-6 Use semicolon to separate configuration between threads. E.g. 1,2;3,4;5,6 specifies affinities for three threads, the first thread will be attached to the first and second logical processor. The number of affinities must be equal to intra_op_num_threads - 1 @@ -84,22 +84,22 @@ Example of running *onnxruntime_perf_test* on target using the pre-installed mob .. code-block:: console # /usr/bin/onnxruntime-tests/onnxruntime_perf_test -I -m times -r 8 -e acl -P /usr/bin/onnxruntime-tests/testdata/mobilenet_v3_small_excerpt.onnx - Session creation time cost: 0.0273071 s - First inference time cost: 20 ms - Total inference time cost: 0.14188 s + Session creation time cost: 0.139671 s + First inference time cost: 15 ms + Total inference time cost: 0.126396 s Total inference requests: 8 - Average inference time cost: 17.735 ms - Total inference run time: 0.141991 s - Number of inferences per second: 56.3415 - Avg CPU usage: 98 % - Peak working set size: 35299328 bytes - Avg CPU usage:98 - Peak working set size:35299328 + Average inference time cost: 15.7995 ms + Total inference run time: 0.126518 s + Number of inferences per second: 63.232 + Avg CPU usage: 100 % + Peak working set size: 37994496 bytes + Avg CPU usage:100 + Peak working set size:37994496 Runs:8 - Min Latency: 0.0159831 s - Max Latency: 0.0232702 s - P50 Latency: 0.0167086 s - P90 Latency: 0.0232702 s - P95 Latency: 0.0232702 s - P99 Latency: 0.0232702 s - P999 Latency: 0.0232702 s + Min Latency: 0.00955697 s + Max Latency: 0.0239688 s + P50 Latency: 0.0156388 s + P90 Latency: 0.0239688 s + P95 Latency: 0.0239688 s + P99 Latency: 0.0239688 s + P999 Latency: 0.0239688 s diff --git a/source/linux/Foundational_Components/Machine_Learning/tflite.rst b/source/linux/Foundational_Components/Machine_Learning/tflite.rst index 3a4de7735..567cef372 100644 --- a/source/linux/Foundational_Components/Machine_Learning/tflite.rst +++ b/source/linux/Foundational_Components/Machine_Learning/tflite.rst @@ -18,7 +18,7 @@ It supports on-device inference with low latency and a compact binary size. You Features ******** - - TensorFlow Lite v2.18.0 via Yocto - `meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite_2.18.0.bb `__ + - TensorFlow Lite v2.20.0 via Yocto - `meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite_2.20.0.bb `__ - Multithreaded computation with acceleration using Arm Neon SIMD instructions on Cortex-A cores - C++ Library and Python interpreter (supported Python version 3) - TensorFlow Lite Model benchmark Tool (i.e. :command:`benchmark_model`) @@ -89,23 +89,21 @@ The output of the benchmarking application should be similar to: root@am62xx-evm:~# /opt/tensorflow-lite/tools/benchmark_model --graph=/usr/share/oob-demo-assets/models/ssd_mobilenet_v2_coco.tflite --num_threads=4 --use_xnnpack=false INFO: STARTING! INFO: Log parameter values verbosely: [0] - INFO: Num threads: [4] INFO: Graph: [/usr/share/oob-demo-assets/models/ssd_mobilenet_v2_coco.tflite] INFO: Signature to run: [] - INFO: #threads used for CPU inference: [4] INFO: Use xnnpack: [0] INFO: Loaded model /usr/share/oob-demo-assets/models/ssd_mobilenet_v2_coco.tflite INFO: The input model file size (MB): 67.3128 - INFO: Initialized session in 6.418ms. + INFO: Initialized session in 5.579ms. INFO: Running benchmark for at least 1 iterations and at least 0.5 seconds but terminate if exceeding 150 seconds. - INFO: count=1 curr=1041765 + INFO: count=1 curr=1357602 p5=1357602 median=1357602 p95=1357602 INFO: Running benchmark for at least 50 iterations and at least 1 seconds but terminate if exceeding 150 seconds. - INFO: count=50 first=977738 curr=964908 min=911877 max=1112273 avg=971535 std=39112 + INFO: count=50 first=1249964 curr=1240143 min=1238588 max=1252566 avg=1.24027e+06 std=2565 p5=1238753 median=1239807 p95=1247415 - INFO: Inference timings in us: Init: 6418, First inference: 1041765, Warmup (avg): 1.04176e+06, Inference (avg): 971535 + INFO: Inference timings in us: Init: 5579, First inference: 1357602, Warmup (avg): 1.3576e+06, Inference (avg): 1.24027e+06 INFO: Note: as the benchmark tool itself affects memory footprint, the following is only APPROXIMATE to the actual memory footprint of the model at runtime. Take the information at your discretion. - INFO: Memory footprint delta from the start of the tool (MB): init=6.14844 overall=109.848 + INFO: Memory footprint delta from the start of the tool (MB): init=6.36328 overall=109.832 Where, @@ -130,26 +128,23 @@ The output of the benchmarking application should be similar to, root@am62xx-evm:~# /opt/tensorflow-lite/tools/benchmark_model --graph=/usr/share/oob-demo-assets/models/ssd_mobilenet_v2_coco.tflite --num_threads=4 --use_xnnpack=true INFO: STARTING! INFO: Log parameter values verbosely: [0] - INFO: Num threads: [4] INFO: Graph: [/usr/share/oob-demo-assets/models/ssd_mobilenet_v2_coco.tflite] INFO: Signature to run: [] - INFO: #threads used for CPU inference: [4] INFO: Use xnnpack: [1] INFO: Loaded model /usr/share/oob-demo-assets/models/ssd_mobilenet_v2_coco.tflite INFO: Created TensorFlow Lite XNNPACK delegate for CPU. INFO: XNNPACK delegate created. INFO: Explicitly applied XNNPACK delegate, and the model graph will be partially executed by the delegate w/ 1 delegate kernels. INFO: The input model file size (MB): 67.3128 - INFO: Initialized session in 592.232ms. + INFO: Initialized session in 614.333ms. INFO: Running benchmark for at least 1 iterations and at least 0.5 seconds but terminate if exceeding 150 seconds. - INFO: count=1 curr=633430 - + INFO: count=1 curr=905463 p5=905463 median=905463 p95=905463 INFO: Running benchmark for at least 50 iterations and at least 1 seconds but terminate if exceeding 150 seconds. - INFO: count=50 first=605745 curr=618849 min=568228 max=722188 avg=602943 std=27690 - - INFO: Inference timings in us: Init: 592232, First inference: 633430, Warmup (avg): 633430, Inference (avg): 602943 + INFO: count=50 first=900416 curr=898333 min=898007 max=906121 avg=899641 std=1549 p5=898333 median=899281 p95=904305 + INFO: Inference timings in us: Init: 614333, First inference: 905463, Warmup (avg): 905463, Inference (avg): 899641 INFO: Note: as the benchmark tool itself affects memory footprint, the following is only APPROXIMATE to the actual memory footprint of the model at runtime. Take the information at your discretion. - INFO: Memory footprint delta from the start of the tool (MB): init=133.086 overall=149.531 + INFO: Memory footprint delta from the start of the tool (MB): init=146.363 overall=150.141 + Where, @@ -166,14 +161,14 @@ The following performance numbers are captured with :command:`benchmark_model` o :header: "SOC", "Delegates", "Inference Time (sec)", "Initialization Time (ms)", "Overall Memory Footprint (MB)" :widths: 10, 10, 20, 20, 20 - "AM62X", "CPU only", "0.977168", "6.129", "110.07" - "", "XNNPACK", "0.613474", "593.558", "149.699" - "AM62PX", "CPU only", "0.419261", "4.79", "108.707" - "", "XNNPACK", "0.274756", "1208.04", "149.395" - "AM64X", "CPU only", "1.10675", "144.535", "109.562" - "", "XNNPACK", "0.702809", "601.33", "149.602" - "AM62L", "CPU only", "1.04867", "6.088", "110.129" - "", "XNNPACK", "0.661133", "466.216", "149.703" + "AM62X", "CPU only", "1.24027", "5.579", "109.832" + "", "XNNPACK", "0.899641", "614.333", "150.141" + "AM62PX", "CPU only", "1.23341", "252.390", "111.121" + "", "XNNPACK", "0.875280", "597.639", "150.52" + "AM64X", "CPU only", "1.26429", "135.579", "110.188" + "", "XNNPACK", "0.740743", "885.636", "150.484" + "AM62L", "CPU only", "1.3708", "807.076", "111.152" + "", "XNNPACK", "0.930577", "769.145", "150.496" Based on the above data, using the XNNPACK delegate significantly improves inference times across all SoCs, though it generally increases initialization time and overall memory footprint. diff --git a/source/linux/Foundational_Components_Machine_Learning.rst b/source/linux/Foundational_Components_Machine_Learning.rst index 5028f0fab..acd39ca5f 100644 --- a/source/linux/Foundational_Components_Machine_Learning.rst +++ b/source/linux/Foundational_Components_Machine_Learning.rst @@ -10,7 +10,7 @@ Machine Learning and use. Sitara machine learning today consists of ONNX Runtime, TensorFlow Lite, Arm NN, NNStreamer, and RNN library. - .. figure:: ../images/Sitara_machine_learning_stack_diagram.png + .. figure:: ../images/Sitara_machine_learning_stack_diagram.jpeg :align: center Sitara Machine Learnining Offering @@ -36,17 +36,19 @@ Machine Learning * Imports ONNX and TensorFlow Lite models. * Provides TensorFlow Lite delegate. - .. rubric:: `RNN Library `__ + .. rubric:: `Arm Compute Library `__ - * Provides Long Short-Term Memory (LSTM) and fully connected layers in a standalone library to allow for rapid prototyping of inference applications that require Recurrent Neural Networks. + * Open source inference engine available from Arm. * Runs on all Cortex-A ARM cores (AM3x, AM4x, AM5x, AM6x Sitara devices). - * Integrated into TI's Processor SDK Linux in an OOB demo for `Predictive Maintenance `__. + * Provides highly optimized kernels for NEON and CPU acceleration. + * Used as a backend to accelerate ML frameworks like Arm NN. - .. rubric:: `TI Deep Learning (TIDL) `__ + .. rubric:: `NNStreamer `__ - * Accelerates deep learning inference on C66x DSP cores and/or on Embedded Vision Engine (EVE) subsystems. - * Available on AM57x device only. - * Supports CNN at the moment, and imports Caffe, ONNX, and Tensorflow models. + * Open source framework based on GStreamer for neural network pipelines. + * Runs on all Cortex-A ARM cores (AM3x, AM4x, AM5x, AM6x Sitara devices). + * Supports multiple backends such as TensorFlow Lite and Arm NN. + * Enables easy integration of ML inference into streaming pipelines. .. ifconfig:: CONFIG_part_family in ('J7_family') @@ -55,17 +57,20 @@ Machine Learning TI's Processor SDK Linux, free to download and use. Jacinto machine learning today consists of Neo-AI-DLR library. -+--------------------------+-----------+-----------------------+--------------------+--------------------+ -| ML inference Library | Version | Delegate / | Python API | C/C++ API | -| | | Execution provider | | | -+==========================+===========+=======================+====================+====================+ -| TensorFlow Lite | 2.18.0 | CPU, XNNPACK, ARMNN | YES | YES | -+--------------------------+-----------+-----------------------+--------------------+--------------------+ -| ONNX Runtime | 1.20.1 | CPU, ACL | YES | YES | -+--------------------------+-----------+-----------------------+--------------------+--------------------+ -| Arm NN | 1.20.1 | ACL | YES | YES | -+--------------------------+-----------+-----------------------+--------------------+--------------------+ - ++--------------------------+-----------+-------------------------+--------------------+--------------------+ +| ML inference Library | Version | Delegate / | Python API | C/C++ API | +| | | Execution provider | | | ++==========================+===========+=========================+====================+====================+ +| TensorFlow Lite | 2.20.0 | CPU, XNNPACK, ARMNN | YES | YES | ++--------------------------+-----------+-------------------------+--------------------+--------------------+ +| ONNX Runtime | 1.23.2 | CPU, ACL | YES | YES | ++--------------------------+-----------+-------------------------+--------------------+--------------------+ +| Arm NN | 26.01 | ACL | YES | YES | ++--------------------------+-----------+-------------------------+--------------------+--------------------+ +| Arm Compute Library | 52.7.0 | NA (Backend Library) | Yes | YES | ++--------------------------+-----------+-------------------------+--------------------+--------------------+ +| NNStreamer | 2.6.0 | NA (Pipeline Framework) | Yes | YES | ++--------------------------+-----------+-------------------------+--------------------+--------------------+ .. toctree::