From 0b88b330bbb2ec25c557e5952cf7fc3feee1da98 Mon Sep 17 00:00:00 2001 From: Vidit Agarwal Date: Sat, 11 Nov 2023 00:15:23 +0530 Subject: [PATCH 1/5] added tutorial for torchserve on aws --- .../static/torchserve_container_amazonECR.png | Bin 0 -> 32825 bytes .../torchserve_endpoint_aws_sagemaker.png | Bin 0 -> 60641 bytes ...torchserve_model_hosting_aws_sagemaker.png | Bin 0 -> 41173 bytes .../torchserve_model_output_aws_sagemaker.png | Bin 0 -> 29151 bytes .../torchserve_aws_sagemaker_tutorial.rst | 232 ++++++++++++++++++ 5 files changed, 232 insertions(+) create mode 100644 intermediate_source/static/torchserve_container_amazonECR.png create mode 100644 intermediate_source/static/torchserve_endpoint_aws_sagemaker.png create mode 100644 intermediate_source/static/torchserve_model_hosting_aws_sagemaker.png create mode 100644 intermediate_source/static/torchserve_model_output_aws_sagemaker.png create mode 100644 intermediate_source/torchserve_aws_sagemaker_tutorial.rst diff --git a/intermediate_source/static/torchserve_container_amazonECR.png b/intermediate_source/static/torchserve_container_amazonECR.png new file mode 100644 index 0000000000000000000000000000000000000000..357afcaadd74c1cd957e96f18ef4f66e982b8499 GIT binary patch literal 32825 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 literal 0 HcmV?d00001 diff --git a/intermediate_source/static/torchserve_endpoint_aws_sagemaker.png b/intermediate_source/static/torchserve_endpoint_aws_sagemaker.png new file mode 100644 index 0000000000000000000000000000000000000000..a148fc232c87c256c26ffdafc0eba41f8aa7bdc5 GIT binary patch literal 60641 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

