From 9080b17f684b1716423ae4287e84194e3ac3f291 Mon Sep 17 00:00:00 2001 From: Artem Darius Weber Date: Sun, 29 Oct 2023 05:59:28 +0300 Subject: [PATCH] docs: alpha version --- README.md | 104 ++++++++++++++++++++-------------------- __assets__/dataset.jpg | Bin 0 -> 19287 bytes __assets__/model_v4.jpg | Bin 0 -> 46207 bytes 3 files changed, 53 insertions(+), 51 deletions(-) create mode 100644 __assets__/dataset.jpg create mode 100644 __assets__/model_v4.jpg diff --git a/README.md b/README.md index 510ecbf..1d1f65a 100644 --- a/README.md +++ b/README.md @@ -1,65 +1,67 @@ -# PermHack +# Искуственный - да, Интелект- нет - +✨ Нами был реализован микросервисный комплекс использующий ансамбль свёрточных нейронных сетей на базе YOLO v8 и Torch Vision. Мы провели анализ доступных архитектур для решения поставленной задачи и остановились на данном решении ввиду его производительности. Наша платформа поставляется вместе с оптимизированными сервисами сбора метрик и современным WEB-интерфейсом. Кроме этого мы интегрировали наш программный продукт с промышленными системами видеонаблюдения mars. -✨ **This workspace has been generated by [Nx, a Smart, fast and extensible build system.](https://nx.dev)** ✨ - - -liygfdlifdsijlkjb - -## Start the app - -To start the development server run `nx serve crud`. Open your browser and navigate to http://localhost:4200/. Happy coding! - - -## Generate code - -If you happen to use Nx plugins, you can leverage code generators that might come with it. - -Run `nx list` to get a list of available plugins and whether they have generators. Then run `nx list ` to see what generators are available. - -Learn more about [Nx generators on the docs](https://nx.dev/plugin-features/use-code-generators). - -## Running tasks - -To execute tasks with Nx use the following syntax: +## Развертывание +### Backend +```bash +cd apps ``` -nx <...options> +```bash +sudo docker-compose up -d ``` - -You can also run multiple targets: - +### Frontend +```bash +npm i -g nx ``` -nx run-many -t +```bash +nx run crud:serve:development --host=0.0.0.0 ``` -..or add `-p` to filter specific projects - +### Model +```bash +cd yolo-websocket ``` -nx run-many -t -p +```bash +git checkout master +``` +```bash +sudo docker-compose up -d ``` -Targets can be defined in the `package.json` or `projects.json`. Learn more [in the docs](https://nx.dev/core-features/run-tasks). - -## Want better Editor Integration? - -Have a look at the [Nx Console extensions](https://nx.dev/nx-console). It provides autocomplete support, a UI for exploring and running tasks & generators, and more! Available for VSCode, IntelliJ and comes with a LSP for Vim users. - -## Ready to deploy? - -Just run `nx build demoapp` to build the application. The build artifacts will be stored in the `dist/` directory, ready to be deployed. - -## Set up CI! - -Nx comes with local caching already built-in (check your `nx.json`). On CI you might want to go a step further. +#### Альтернативный запуска (не рекомендуем) +```bash +nx run-many -t py-categories-service py-conveyor-service crud +``` -- [Set up remote caching](https://nx.dev/core-features/share-your-cache) -- [Set up task distribution across multiple machines](https://nx.dev/core-features/distribute-task-execution) -- [Learn more how to setup CI](https://nx.dev/recipes/ci) +После запуска приложение будет доступно на http://localhost:4200 + +| Name | Source | Deploy URL | Hosted URL | +|:-------:|:------------------------------------------------------------------------------------------------:| :---: |:-------------------------------| +| WEB | [crud](https://github.com/perm-hack/perm-hack/tree/main/apps/crud) | http://localhost:4200 | https://ayin.k-lab.su | +| Backend | [py-conveyor-service](https://github.com/perm-hack/perm-hack/tree/main/apps/py-conveyor-service) | http://localhost:4200/api/docs | https://ayin.k-lab.su/api/docs | +| Model | [yolo-websocket](https://github.com/95862888/yolo-websocket/tree/master) | | | + +## Архитектура + +```mermaid +graph TD; + agw-e2w-->agw; + crud-e2e-->crud; + crud-->agw; + agw-->py-categories-service; + agw-->py-conveyor-service; + py-conveyor-service-->db; + page-->crud; + ui-->page; + yolo-websocket-->ui; + yolo-websocket-->py-conveyor-service; + yolo-websocket-->ml-flow; + ml-flow-->s3; +``` -## Connect with us! +ML-Flow & s3 развернуты в локальной сети. -- [Join the community](https://nx.dev/community) -- [Subscribe to the Nx Youtube Channel](https://www.youtube.com/@nxdevtools) -- [Follow us on Twitter](https://twitter.com/nxdevtools) +![dataset.jpg](__assets__%2Fdataset.jpg) +![model_v4.jpg](__assets__%2Fmodel_v4.jpg) diff --git a/__assets__/dataset.jpg b/__assets__/dataset.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9991dfb3c1c2f8a22b1ae4391a60de1f59733acb GIT binary patch literal 19287 zcmds82UJtp*1j|WQ2|kuF4Ck+??h2SQOJM-0#XE(CPW0JCyFSd0s;bpK%|By5ouB* zB2Bu8p$MTv=p~duNdAj6&dk5oTW^i;{r{kIve(_;**E*#ea}62pMA=ubWsKX7G3Q# z+5i<508oKHfYJ+`0O;xHcF@t%@7S?}fu5d$X)hDg&Yeu`%q+Y2a;*wI5T!&>9WF!=hNJvU-6+%VNz`(@Fw4aG-zXT5lkHmK;$~%CS z0a&C1Xs8YY)T~rAtW=cu04Heb*982Y=xC{SP}6Lk`|T8X8{ZNQ9W6E04oVNOi-roI zW}#sLZ*#tH{Mfhi-_L0h{;ciqHQ%g`t6Z8UZrJ%7i0GvUXVCQnXanFpwhO**d{2(@!I9DaQ|Cqi8C;r4?~gg{t! z!Z_UjkDH{&HmkPSBril~2xT!k2AI9rMi4Ko)}r~uAK2rWz$G(Z!rZRMNiIg-=fVkE zeMC=tCHj*jpmegTZ@V4Hn)wW^a@Kht{L;jz}a zxQ)Q(k`po1_cp*ir>Z#Ab7_e;!Xb1TsjWBO7qJK3u_#N%Kr+YP0)R1r#r~kwnU5|Z z8}QmNo=Lw~ghbd!M?3gkPwsCu{}(t5?0ECshog$Ox7rCnGlx9%P06Ktd9Jp0zgi<> z8)QCpy!v;64KnR!5c1e>hS00E-2UCB?*{*+_MfWb`!5al`=TrWHQ2pVQSYGHiU79C z*hfW8Ln}we!n&93=&>7zWUcqhuq%LJ00VfMijEp7f+sG*kw}qo=*lLQCbY%)GuxYl z_p>6dYQbOhhdh7wOyRX?k%pP7RvrsCef<_UiJ79p;hqIcNwmeL8r(0B&=T^x@sWRV zZ!k=EsJeNksk(0cP7&)X`o>6;GY(?r79aO&t}_fr1k^2`VF z%dSmB(o2ypwNRjfU)`c}BU)jQ%|AWbg)lXDtep=cQlOP3+Tza{QIraxji5Uxg zzdflTERX`IEc&|nGiOg0v^DCpuxY|g6$=>!vA08z%1hqK4G>kI#S{@DcwRo^uNI7SUAtY!LXr3Um12mr*sa#H>mHkG49GlucvQuS1L8|}S zlwcj>8*C$F`HK9Cmr9u7e4mgBr5F8oeRls-SYT@{{5=t(it8oNeq$PAMd+@FX6-AL z37eH{^ACIaJIqb`%ZWW%BjQhTwMusWJS-e;=7)*Ygt|D#OqB604u_?8)*{a%h$Le? z_IV-+vG{8JnMqt_NMmDTuD4C4)wQBHtFW?k72-U`3ToMn$19uo`Z$xV$YEygCSko0 zzI6xk*YeCq6PJ6#A`jyG#qT92?3=EwM8%wPBlNB=Ilx^Wi$rRY5lQeSXG9^kJs}Tm zq`XQ2GT8?b-mDWT0DhE*I8##xy-q^lUv46V!IyiPkkOK&`gl_AXJXO4XLUweBbQJV z00DML1QHPfZT+2505Dh*W(8=#a0#HI-HMsMCYpT)hE&vS$7oskWo3S$le50@HBthD zDF_t>K+d*QKr|j2<>?lQ8rO(*rJ3)`wu!oK`0@u3xwhg4{1Ny%5;dd~J0N3WTGyM$ zc|$v%6-Db%^&#Aofb4a&@ zj2VprjI5(BZZBAS3^Q_FoiSarjZ&un zCz(9`$$rgExE+=pk8mJE)@GK}Jcf&xs)j1O)J@Rz50?iPEX#Stv3F~H=DpCC%=@Q) zyi>zy9t1d;*c$t>0@T!0bXx~nns4sR&;WF2`!BN|qm$*QmHWk7=7#H6k4F8gN3-gx zXd)|4ob)&yn#tOEST$AW!h^|h9z%hw?H8T5(1e7*gN70Qh&D(jd3Npv3TBK^V{C0u zA&Ni*$4BBxk;n+QMSb|0?H4)amK74Q6O!h==-OrmXeQ$_zh1{tis3WJT$Gw~W=pT5TTxH^OwkXUd0y<&N1DZwH$l&;%mPr+ z&`{IT?4YHi`!!OeqL!tRNn+Ka-OI+$a`?{CW5+MwaNQ?hV0}o=&?cPj#Lc`a!QUp? zc0i~J>&NkgyB&CX6lTdWp|POs>`zO2>}1|VNn5P81l8$!Y(!z{awH2y9V6X^MI4r|A(3Ux#U24c5*? z=cYp3#QC8K8Hd8g4>?$ieXt?!tXxlVha}S|Wq6hV0fyAuDTO-jV3duEd2U%_=|Vco z%3U#xuCBqraO6bZL{$xMbAzmAeX%rzR1Q9WBhYdF!ljHjwf{E8OMTT>(!FcOE}2N_QxA-;WPfVyZiE*a>D72HnO7MU0JO z>Ju3UemZLR4?=~O>nI%-E){u?`k4N-XVQL#t*S>%CP(kmxGC+>-a^%<#BlYrTZK)j zwVp!VA=Uuj^jU0Ge&u>{3uD-z5#%`qD1FqJ z(uKW+9lGG5&lKb=<~(*YMaO;362mg?l$@UNN!iRV_)I68*<;w->}rucAM77gC@F51 zo3Csx&S72=$a{FxG<6o+PtNtx>L|uJY)ZBbDf@)t(@sJ)6P_5qer-e==`^fkpRq4Z z2fHFG(Ran@Q(?~fQ@YLK(tFG0vJge6F-G?Ioh=f+3PguRa%%n2g%wCMZ8mdw+OUM=d6=Dtl7MtbhWGNh3`v(D@51)lUrw7k*mlyFzaQtj^#If>!x9Cpa z2v?E4KNlI8Rn~RXh#A=#unjJW8x5JgZ$F=!5$Ab0P1OhAQtGIAS2@>(UvY6oROvMw zp70@Ik9fxVnWoIfZe0(rP=U10uo$aFR}0;Ytj;(k3(dMcpE0qy85y4^R3ls+ur{8K zDA>~U#i;Wa)WXH}KdK$z#$q83mcR zsu^%TYg53^@53k2!_udkPa!5TeC(STKj}Qef}`txRd=$OW4|m?NPf}KQM3W;DHUh` z3)tHBD`VbIzBD3Ls7)F;8)0=xv#|Ohl{cR?&^9RtKjV|2`U(g82w6&2^R5LYA0LSy zH`>FdtN%)m2?dxUX?4QHWFXTi28BKk#>jT| zQIjHjqoQVv3o|J|8mEGI+JW|&vDZmwlM}9_K~YVZz4-`cy<8)xa5ipy2vRaPT;IVDecn`N&+_sm?_Ks^*oYrIl)_J^cXqtlhk_@SQi2V|>&_!Dp9GA(#e zVoDg%rl(@!2up*<<|_5~EIA4t({%lb(REh$%o33G8B6oHgwG%SD)n?XjWNa*tUYiH ze|(>3#p(#`8gkOT5F4Hmx4t3hW}+kFZdknEEI+3-kX1duZLZ5p{4O#fL>+X&ZA#)!v=tpo|3AVpN-M}e7F(GPa-_9tp z%4~1<3+*hUx~(1LQ%W!6M$QN4WR*v8j_6lsB1$@SlCYK{!8R}P3UJ6x46{Y6oxzv- z5j}lAv(8NS$W!T!%EO)e5t=*|3B0`bE5sadW5dtyE(ye@ls>qSUVu;2kql2LI8szL zY3MJ!xT0sEU2$;skprQy4>f7zv32>Bt;@54q0X17Im<)}kgObj_+;>2!PEcuOy0y7 zi~7h6P31+N*3f+7<9`T@Tfy*G3|v&ErlO$*rxku%QwFFm&$IG}FUTA>aAg5km6Hxx z-^r_L|F)_O;m6>Hm^R6WFgVs+I=QpHxbRFeNy$^VnbVBs#2Ev@ZF#?-Wt`H-a`nz2W&tUQZj_( ziFpg(1;ms$!fAWD9FGdG^31<#xMkf4yIHHJ=tqtOgGLhHfeqq0lS67(?QKoJJYLqE zXyXDFM<%G*Nc(q!gQ%mM<+1%V7HkqDRhge&x}>ySDZSxQ|EY2~Kq5~bc2QGQ)c(WyyGniFx@~2M4Nf!vrLb0t~ESaP#l3c;RD6=9(|_ zWG8yq!%j%9t~)%J=vchp>+M`TPDJIGs>TntaR0Ql+l+Mqfx&Esy;a%(tGA0p1Lmsj zJ#06sor`+^GBqzGUr|}#ZBM>OCf~^K{Qw)dx*=jJ>m;JpCNt!b|EVTW#OokuoVYyf zZA&gAB0nR1lDlT^MXiz%>SI;9CA)`>VIHg^X9w=_g}Tp*sevIrRT@TGdsCcI2;z&5 zJjr`-OSh$U=vxg0CZ^5&Y{B8?piai3N@Lkk=SK#?s|uo=T{@u;uC)qI)ux}jRamBR z!{KoulVGZ7NM{d^dO~Anb{#DB?hOIx5rfo@3ET1;YYP)etEWFjmL>SojRR&wyFL^d zXUY?%zSKH9L{)HtjcuOUYL0k>Jzm)0NW+m)r#Z-tsLTEw4J;>FX^;P42b#KMWM1es zbL@oG+#Ch4o!?C+Q-Bo+fSa4RJgn@sL^`?3&k`jm=BWI2mb|+KBkX z;FhpPk+V*#%q`mDZ|0@2R|#hiPLG&E^97E$DDTQi$%`73w_qRkX60C!u%3OLO*$85 zvnb!~`5=x%uoK*{@Dbrf0m3G5bK|9~i^rPqNoS$tVC8|_grjEOvJrAQWOW~zeKXZx z?Aw^k1ytjYJyH{{=9FPcbsKPP`YaTgPXXYe)aP~;`8U<({-TL46X3nv?s(0% z73S?dE2~1N`mkanU7TQHrh2C55g#O#yZ{cU+cCJsdi#<2rVTE;m{lH)(9l40h9cJM zhr3R_dUTono#a0(yQe+u8o1u_hY$Mdk;qJJ#_RU}be6kHt%^UMDGq$yVzsc57qV+M z2>VOzn^_4xb9~ZbPwcshGlx${2nKK8q4~Ae(yGY@5qqz_y){y=`-$n&XSxGJAGE8r zWZzc>UsJtP%2wr}weobR5SG$530)RYCOA=v?3(OoyHIvracRUBN1*=*aeKoPJ2tC@ zSySoHemna<-fAqwYTbcYRMz@*w_t%`la>P~}j zK`9Qn--FXemj%02GpawI8$G&wmB4n3kS_nu@|>i$xll^64XeG*MU(IX+beO2H*Hx@ zmdC9w5OCF3@ll;y2i%daWkRV(USt~dZ{1>z5_2l?YeY>L?mvCtoZYy zOTl2JxFFcR;FRdTRKsxHpNU;{_-cNo#a77mTLAWrF@wR`*PZ|1nl}Kjr2e`<^dBAn zq`RBpP{4N(e{h->x9iR=1M(X*H|8q8hcZ(c04jzpi>U$eMv2$oLjixX`N($|d?-)? z08;gL9lgDE-6iVpvzZpu-O~FtiB<19`j_d@uCKa>s6ky?fcl8?aOhvA08l4&7wu&& zkjwKw_%53(wse7`;PGn``<_aU1XZ@~cgto5mbVgr?RMXNz0lSnmHE&UU68ZLJp79` zKl(%WcLXT@0skHPZN~@rmp?tDf2Z&-&;2*Lf&a3^za|8SWkm{rgZH`0FO?uoksY$;{uz{r(BrmR8`Oq*+#&oZo!yd zX)=I7EJ4s%L;wamfbbbXJ`L&3zct-grsUGRjX;ynckdc02DGReA*{RBV8tOmEaZ0u z{WxkNqEgnRcH2aJie#sG42ForP9fitv4aSo*069E2Jllh;P$aY|1qE$k2}x`78cV0 zZg~q(Y88Yfp2n$%S9%NhEou`-LY5l1#v`^-9Eu|#kcGd#To)+7iH!}be&iq&jE3ae z1pbB}zsbAQlo`-r%+PO~0DTR(RSxtu;0FUV;2hAOe9ZzY|FNWB4Dzb1Z@3QrzOjS_ z4DkKP=T9aZ9C@lMv^V&_1NY^0s;w?>?Z026ABViMv8%q8X^?fnF^V%y`$quG%tY8U zujUD>r44z(o-zoUz1u|s=S_jS|Tq4oWliMR5ls5LN zp2iELhDQ89GgO@jCJZ;jQwfP$UXLV9AW+*!JFtgo#4}dguz6?AhBSUzi^&y5mg!56-G{t1S*JT8aPc?+qc#l z*cy6HeDvr-s75^IcywJtjQsP)#ad+!CXXAOZxgvrFV!IfW;mIltDDk@An?homHS;A zRFpu5-jJZDHSROj_IYMjx2{2G0_K&oUEJa5TO7TaP2R>r{|?q;s!luuj(2-bx!0ST&iw8?bXOp>s4Q- zeYXSbj-7B@m58b06ghWA-Pi9XF6M17Omg&@rd&?>fc8h79w-M#Qof#hTbH+8qNP=% zi4mbmUg?eZ^+nuBV~bluOsh2VzNJhenW;eISZ0s@4daLHX5y#pU+zyX_~D_~TEh(c zO}lqcrjD;ospMAJ4CJ=&CbAeS)xL@P`hpQTTCL8N=>+k`J|^qsI=eYNztl5^RV*oN z{s}X0%ErA!0ycwtB~#i-p%lPwW}%6SEp3=%4caJk!Fo_65@~{kTo%Bm3wk-UmM&kv z88{~gOXM6rSbeVQhT}Z7MfsYRo7%mA`Cbic*U&R+G2GT~Ajjp_r=OdeR`1w+uXex4 zGQ=-cC-&5Y#A5CKSBqmXwRqF-I?N5&a{$G^P)@fif_p8O>Afo=cJ#$X~aLy6P(eh45;(oo9V=3 z^f5mY8fbmK7@_ZAYWfK5{hXqj3Uaet@0X89}s3fT^j3Ih#&Py z@>Vz$h9|C%`rlg#V+fX?jr6MzyQ)VR{P1pibg|!j=Fy*RB}J#_AwR};$HOFrDwv9_ zs{$|kHAzF4ERyU^y%X&C0ygQ^nFt3aq}!}sV2;E8Y1v~_=!4Gv5SkptZjAJZ=LQ6p zYXQb31H4;pZMm@k;XtC<@;9K%t)8>xR&K?tDTpT}vU5XP8$ZC|yhwOxzj{KfX|4B~ zR9l&QtnjP+HR(f^$I9<`Q!mnuFx4M;^3TfB2M=N@t=8mHdsoWQ%pA@Px!dbckdINUvo$lk5>Q8 zC(fNSaI$7L{E8E!Fj4e&%!6HG%GVe@+xi(Z51yQLDmaT}W}dg@!G}*NUyS6oVpjR6 zFnC9PQrK@gkzQ2rRYli^K6O{wBD`|YU8?;BfdY7uF%y+guydvWA`Hf1_W00UUwmyF z5vzEtz3#QO*z1Gvv)7}$C10CgDQa+z=oKpZXJx}n+xfac|}t; zQ`>{%BCw+}d_{1k0%bkzYb94R3fYrCnLRRalsvWV@Sb#tVlyPawR6iUJ@kI0nG}6s zusgg|Vr}&K*@xQZ;+VXr3vKwW16Q6TLMGnGn=9I%jsEDr9`6!#Q|GpgHgiYSn9OwR ziiG(<@i|$|SG8`dYC3?qm#G5LdXR}*Cg3_4KBX=5SqD9Bk1&q4%_^PBXK_^qjQn;NSa)(>fQ z-2B2NQ8|t6b=AsD*$@2CzmT5V)8F8Qno8{^J&9(g>yhV0PEW_e7}a14%NF4KJ{4nc zjn7v+KvFpA_@I+DOW=ZbMu-7t^3RqH5`j7hf=j&zzP5;5iw8y>-d1n7JlfY`7J_A~ Up$zTW>bOY9xB9FH5K8y|07S96t^fc4 literal 0 HcmV?d00001 diff --git a/__assets__/model_v4.jpg b/__assets__/model_v4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..41af8e0a604ed1186c9969577104b9ff67bddbe5 GIT binary patch literal 46207 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 QuAT_xbK@T&J^!Bm52YT;IRF3v literal 0 HcmV?d00001