N92zxmsh6!5} zn4m8YbB==K9Y_g4nHpO9G{`uL0_s8sG;Bx}^~6xOCQ#M_4xsYS*-OJgwUIKVQYFLMlG3oP9{E9b6X1?O^(?fHJCGM`M8^x6KR9n zb_X&nPI74Q=|yMMbegH{nr|b|H#=FmuDcESvbQZ0OR1qMZgNr9%JY>EZw?)sGuWTI z@6o=Z;NONlPY=I3J-Iyg`$=~=qw)I1+wPh?=$phbK)6B6=E8g&4wYe|2;jfAhkap+ z#C_$9Z`k^*$KRdkkbOzz?it|B^WpIs920s21+x6Y-3FTTB+}vVoc}a&xh%% zs&`BLOVie+^8!oE%NOSX@wM>15JkBx8oGg~_10faN8Vy?eC$3zTg#hokj8xpRa{T1 z&1}DC9itFVrbL?cZ%|Nu^KhIraL|?|Y3Q)Bb&KP^_|X)3IcM5;!rCY{RESxY(ws zvtjGx%sf|3kaEq{_6@CLC*{5GjDy}9J2rQBf;ipvisNV;Ot;}{$KCtqVTwuCyMN|3 z>3oC5Ia2y@U5%R;L!gPIiy=c-*Js{!Lg~%vpGMno81@-@#$-;K?xreKv&MyCUpLP# znBRv>jdol1d%o$`hAB2MN)xlbI412heb?=~j#nWECe|@%9f?_FJ4HuQW|Jx1c#ga! z*qA=SZZxRvWx#E`D_hwv}1)Y?6^z4VC`!`;gc>P=YVB3Y_ci8SXo43?aw*f51b#?VejNkf3(3KtIIob!h1UtqUl12HN>62+%ZH z%}|1E1A`CTKHgE5sw0exKOMLazFXyV#((4f9;2v=#MHxh^8-K0eP@UrjzK4se|T%% zxNuP6z=6vBsu926;|;cQuKo1h-G#J%q4Rstb8ap>ZM@hu{)5f!aGT|r=WhgnMMtB_ zvm1If(o-L*PvHOB$On>l*dF*E+5eBF56~1y^r)^B7?8q5QPwC++aCY{g29MPDhWW( z3z2JvYc$uQ0Lj`e6p#pLWl(A~$R&x@DtlD1(kyLdHcZWX1!j>|@B0b49htInse<9y zwj~a@fwx~3&3I&sMMk)kv$IE&%|dm%S>1T!a6<69Rwwa5HR) zZL`{rOQY40Rs&$PdISKK(v+^C>@iypZ~$P?I&-DBj0{ME!bFG!CQLDyj~xtT0-G%C zHOhUP$x8Pqz@ak;3>)}GnhssC2q@jl`CYnRid z>0TZ6c(SieafmLd_yNC&^<&rN-7Yr<)v~MFdBOvor8i&xJy;#k{LGmK001aTKK%f4 zY-tPp!Rub6{QNbS5HJh6B0qIzlD`GmAJ_9(S&pQ2ZLEVEClT1(VUa;0(NHCC=oADW z;s@KJbwdD}Kv(RqV;RZi33!;K71t{P9LnkDu?#?|MF~FB>x|G5J4(xOT30AEV0b&A zG3_TV+@O(F+l_b3c$5 zrkm;x&>&ZJljGM%xBgnxU)K0Nt)6bSz5C%7m5rr2Du&ZeZ}RuuIDegtSjf8makj6x z(C44wy7!M-FRpPXUk&7%^sIUwP8}q~2pq$_O|QDlDX4$Fvr~M#8f8b$QPufczv1Ox ztqUQwif@=#sLIouT)Z7=HDX82dD8Y_^&!Q^f{$G3^i@~6-;N=YhpBP|&su+w{5Pj@ zox+2}Tc)ARcC5$jAzQCm)C1Yd%_Y1vol5cNt?#+crW_6<4vRLgM%+HHBl$eVGTzd^`SarM~1KY!%zHISX{%#IH(u%%w zDvr$utOHlImSk7FSIlR{v&WP%Yuua9Bw#K!v>vDs%M2odSa*-+j+6>czu7iSj1P?O zyV!BdGoYeTaC}V=DQ(*ac2A*A`xw@TRoRvObI!!}{piue%I-IErvj(l!5(ExT~GFe z=~`~!J2Cva@|Q22eRAaLxMyx<_v@;&#ZLFey#KTOR7)@uUR=R8>t-~wnA{@v)rlab zn9q&#ktL7cCwt=t_p{HLmcxyDT+?5FWf+uJbQMjVEsObf+Q4X?;pQZlraRx~tIVsW zZGOf4vg%*XKmQK0{OfY#>#C@?J58k;zu4Hj{kVnmqVa#S*k4wIq;QMcjkXb2PkQ$& zy?Ui*=!-j-}2U#gX}(#!>ozgw7Y%zk3+p#&$JU3hrM|Evl>?KXA;l zX9ZY&;-N9h_^@2r-SItgt&h!=WUtk?$x91GBNxY_K3RQTOg&e1{_U^h?n^nfT^YG| zj*bU!h#l(kIh!y1HXhy|(>L2b*F^N03eCK5!uYD+z4WS^LzNA* z&%5Q>Q)&Mu&%FEd{op_8Ba=(i%kTdF{PoY;G3&>i*~6yscc&)Gydxjw{b%6x{qvGd z%71@M;otmA8vm5sw~^lm6a*dxHz4!($Llr!#Pj|_4*%Os`PY2k^CB5mckA!?brcn7EwVJuCEm^A2f+{kB@BJ9R!?-FYXB9L4 zsut;r`|o>Nt5*Ad2)!{M@u8>g*8FxSrJV0dh674duF8J5t0@C2hqYB)n5%tmTj^^n zwd_+d_C3V+jo&>`34gGbfSX?PK&?t!z2Sj+yS6$a%UaYs9964d^uQCRt+A|4LF7;f zI@;Hd$V2O?`f=J`H7UPab%5%v%sLaA{W>puJx1J>{Z3KC4kmK&n@rnF?yH@uV{kLa zAUkJr^82E4ywyaFfk44kHx7^+Ex=k!Mw6K)A-;*nd)#YL=w-f^7uzO|W#yWm z8?v~oYk5i6>{26F=x=?(-zHnvVsOap+z_`s*S0Fx`ep9+OSv>mUc^(5+2aqpy8aC`|sJG8Hz&gK{SHanH(|`Nt z;eDmK9-WN+l|%c3^;}#67@zg_?(^}S$)mRqyDR4HLi}*dUq=fYI{zHuVK!`k`^Qd& z<3~J~hiO}~U2}A0tDLrc6>Y8oF-;=l{qfX1Kug$Y*6U!3i(3zi+boaM0PJ*nIaWZ8 z@1`6p*#Rx}YEuG7v$vYi1`anln3LnM@*4BlIEqn?&UHsq^%@gBdvp_^9~+0GL9`@x zd5odStRoR3CvV(_h}DlG6dwsRMxr)7I&JpojP1#Y^^YQ4M$YWpaE9>ctn z898Tp@?65b)8{svOU;a;eLinL5@kE0m_Kr%Y9u0iL*(_7XI^fIy7WlUx8eNYqw|)J zF4b%RgCAWWcwTO)-{<`ZoH_}veH2A`w5{d(Ua~#9j)uz+X-FRI-Cu*ASfQH~*2i+F z%c2z^24Xk|669=buP4T_##}1W%;R8&0i6OG(T$^7-m&6B!*nbzvNk*eB#`5@dqER< z4bIVC?=C0c7pSr!qHp7k8e4*va&{RZE^p>b-p)4$n@NEr|NOm^T$~z!+T?o?|l!t zx!&;hm7qYQ!khU9w-pTqRjCgW3~t*NcFKct%?v}L3-cR-9vF^|hm78754vmi;r_m{ zhcgD*?FKoO!P)IWvu!~IQ$Y`M#+|~NUPr32I?g`QUtZ=6(-EljsV&d09T4gl={6MD^1kC3&hfE zuqY_C7tl|1?UZq_%$lteBJGI>8LQ*~1E!jK0y4chGsr$zO5R!?rxM788ilo2Ldi$mV)@H%Q% zcUo=|R6cFhZ2AzqsVjA|b$!vthNs^X6&zox#at|+Xn=)>otj-Q)a8#c|hg?usG{ds9Je?BA& zGxg*1#Fw8&gP5XeH{+2Oqpri72EI>r*iQDIo9vw`>MWcpDBRRh6F+v-VEjtx!+E2L znx~^V?d1(?uHb92Tv~=_y>W&}d)UETMANgV#j+BO?*fLy4nzvul=f?!BbXdIVKDX;`ab7T@9MD+KYKqcUmrzm+>L~WXLW9pE)~O} zzjAe)5w$%?)6j9l;!pO%FN95~Pm`GY)Vqb7^7c|Mcna}pxc<|^_9d#cQ`qAv`>=(G zIU{SymMN&QzV#T+7RZ1yS;3U7`}?L}mcp*}Q=d}9;8_C2P~CA+9AY%R-g#2y8B^t&)m`nylTinV2h69xs8v6KaiQk&o525KP*4 zIq5k<5?tb~q}AxJY^@BM9=Z14PpEk>jex2_?~k(-iwJXUv>akieda)Ysv#2Di$s;i z3Ydvh3MiV2twHPADSv&ot&N8HYrifFT-I}|#rD=O@5!pT=)k84zhOo?4d1u?%$jNl zg<(&^kP%<5?1H&cyQ)UbIMnUo#jUAjl(aM3Mxd7FX)P`?f@u+xZfI3I+rCu%?d7cU ze@ubeeB${VTs}23=S@OY?>Rd-%oa28x$n+%)|o|Xl8cZLlMDJ0ci&Os8^+tkTK`JBysK;s0skMkVeEM)t(N;6oOa zqCaG!SB=-V7gH5TGCNAFy`^j!lIa+yMg6G})v7%apKXM`Ag%U^bbwsk3WpA5SP4ll+6NhC;Fmx0cE{}MaMjbiFN?*~$ zEqo?Cir(?$IB}~-`h0NL%WSi>;16c|hssWr6>aN3ck%wY(D3OqT^xTaf(Z9MdxoHS z`u7&wa$!w-+-zdEkl=56ree8dCxLica>?{!|5T?7E3E8!$M?xE>(3Hu=UGGZR_Suf zGGn-E5v|K8*i{(&Byzko%FOkwlB&hUGv~+lEc`fatQ}(>a#>z>CF1sN3%j&Xa_!vr z3+IzEU+q)cI{Gt;_vPF+kL~H$MVFyh_B*3*xW77U5;}6u%pyHHX2W*EsqH;m!fr#$ z+x?bDv8Z zxfZqMPO*esmUgqvwUHtfbE$OGy16CIC6{hL(nTdrE{W3UM)lQi=Y0Nx&+C2OpU-(- z9zlM7GsCdRf7Jo@ivmU$?ze_{+0F1$jNa`NOSGAiGBQZ(gRW^|1Mc zpzI5yS=4_=9;I3S@AB1ZubfKrZ6$BBK&b~^f02%It!8VMR0e)Fs@<4>{B7r}Z)-v!E-H*Wh`pDoOl?Y(^~nRNT3IZpR5 zXAT@L@@p?RZ2PG8)+4S{_11eS;4LEqOCuNUUpYAU{kzdOwV3RFr2qI4@wdMRPITIR zU6Z?=SQ+)sadJPHdV-0wy8Y~;l}Ce<&h@{zqW{KCkG`AAD%WEM6aMB`eqPN2uMvNN z_DN)5%Ol^~YML#Do8>u2zP*^=g0!=I-P&4lYl*P&+M9s28r9Ye$29@!S}^L*)YH!? zUk^Y0bzu5dn?&{3XLx(i&c&nmT{z#{wf>k0fBmwy+ZkkWFyZ=^`O0>=_q7Wu^6H;! zAHjbwYWzEuVtZU`wJGSI-}|+9`;X;X{PR4#U99`>i{br`C+z1w{;EB(HvN#ae8fd~ ztZP>-baJ3_a$nYe$MbtoHoaDh3(MQc(+!nhC&)R!AWGWdq;Oi(9AP z_-jqB<58sIYIqfHNq1p_{q{D(mm0~!4VD4VDZ>puRl2+Q9_?!To*akTJiNO3`}u)- zOXa73SC?eN`7St}koD`LpXE5Znp`6silLMnrM~%YZx!!$4c{A7vAfJN{GNpFB8VH~ z3KoAh^*l1-vfN(uMvJjY@EmO7DGSxc_2574d8)^kyN?)Z?&Ohrf2E~gx(?fPE2;Cs z?_G#{f|s|xZc{Fb{4_ZEX5m2V7Qb6h9$9pwcRjWo@=&%jKXOK(Gk!UD$>R2#wC0Ac zs$Qdxn(CyXtN96UkQUe6o`389JF87~$D{7S^{Rt36AZ3qsh8Jy->@<^UhQ%~7F<}+C^=&#u@?Mf5>RQ^2QIb^ZBW> zXxBD<=bw9it2PtHa(691H)t!(csW|?;juEU>lwP!!_T5aa{q*`YKrNJkwVMvGQV+q zp8|zz+kQ>xxiVFQYeteNC5tPu=l<-`m@~LDdU+0H!TmW|bHx*5buD`~Vd~VR`t)D{A_(Z zYyM+yq2uxO9r^JaHolAa^6Af&ii_`ddG8AAYVH-E*&b2bR(1 z)3I{HmFz-4)IZK<8XGjW4S5AX^;VN; zmFfiFz|xyG=)WQYSA4Y@TK z2P5)Eu=}U=PEUvdpz_2=&pj6D7CoWs_Vi&j9gxAeN!w`1@w+p)-0su&adJY`aJagR-XK54ZA(wVi0lTYTx&Vd(389Zf3e4IJ%ZoH3}*$ z(CL(jlgurJ=WM67vWWdoTbIUPF{80zN6&85oZPk40&8;hJb$wE;~>)r1OyO)<{JSl zXr#Vw7m)+87C&badSUB~y1@njcdrB@$b;1HWJ_f4uIH&5umFfo-vVq~IiXg>0veGZ zih4Q#Ct+K{^dKqBdf1UHHY5(v8`UTU*<`sAmjjVl4;Hv9!Qgz}a=>hqsngXx7cZEs z1_*ca?Qu&!qszfQGZ_zDeQy>96G!c1Hf+7=S~tS0I?y>0VHlmAcr&i%akEk7|F$ga zW6w2zynE!5=Md*o`HB1^CKa&L^h2lgs?YRB$ITGPjuWTOg{=8JaQYYFSY8IV=ll+} z*f0ey4Bw#>j_nxLZUCJUd2jGXoQal+@l9pk$~@BEz>60;l_N*($%2NHXb+qsvjH}; z6apg2pehO+p~T|Au>iGI2@pVHffNlSttzY(!6UO20zX()K2NU3u>t5wScfbhLtcvJ}e1B9Pi-kRr{1P$3rI_GKYZlzC?|mbFgddDsd0U>FgimGxsgh5yWJ%iK&omzu-A$;^|U=QdxzwI!(`v)=f@ zt>~p)>nU3T3%_{Wirz{3cIf>7IL3ovr`L1}LOS2$<5$m-yvkUk>9Pmsx46QU4!ty) zd7p`Uv0t_8JI4<>={s=cUQ2ysUx5z+8=mZv76{jk(buiU0(CgV$ILl5M6R4~NoF9K zWRBK7F+`6?-p4f3M^v|YRJM$~V@B#DvSeN^Ocv<2)<)fdCie~X+meE+Z?ZAL1fud1 z%bi6A;j-9716sjObpZUQ*yG;)NdWvnv=(x;^~| z3!&OHf*YBoH)n~tpwd%G%mP?imwnCt3hw6IY z9if!g)&AGTE$q`zda@Rh!YA8$p1wPHIAGUIWNpKgWvQvBSOQIDEEFvJxQ9OY6l`>G z<#@3d)Da+YfG`3oygquwFe5pDI}ci6DT&jUYvofP<_o!*gZ~*N|Hr)epU%{OjK;s> zslWcz|C~Ib+hd{J3uhRG%im)=5~c_w0M4JQiUwlHWP%Y8{9CMIPa|YaLVuEB%QP(t zOSc6G=K+yqDK>}(eYgnz34nXZ+Oz18ELVaT5tBlOztlsJ#5gJovG*$s#>N{Qzvz37 z-Klp4ZEi_aIACP_v&(?2I@MWIRV)BAj{<~}3910_va61@6jVP6g%P1iEC^3Zum^w~ z)(!@y0iha-Gdu}Lvmgg(if2QyMdvaQ2_SY(cdrV&u?U&UvfeesBwj@dTc+dDEc{_M zgdhdYnQm-CfPYL`+V;hlLo>_W4&->n#F6ax!V-fYHCMx8=Z|M#4H9K>|EBpnI}+kq z3pwI95Wz2v7bAAPECvagxj+rJd^aw$(|VME>Ksfx1bmph%G zT^F1xC0?{7o*1F1-#mI2r?)h(=jle@?Y8jO%b!VA^Ka0~Vyk)))rj5D4n18D09H@ z3DRb%s&ed#^$-X$TuuatiJCmU)9F&cBJoP(h>EmZ%SE;dqXXuNx&R;m(*1`hQ~fCh z902Hc(X|%E6XkuML})7jcf-_$3z@UVix;y#7u+!5-b6nG%*?GnfANC4iFu>IOl2xC zZ{VScy!>W;?$0@$gKoCHQ|FSbcBb4iNZS=E|CBvpaBIFNSF?Ph@Pu(Oj`bLB6H;_5 z{eZ`9t2=FnbMmZg7G@=#C!(a^yzJfKKk^qy(lwlaFFakWLIS91vJo&2^fLhIM#KG- zsTb=(a_Cw~EIg0++#Cq!>p`EI5NiGKWSZKW03ub4n;21`AMKro*sAusRWxsi(`K0ki>Ntl|S$ht~!GU5MZm78yu`_}=Uy zv%p&cKoFZ?P6pabK|x|IYakF!gihDt6!GHSQanWrES+o;6Lo(B06&SkKczqeDQLN5 z#F_o4|8sXZt_Z_Rj?>j4zlm#UUU#rm@)8aJ#`tM;K$)cYfEV zXC*lCLwO)vwporUGID z)~8LX+DpH_k>Jc_s#$tqGgmb)G2SFW%bbNRr9-nO6;8A~RIIg3gc#MSxXIdcCc!yu zTsRT0?g}aGhLedF+sTA#HX(@yJ*(;g-fZ$8Uq_sg0WwgG}EXcFBGcI=7(X!p4240ThXPDh&##v$lRPsgV@4)%V`-ik;E%W-8Ad9~-fV zi^+};vbsRWV5Jwvr;h#g*hvFf+g`t%%e zb6S(JL4y0Utsm2fgEnt^bwG5ChTepBNxrH96ESAWNXYw~h-tV$(J2aL`5mw}Kj4dM z@A!PX<3jxI9w(hg(V)tx>gj=JmT~qUVSx)~_s6T1t3)Zbq(#mq(j|(Nj>b8EP>!j(8e(u&v*BdRJROJJYx);!q zaXT~yET10m&8bf}jMX7t(0e{@(&Zlb7wMMeZ$?HoYH;s_ubm(=#XwCN@U!^bRehJ? zZ%;Z-oMjoB`P)~-=bJnOF_Y}u9^d-k;A8HIs~*p;FyOrvQOQFA7i}UcLq0W}#DPzR zM4ZZvPtR@sUt|$+^Co8B)S!R+X*Rsd3cr>7`lRPJH_EncyR#!2S06R4Ryem+++b}Q7h(H!D4(8E%3&(uCmTYp4OKrlR1O}p$ZJT`IM4sk zx^=CWkfx_ersl6hQkocrQ_p9J&9S`|l%W-=w zGi^hA{yx{)+(C`q-$;5>ck=hNesxnpKe6uj`ReKblbhiVABI(T&_8wK(_HUL>+t>a z=QbTbj+|vTuZD*x2aQJmeFMrnO9|1*5`{n9!~5_ULU2wxc}W2MH=ntdVpI$I(ZzRf z>{z@JdnZGSbGFrh{yOLGfN9Ohbf*+2DQ!;cL>?$wSqm=Wnh_v3=lN6qo?^W@>$iJS z-i*Y-{I<_m)Xr!#;Ydu1+8iLs*^Zy#Z%Q-sPk?y2PR`>N(S4n*n^Ymfy(YRfr=$?SBc;*GC z?n_2fmkmgeYXi%I?1~#h&Ib_|?TaLuoPj4kmYrSuY&-%?Q3HNBTuoP_`eEr>vUgxK(vJci|T=jFF%zb#by>FS+nF$e%U4swyUDqD*iRk$BA$kAVoIXI{uBiuLSoDMQ zzSzuXm;Uo|Y4pw8Up0H{k43rJT}yqx53YwHrk$Qna?7>2u2=Xt$dQ_ZU)^Uz1Rs0z zO;XmHpLu;0=yW9SWlY)rThkZktxe^0ZHYnc{<(3+%7x;eCkoV=ItZJ-o;QBS<#YSQ z(Eu0dFTu2pPB6{wIm&BtCa)sk-sC`1mhIS~7na2nk=tK7Mx-u$J)R)ES6vO=4vDbY zs&J51_Bk3ZQ-03NSIfSh8SC*g_!^zHd};H*QEgxKbvLZv1FYVc?VSGBJ+j|+->v4r ze5>v8M%(qWPlrV4evdl#%`u*+w_U#Oy^h+}U+a(k!s-6H;`J;0{ZhlBm1DKPUU(4+ zdHZJ9R&h4u|~`J~RNCJkDD?*;`{y84vz?X|U;Yu7^{@ z3*E<0er^VB*_HwQ^I&{>zr-ZC%KFRuXZg*RfO?&-+|{{to$**bS1uei>u$uLyXUAH z&mK+?>9{Zn_?PZkR9TL6(H)`C= zHdxt0cBh}Gay^d4O=pjM>@Hq8HJj}4!yxFQui)onU(9At=5ptdW0CE(H+PoJJC364 zn#bGI7v9_}vb#QUkNIcuzkXW@E&F|Ew?Q^T9L!g>^o=t5Swj{7Qs>|MUA|1_`EN*3 zHxb3f_iw*g+GQ_q*#ET3XLB?2_2upoOM0!B)62}{wbK}sS9832hRVm;N+u|`!W&jtKJh{4L2{8j<+s<-Vp09Fm`r|UOav@xps@zh3VYFlCUFA z6GyXGFK>DO^6DPu?F|FfA#EdgncpQnO5lOh|J^>#^-^A;vN2t8bvwO~Aunkc^vo~D~OS3(EhXw>7Px|_=OtRxuedO{RYr7Y789<|3`y)e=!-EO<0S?;|X zRxUCNfkg+qIQxhWKk)R7tq8D9Z>ZQ7I=dm|E_7xh$(z4UEoX0YOLRCoA35v3v)ad? z+V;bs;i;|{_PAYk53>wwlL{+8)}%(L$BWvZcto#NN2y+>oR$IbBJIWRBBS1)E=;xif0NKl9Ocda=Q`B}&MZCpa1>?nWZ=cs&rg;wtu{X$ zdwSLUsq_C(qw%h32FIKGn?v+nCcgjHu&5$`Ib~ORfV+mVkbTehG4IV&{uyOr{v@>M z3vAnadLienmbdw2-^iP74-SqVc=5VK9KSBj_@c+5EBxK>bHW-k-z8n~Xnk*BTw^yO zM3w$}TfF_!BK`Myk6(e1yGM6TR=1YCdt0-yBm3^g*Z_yQ7r;`7x9_S|TF=(rpLjNv zmYiEP&D~X+yR&f7C3o>$Ys%fpL-_w?eJ;^;(VKq!^{M?b*EIF-yL|6siK!dP&xIEB zUlk2SW?dy$lC&c~lwf+kXMj}`_dYLrmAl&GGxqaih}o~Cqu+LfCm7#5l`&_r1vI@E z2p5v?Xb-!i{KcRR6lqk+Mv}6%OrR3ptyI2)%NY`bw-MI5Z)K6##NbB|Z=n==ip0Y* z#WzBQ8ie_seD-Og{qn{8s>mrIk5NPd-GJ|#-iS3KK=g_al^s;C$F17)Vdm`PUd$;% zPXdHkdZ;WC@dZa$u&d-V84Dt#?$ ziD^vJ&OYmXEvTw=Jk~OIn?Li$*7C=X&spt?*s-?TWb3Kdg{Jur;TrR0&P4O2P7yB33U<8_R+GmX#1!0FVq)KU9YVi9z?k^(Aa4 z4gjPWsFuAHh!cxZO7=v=#U?g7kLBsAly(5o=>4xk=|z)o#^vB^mqV@>zPOt7qhiHi zPr*u}&{dPGOB8z;Qc37k1{udDc9S>~PPCY%HWUuDU=qQpM*E>}n_RIkyAfDkdc!&~ z&ncK8$R#wa&!zxfcyi9cwc%*3C*cq{zYL^q4c0A80B%>u1!`X<>)dMs5L<3ET&odY zLinFb+J|~O_As;M_O)vV!PykZyc|@@@FO0ea?!MUoDFdhHP7Oqh;(SaJq(#P5*CBd zL#z%$Rd{U9#5@PW4e@|?lpWU_r)zDOb|ZpB#~sE2hFOwsl~+A#5AiLog(4tn$V^s8?LL@yPjeEgtNl7O<)c17$?y^ZS^_vxh9Em&B5S(Dy3Z|laC z%6Vr76Vx)h(lZ;Z^ zAMH~)e9d7C+w%GyX-URl^#b#w)7MoYIpA<@(QB7`{CN;+VHwA#ik-jxeNQYk5b0 zVPDu`eh-`8`;@%4+lsf;)hc>PDpwAD3HhwCDadV71kauHJpO0=*Wcx};`bp1Eqain z1Nm5cG0L*W6ys#@BP=@-a)`2_i+3cC)cWe)kL$;mbNy=*4OG1#Aj?6&;2u&g4Y=KY z$du;W4SU`FPu22l#X{#cl0^#Su zu{el@2vi|aCQ30f0OAQ5VMByylA}6VAO%{$1whFb!QHJP?`X&j0MmdBVu>&%B9JW! zVI)0ZDo3(p03#`4fCV-af&A0q#&S@l7-1vM|F;p5atN7$g%HTdzF6!)2wW3@ zupmNuNd-qU3ZI`uIml4PGUh#L6kZRl&w^)@L4_hvB@wbPqf8Jh%m#>pm}*P}*hq0b z3RgmeF%|JT=5)Xf!=+@h2sLMgWA%T6nBa0>+LC zW-*WzL=anyyeCDmhtF(orM(@{$c9&q`kV`%v9`Xgv9lE~_eP4a$Q~NHgo^BvDKE%S zCnX4_F^@tLVquqXvETdc%Y)w;=zGMNJ%@2uDlwgayzm*`gW@#Sr>6?x9e~DC5fGTey&PBH<%Z%&O=;-t+ypm1* zjguwS7k5{(Aem$k{&mLikj8T({UaoJKBCniED5^k0&22hD9CT>6Cil+3T zN=W5yz9DAYs`k7?kq8E`fhdiKqg-n4T8`0J^Y=l}H9>FJ}3L?~~`*%!9T_lLoE zvB>Q#44(yA#v(JNC}$a}K(q#C1z(Ri5AV#uQK-mI5`>EkO_9Peb0}{)N&#XxlL4=# zAp}HBEep~?g8UU>C|Km`dIX<^sURbsh#*tHz-7Z|{ksS<2_48nsF|8swH_nAxsp3% zx;|cCibZ_KBAo%yUI03ehS;v)r4GaWG(#1Y(j@}2n1NhPx*ZgYkj`ry5wohr-~=P| zT`8O|f+$x*K8rB_V2D}~W&{8|NrNjP5F(Z)N9s|fcssXUa-^tb30y&X^=2T;Bq{NK zOdBuWu6uZ!UDu%3gUTXdR))cwNNB#q6Rd^w5n+VGcPd2i<5|c7lJcpdkU<)_n1=RW z3x&I>BVCE;0Tw1#4sI7gx`xpX0Hp=;36TWeBSjQ1fZZzK{tz{`2>zaoEGWAAlM1gD z7j*%UUAbsgzq_a-*EheZ|5dHgcp0w%Cm*y#=P~GfEb`MQ)UAssCJJ34vdO%SoXHJQ zE4%|)r@Sgrsi59^LPoQth);=_jW5wl7bGki!teqD#792$K_8_dd&H=5@ddkF^s@NE z&tU{ljKm|PI~uy;@3zNAx8yAuq9>IT8VwOhwV&i;4(&amo|thO;Zi>4J!|*TH``OD zSgZRn`S=bQ#Cws|Yr_e^tSIk#)0@j~A3xkOU!?Il_rbmcC6$%gYr7BJw)lJg9I8LD zxO_`w|ACJWlF$RMejSN%x)EuHq2mX#I|UJsGt`p%|5#yi%m#Dj1mgLDExdm2)j_eq zEP8z4N74YTWAFqzXU6Bc*OfYz@BI~zhjQ#VeDqL*X79dH)M?s-cXo&=Sq_(Hqi<8p z^60x*ocs3#euaVF?SAYYpyUuxrHA#X<-#L;_ram+M~^l??qqrXAPb8&Wlt!E;S@1I z>LMyp20JteZvqf2l@-NxC(uJVsf7UcuERa4GzDz>fkoMj7LI6s@ z0qgks(&0b(R9hp6sSLb+xCGyg@?e~~8v(WxpTPqWZc^MgFQh#Sq{#xYUc!x}AUAQ( zv7!DvR}E)&S1KKyav47%K~1AF$~uQK4Q<*Xs0P;Brw-`qA6%O(s>bkvh zN+Hq}3z|H^AO2yOK?OS$Bi$v+699ys#HF5sd_qGne6D=yRJANpS(d4M0z62cyykhP zm9wJJ1-NzS2Had+lhuui7iRc7Kg?lcxGbREFuITk$_BV(^1&5i1W|mtSPn$&1rJh# zPD_;8LXm`lNfFs3P(SfP1q*WDGwNa@C`$}7lI+Wnz%67bTNXH*3ak>rHO0st z5vunSIE#v0Hw?Fv6!NhUmIQQC0>a7=?8nhfm2exypWbk7*D&Zlmh+tfu9m=M@zJ@W z(`(puAeQ)Hu4kSL0O7zuE80M=N_Y_s{BOME9s}&-i6oNHRAT;n7SNxEu_fmBi=yyL z)5}s!*09EV5`XQyqW6tpGja2=*eW@g@0yR;1`4vTKkURv9YIs%;6NMA`hK}tLKBcr2J$B z0N^LEk_Fzj0^-pSs#3%%Ezl|iye7mvkpr;;2wx67NkZ7l)-;}wKm%lq8x?$73bLbN z-`;us>J>_T7?Dc_%c$@gL!d zLs|?$6(U6x<>dqx;a}^a59rJQ<34k!MKv6`l-O*ao}Vmc7PoI(2mmA%0#NA_>EBLU0%BC zvp!|mQAH$R*Wja8(15#0&$HAZ;@PxMg>gu8%dVuO4*CVEomdO-?qN zvA%Xj9R1cOTjd-fU9QyEZaw$r?Ylom! zzK3in4w2!K?U4Wwxt6Y<=90-x+!_rHfB`nfe28@ikL6OpPNCAL1jKKO5#G&y>jkjq za=U@ZbvMFIZ?DmCH&zwxLn%|iK0MFS{7sy$lIMJ1@+R)+88}lV?|8ID1TmiE={_^| z!EeZ18v(=CW7p3@=T%;J*BC4g#%tkAKR>gn!t%p7~pacy~bJbb$tr^ z6C|4{E`O{)X>A0b6zGueH5laYl@CQj4LU6iv8|m$(GcI9L|#p_=C*#7b&G?hLj1f8 zR_>>+->6!Yl%?0jn;V+q6R|@Ae8|$+1zhx8;N2Hu!Je~!LhC$fQ=wH3I%^PYYxTEHy1r|{`8_>6 zlL%nG17mp;_H0@^9jce5{wuaBy7{8H>lY;-oef?q#~UL<3H=0BGy6VGP1V&|q3-8T zdV=(}?C#QiywkHHwY&oy~xep>n zB!VDoQ*@TS7R%>cts0$m-6#gBvw^~zLzFjr^t#;Za}N$~{Q6YjuxL4ylFN7&D;&^* zQw_QffqcGK@U=fJo!Jz2G^3rL{>QM4*WR~SmU9VM#ndoH>H4G$ck_2G(;Ff2T9bOm zozoMi^9^2}bSTtH0dTaAlvcU^-p^{MS5o|0ybO6D=zGT9?@IreYu`u1bk9e&9UkiZ zF;#giFaM3J0s zrPPs)LE8A&Zf@n6lH-jro3tA%S-QKd54@A-!%hcpW9^!v88#tYS=} zR(-=cn3B@snbn(F{i%fJQ+KChEmofoTK-PUXf=z`%+L0ZF+6PW9Wa39zIJFk5X~^E z8z2=L9mgylI%xwwzxCegljya;^24kBSXdc$uTi~lKo&~jiQp%-!O-*1&S2+!ROxN# z;=ay(cHOHxSsmr4t2^IE+BX9BlOgcGYA|oP9>f5>sAb;Ujjguak%O2@1?a=PnPu#+ zGv`CPCm&ggtOK*#z;HJ?tgf`Il_~4h>94xrR7|gnMyu??L{Hj6Xa2{6g)~)k3U+?o zir+7m0_~&&o0t-nr$RAo0P6)M5_zf9^)TMrkU&Ae;;J)Kwd@hD%KS16{W%TdA{wx? zmZG9NSvB7XkgfJ?E-_sS|NUk@O%clRRK)l+J9v#u8d#aOKhy>b+&Ik^s4LbAy+?o! zT)5|iipf!nCUQ7DM_xZepRO4xdPD938jxEm0he=xUBp zc_*)X7DUVUPkc-8u(DqYm?vyR6pq1&^Adz#Rs-(&WWIq(8(g8VlPW z+&QMGkH!Ca<8tqN%kjpA?KW}aif(?J=PExdY<&3i<0De|-c3G&T-n;kl*T7YdzXrI znNf4N-4AppD97TNGwUn@mLqh&WYu-fI3GXq`0K0X^6fz%w;#)C5lkGc{+0VK@Zaw{ zSGwXFbbr61ANzC1>cr>M*PT9nsm~mTzyEyZ`q0a}qeUL=eOgVqkDSu#c9K-@Gn?^w zKkS_S22JXJzbmVGzh7RwKl1C`f2XuJ zf@ejJroI-2hw0dlzzL^#l&2s8b|pPmEv2_c?jjvmE`(gc))Yt_uU zRGpByv{R`|eBCCnlRYPK4yw9>Ott6ms(ToU;HyKW8bT+B%+V2@$sT4yfg8F;Aeu#& zr1Z18!@%}chypd|D75sU08@tYg`oatYYG+FaUIsmjma`T`Bym^Fsn*!9Tf+>R1dg|UpI>cfKu3)Gs*629e0~hDkIZF%Z zZ4j>ne)=%ag#crQ^A3ODdn&da`XTlSPX#4HTq#1`6<#C}XhbF&h>4f2k@tGHpR$K7 zP=)MHxW1@tZQ(M{VT|Q9R?2IGD9d2#mb^lWP!GUi64{!AJS{SZ#}Ht!PdG$24-3*0 zL$GAUT0o3C3$K(6QI(wXxC>bqF36Apd?gT7DRM81ha2N&Q`jYRh}M|-BB{8>c%8R= z{Xx3RAky~?#kI1DcVi5kOMx3mA^Rj?KN-|f!u6mCj8+~<(W+h&?guI_Q3{^7<$3M(;yxqxZ@buV~(9^BJ>47E!rUlGI$gjv~LjVItTP4 zz~X)W*Ohpo$J8H9y~>jS-Q_S1v8DD3;I$0uS5?ZB!Y3ray;A@DVZ}Pa^=wTs#5ZAc zs+2|7hI|+l5V0VC1TZCgM>GMrh~PM215zv>_%hf$0MJ*uBUJ*|8&=$$ih)~YMewFO zStad|KjA=AEr>eN#z3qtzG}A+gUlWVD+p-n02p(H?L6$uw9j`=PyiAkj^R|5AGj;( zH9CNN?KWOI7D6HDc*&uG#l{M2lu6FtFsS7ygaoA*`czSko&#MK%DxD`R|a$)0}9A^ zS{v7Mm@C(ME|7K^7oq43mO26AHkg0*I}FR>a2~TxyYu4`fT|2$5E}xL-&C+q9ca9j zde*@vuu742J_`h&Ym1ZuoCrLnCW!Bv2%tl+h;9M|48pauig5&>!7#vRE?=3zQvgyo zykMn>;3#4*dF%;O|K`1mF_cHN8HNm%>z}KzXrA32$ zgYZM2z!?g5au!>=%`6;>@d7{;S$-lJVnp?IVYxcW`Sdn$UmM HKS^Ouhm3rSUw+ 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 literal 0 HcmV?d00001 diff --git a/intermediate_source/static/torchserve_model_output_aws_sagemaker.png b/intermediate_source/static/torchserve_model_output_aws_sagemaker.png new file mode 100644 index 0000000000000000000000000000000000000000..950798f963a79b2f2a5f4978dc06e3842b1bc960 GIT binary patch literal 29151 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 + +The following table lists the AWS PyTorch DLCs supported by TorchServe +```````````````````````````````````````````````````````````````````````` + +.. list-table:: + :header-rows: 1 + + * - Instance type + - SageMaker PyTorch DLC link + * - CPU and GPU + - `SageMaker PyTorch containers `_ + * - Neuron + - `PyTorch Neuron containers `_ + * - Graviton + - `SageMaker PyTorch Graviton containers `_ + + + +You can follow along with this tutorial through an Amazon EC2 instance, or your laptop or desktop. If you're using a local laptop or desktop, make sure you download and install the `AWS CLI `_ and configure it, `AWS SDK for Python (boto3) `_, and `Amazon SageMaker Python SDK `_. After you deploy, the models are hosted on Amazon SageMaker fully managed deployment instances. + +The code, configuration files, Jupyter notebooks, and Dockerfiles used in this post are available on `GitHub `_. The steps in the following example are from the ``deploy_torchserve.ipynb`` Jupyter notebook. + +Cloning the example repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To clone the example repository, enter the following code: + + .. code:: shell + + git clone https://github.com/shashankprasanna/torchserve-examples.git + cd torchserve-examples + +Clone the TorchServe repository a nd install torch-model-archiver +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Use ``torch-model-archiver`` tool to create a model archive file. The .mar model archive file contains model checkpoints along with it's ``state_dict`` (dictionary object that maps each layer to its parameter tensor). + + .. code:: shell + + git clone https://github.com/pytorch/serve.git + pip install serve/model-archiver + +To download a PyTorch model and create a TorchServe archive +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +One can customise the handler by passing the ` `_ instead of ``image_classifier`` + + .. code:: shell + + wget -q https://download.pytorch.org/models/densenet161-8d451a50.pth + + export model_file_name='densenet161' + + torch-model-archiver --model-name $model_file_name \ + --version 1.0 --model-file serve/examples/image_classifier/densenet_161/model.py \ + --serialized-file densenet161-8d451a50.pth \ + --extra-files serve/examples/image_classifier/index_to_name.json \ + --handler image_classifier + +Uploading the model to Amazon S3 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To upload the model to Amazon S3, complete the following steps: + + #. Create a boto3 session and get the Region and account information + + .. code:: python3 + + import boto3, time, json + sess = boto3.Session() + sm = sess.client('sagemaker') + region = sess.region_name + account = boto3.client('sts').get_caller_identity().get('Account') + + import sagemaker + role = sagemaker.get_execution_role() + sagemaker_session = sagemaker.Session(boto_session=sess) + + Get the default Amazon SageMaker S3 bucket name + + bucket_name = sagemaker_session.default_bucket() + prefix = 'torchserve' + + #. Create a compressed tar.gz file out of the densenet161.mar file, because Amazon SageMaker expects models to be in a tar.gz file. + + .. code:: shell + + tar cvfz $model_file_name.tar.gz densenet161.mar + + #. Upload the model to your S3 bucket under the models directory. + + .. code:: shell + + aws s3 cp $model_file_name.tar.gz s3://{bucket_name}/{prefix}/model + +Creating an Amazon ECR registry +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + Create a new Docker container registry for your TorchServe container images. Amazon SageMaker pulls the TorchServe container from this registry. See the following code: + + .. code:: python3 + + registry_name = 'torchserve' + + .. code:: shell + + aws ecr create-repository --repository-name torchserve + +Building a TorchServe Docker container and pushing it to Amazon ECR +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The repository for this post already contains a Dockerfile for building a TorchServe container. Build a Docker container image locally and push it to your Amazon ECR repository you created in the previous step. See the following code: + + .. code:: python3 + + image_label = 'v1' + image = f'{account}.dkr.ecr.{region}.amazonaws.com/{registry_name}:{image_label}' + + .. code:: shell + + docker build -t {registry_name}:{image_label} . + $(aws ecr get-login --no-include-email --region {region}) + docker tag {registry_name}:{image_label} {image} + docker push {image} + + You get the following output confirming that the container was built and pushed to Amazon ECR successfully: + + .. image:: static/torchserve_container_amazonECR.png + :alt: output when docker container was successfully built and pushed to Amazon ECR + +Hosting an inference endpoint +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + There are multiple ways to host an inference endpoint and make predictions. The quickest approach is to use the Amazon SageMaker Python SDK. However, if you're going to invoke the endpoint from a client application, you should use `Amazon SDK `_ for the language of your choice. + + Hosting an inference endpoint and making predictions with Amazon SageMaker Python SDK + + To host an inference endpoint and make predictions using Amazon SageMaker Python SDK, complete the following steps: + + #. Create a model. The model function expects the name of the TorchServe container image and the location of your trained models. See the following code: + + .. code:: python3 + + import sagemaker + from sagemaker.model import Model + from sagemaker.predictor import RealTimePredictor + role = sagemaker.get_execution_role() + + model_data = f's3://{bucket_name}/models/$model_file_name.tar.gz' + sm_model_name = 'torchserve-densenet161' + + torchserve_model = Model(model_data = model_data, + image = image, + role = role, + predictor_cls=RealTimePredictor, + name = sm_model_name) + + For more information about the model function, see `Model `_ + + #. On the Amazon SageMaker console, to see the model details, choose Models. + + .. image:: static/torchserve_model_hosting_aws_sagemaker.png + :alt: image of aws sagemaker console showing model details + + #. Deploy the model endpoint. Specify the instance type and number of instances you want Amazon SageMaker to run the container on. See the following code: + + .. code:: python3 + + endpoint_name = 'torchserve-endpoint-' + time.strftime("%Y-%m-%d-%H-%M-%S", time.gmtime()) + predictor = torchserve_model.deploy(instance_type='ml.m4.xlarge', + initial_instance_count=1, + endpoint_name = endpoint_name) + + You can also set it up to automatically scale based on metrics, such as the total number of invocations. For more information, see `Automatically Scale Amazon SageMaker Models `_ + + #. On the Amazon SageMaker console, to see the hosted endpoint, choose Endpoints. + + .. image:: static/torchserve_endpoint_aws_sagemaker.png + :alt: detail about endpoint on aws sagemaker console + + #. Test the model with the following code: + + .. code:: shell + + wget -q https://s3.amazonaws.com/model-server/inputs/kitten.jpg + + .. code:: python3 + + file_name = 'kitten.jpg' + with open(file_name, 'rb') as f: + payload = f.read() + payload = payload + + response = predictor.predict(data=payload) + print(*json.loads(response), sep = '\n') + + The following screenshot shows the output of invoking the model hosted by TorchServe. The model thinks the kitten in the image is either a tiger cat or a tabby cat. + + .. image:: static/torchserve_model_output_aws_sagemaker.png + :alt: model's response corresponding to the payload image + + + If you're building applications such as mobile apps or webpages that need to invoke the TorchServe endpoint for getting predictions on new data, you can use Amazon API rather than the Amazon SageMaker SDK. For example, if you're using Python on the client side, use the Amazon SDK for Python (boto3). For an example of how to use boto3 to create a model, configure an endpoint, create an endpoint, and finally run inferences on the inference endpoint, refer to this example `Jupyter notebook on GitHub. `_ + + +Metrics +~~~~~~~~ + +TorchServe supports both system level and model level metrics. You can enable metrics in either log format mode or Prometheus mode through the environment variable TS_METRICS_MODE. You can use the TorchServe central metrics config file metrics.yaml to specify the types of metrics to be tracked, such as request counts, latency, memory usage, GPU utilization, and more. By referring to this file, you can gain insights into the performance and health of the deployed models and effectively monitor the TorchServe server's behavior in real-time. For more detailed information, see the `TorchServe metrics documentation `_. You can access TorchServe metrics logs that are similar to the StatsD format through the Amazon CloudWatch log filter. The following is an example of a TorchServe metrics log: + + .. code:: shell + + CPUUtilization.Percent:0.0|#Level:Host|#hostname:my_machine_name,timestamp:1682098185 + DiskAvailable.Gigabytes:318.0416717529297|#Level:Host|#hostname:my_machine_name,timestamp:1682098185 + +Reference +~~~~~~~~~~ + +- `Deploying PyTorch models for inference at scale using TorchServe `_ +- `Deploy models with TorchServe `_ +- `Running TorchServe `_ \ No newline at end of file From a87a8adbc2d0d93301dfa42ec51fc8c761ac3004 Mon Sep 17 00:00:00 2001 From: Vidit Agarwal Date: Sat, 11 Nov 2023 03:08:15 +0530 Subject: [PATCH 2/5] corrected metric desc in torchserve_aws_sagemaker_tutorial.rst prometheus format not yet supported to view torchserve metric logs https://github.com/boto/boto3/issues/3437 --- intermediate_source/torchserve_aws_sagemaker_tutorial.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst index 013ddca20d..afc51e0f6d 100644 --- a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst +++ b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst @@ -217,7 +217,7 @@ Hosting an inference endpoint Metrics ~~~~~~~~ -TorchServe supports both system level and model level metrics. You can enable metrics in either log format mode or Prometheus mode through the environment variable TS_METRICS_MODE. You can use the TorchServe central metrics config file metrics.yaml to specify the types of metrics to be tracked, such as request counts, latency, memory usage, GPU utilization, and more. By referring to this file, you can gain insights into the performance and health of the deployed models and effectively monitor the TorchServe server's behavior in real-time. For more detailed information, see the `TorchServe metrics documentation `_. You can access TorchServe metrics logs that are similar to the StatsD format through the Amazon CloudWatch log filter. The following is an example of a TorchServe metrics log: +TorchServe supports both system level and model level metrics. You can use the TorchServe central metrics config file metrics.yaml to specify the types of metrics to be tracked, such as request counts, latency, memory usage, GPU utilization, and more. By referring to this file, you can gain insights into the performance and health of the deployed models and effectively monitor the TorchServe server's behavior in real-time. For more detailed information, see the `TorchServe metrics documentation `_. You can access TorchServe metrics logs that are similar to the StatsD format through the Amazon CloudWatch log filter. The following is an example of a TorchServe metrics log: .. code:: shell @@ -229,4 +229,4 @@ Reference - `Deploying PyTorch models for inference at scale using TorchServe `_ - `Deploy models with TorchServe `_ -- `Running TorchServe `_ \ No newline at end of file +- `Running TorchServe `_ From 3de45a0cf9e2f0c7d45f9c660810c9ff9ede3e55 Mon Sep 17 00:00:00 2001 From: Vidit Agarwal Date: Sat, 11 Nov 2023 03:14:11 +0530 Subject: [PATCH 3/5] added info abt aws SM features other than custom docker cont. for BOYC --- intermediate_source/torchserve_aws_sagemaker_tutorial.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst index afc51e0f6d..b1e3a8fa77 100644 --- a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst +++ b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst @@ -104,6 +104,9 @@ To upload the model to Amazon S3, complete the following steps: aws s3 cp $model_file_name.tar.gz s3://{bucket_name}/{prefix}/model + +We are doing the following two steps related to Docker Container because we want Amazon SageMaker to interact with our `custom Docker containers `_ but we can use `various AWS Sagemaker services `_ which also satifies our use case of `bringing our own models `_. + Creating an Amazon ECR registry ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From 1a3bd191ce21038eff4f2f1d2ef9e48a9b144afc Mon Sep 17 00:00:00 2001 From: Vidit Agarwal Date: Sat, 11 Nov 2023 03:18:05 +0530 Subject: [PATCH 4/5] added flag of archive format of tgz for most models and aws sm's feature for uncompressed models --- intermediate_source/torchserve_aws_sagemaker_tutorial.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst index b1e3a8fa77..60475dc1d7 100644 --- a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst +++ b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst @@ -67,6 +67,7 @@ One can customise the handler by passing the ` `_ of sagemaker which as of now is only available for single model endpoint use cases. + + 2. Create a compressed tar.gz file out of the densenet161.mar file, because Amazon SageMaker expects models to be in a tar.gz file. .. code:: shell From 6f1b9fd218e598cbc1d935bb9e7f346e05903947 Mon Sep 17 00:00:00 2001 From: Vidit Agarwal Date: Sat, 11 Nov 2023 03:21:00 +0530 Subject: [PATCH 5/5] added info about single model and multiple models on same endpoint in aws SM --- intermediate_source/torchserve_aws_sagemaker_tutorial.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst index 60475dc1d7..7442a7e46e 100644 --- a/intermediate_source/torchserve_aws_sagemaker_tutorial.rst +++ b/intermediate_source/torchserve_aws_sagemaker_tutorial.rst @@ -26,7 +26,7 @@ The following table lists the AWS PyTorch DLCs supported by TorchServe * - Graviton - `SageMaker PyTorch Graviton containers `_ - +Using AWS SageMaker we can host single models and even multiple models on a single endpoint. Their procedure varies slightly, in this tutorial we will be focusing on single model endpoint. The essence remains the same with `some variations in the code. `_ You can follow along with this tutorial through an Amazon EC2 instance, or your laptop or desktop. If you're using a local laptop or desktop, make sure you download and install the `AWS CLI `_ and configure it, `AWS SDK for Python (boto3) `_, and `Amazon SageMaker Python SDK `_. After you deploy, the models are hosted on Amazon SageMaker fully managed deployment instances.