{"id":54494,"date":"2019-12-27T00:00:00","date_gmt":"2019-12-26T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning"},"modified":"2020-02-18T14:02:30","modified_gmt":"2020-02-18T11:02:30","slug":"dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/news\/dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning","title":{"rendered":"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/cca85b86c64843707a2167a7fed19867.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>El\u0151tted ism\u00e9t egy objektumazonos\u00edt\u00f3 feladat \u00e1ll. A priorit\u00e1s a munka sebess\u00e9ge elfogadhat\u00f3 pontoss\u00e1g mellett. Vedd a YOLOv3 architekt\u00far\u00e1t \u00e9s finom\u00edtsd tov\u00e1bb. A pontoss\u00e1g (mAp75) meghaladja a 0.95-\u00f6t. De a fut\u00e1si sebess\u00e9g m\u00e9g mindig alacsony. A francba. <\/p>\n<p><\/p>\n<p>Ma elker\u00fclj\u00fck a kvant\u00e1l\u00e1st. A hivatkoz\u00e1s alatt megvizsg\u00e1ljuk <strong>Model Pruning<\/strong> \u2014 a felesleges r\u00e9szek elt\u00e1vol\u00edt\u00e1sa a h\u00e1l\u00f3zatb\u00f3l az Inferencia felgyors\u00edt\u00e1sa \u00e9rdek\u00e9ben an\u00e9lk\u00fcl, hogy cs\u00f6kkenne a pontoss\u00e1g. L\u00e1tv\u00e1nyosan \u2014 hol, mennyit \u00e9s hogyan lehet kiv\u00e1gni. Megn\u00e9zz\u00fck, hogyan lehet ezt k\u00e9zzel v\u00e9grehajtani, \u00e9s hol lehet automatiz\u00e1lni. A v\u00e9g\u00e9n \u2014 egy repozit\u00f3rium a keras-ra.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"vvedenie\">Bevezet\u00e9s<\/h3>\n<p><\/p>\n<p>Az el\u0151z\u0151 munkahelyemen, a perm v\u00e1rosbeli Macroscop-n\u00e1l egy szok\u00e1sra tettem szert \u2014 mindig figyeltem az algoritmusok v\u00e9grehajt\u00e1si idej\u00e9t. A h\u00e1l\u00f3zatok fut\u00e1si idej\u00e9t mindig az adekv\u00e1ts\u00e1gi sz\u0171r\u0151n kereszt\u00fcl ellen\u0151rz\u00f6m. \u00c1ltal\u00e1ban a legjobbnak sz\u00e1m\u00edt\u00f3 modellek nem felelnek meg ennek a sz\u0171r\u0151nek, ami elvezetett a Pruninghoz. <\/p>\n<p><\/p>\n<p>A Pruning \u2014 egy r\u00e9gi t\u00e9ma, amir\u0151l <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=eZdOkDtYMoo\">a stanfordi el\u0151ad\u00e1sokban<\/a><\/noindex> 2017-ben besz\u00e9ltek. A f\u0151 \u00f6tlet \u2014 a tanult h\u00e1l\u00f3zat m\u00e9ret\u00e9nek cs\u00f6kkent\u00e9se a pontoss\u00e1g elveszt\u00e9se n\u00e9lk\u00fcl, k\u00fcl\u00f6nb\u00f6z\u0151 csom\u00f3pontok elt\u00e1vol\u00edt\u00e1s\u00e1val. J\u00f3l hangzik, de ritk\u00e1n hallok az alkalmaz\u00e1s\u00e1r\u00f3l. Val\u00f3sz\u00edn\u0171leg nincsenek implement\u00e1ci\u00f3k, nincsenek oroszul \u00edrt cikkek, vagy egyszer\u0171en mindenki \u00fagy v\u00e9li, hogy a pruning \u00fajdons\u00e1g \u00e9s hallgat r\u00f3la.<br \/>\nDe n\u00e9zz\u00fck meg k\u00f6zelebbr\u0151l<\/p>\n<p><\/p>\n<h3 id=\"vzglyad-v-biologiyu\">Pillant\u00e1s a biol\u00f3gi\u00e1ba<\/h3>\n<p><\/p>\n<p>Szeretem, amikor a Deep Learning-be biol\u00f3gi\u00e1b\u00f3l \u00e9rkez\u0151 \u00f6tletek cs\u00fasznak be. Nekik, ak\u00e1rcsak a fejl\u0151d\u00e9snek, lehet b\u00edzni (tudtad, hogy a ReLU nagyon hasonl\u00edt a <noindex><a rel=\"nofollow\" href=\"http:\/\/www.gatsby.ucl.ac.uk\/~lmate\/biblio\/dayanabbott.pdf\">agysejtek aktiv\u00e1l\u00e1si funkci\u00f3j\u00e1ra<\/a><\/noindex>?) <\/p>\n<p><\/p>\n<p>A Model Pruning folyamata is k\u00f6zel \u00e1ll a biol\u00f3gi\u00e1hoz. A h\u00e1l\u00f3zat reakci\u00f3j\u00e1t itt \u00f6ssze lehet hasonl\u00edtani az agy plaszticit\u00e1s\u00e1val. N\u00e9h\u00e1ny \u00e9rdekes p\u00e9lda tal\u00e1lhat\u00f3 Norman Doidge k\u00f6nyv\u00e9ben. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.litres.ru\/norman-doydzh\/plastichnost-mozga\/?utm_medium=cpc&amp;utm_source=google&amp;utm_campaign=DSA%7C149839530&amp;utm_term=&amp;utm_content=k50id%7Caud-499675211712%3Adsa-179513627318%7Ccid%7C149839530%7Caid%7C248455294996%7Cgid%7C6837176850%7Cpos%7C1t1%7Csrc%7Cg_%7Cdvc%7Cc%7Creg%7C1011993%7Crin%7C%7C&amp;k50id=6837176850%7Caud-499675211712%3Adsa-179513627318&amp;gclid=Cj0KCQiA0ZHwBRCRARIsAK0Tr-oKPqkmL7_Oxg62JZO8Jlk9zO-9nYKIRFxHi_lgoCvsQQadvUGxUzkaApgpEALw_wcB\">A n\u0151i agy, aki sz\u00fclet\u00e9se \u00f3ta csak az egyik f\u00e9lteke rendelkez\u00e9s\u00e9re \u00e1llt, \u00fajraprogramozta mag\u00e1t az elt\u0171nt f\u00e9lteke funkci\u00f3inak elv\u00e9gz\u00e9s\u00e9re.<\/a><\/noindex>:<\/p>\n<p><\/p>\n<ol>\n<li>A fi\u00fa megsebes\u00edtette mag\u00e1t az agy\u00e1nak azon r\u00e9sz\u00e9n, amely a l\u00e1t\u00e1s\u00e9rt felel\u0151s. Id\u0151vel m\u00e1s agy r\u00e9szek \u00e1tvett\u00e9k ezeket a funkci\u00f3kat. (ezt nem pr\u00f3b\u00e1ljuk megism\u00e9telni)<\/li>\n<li>\u00c9ppen \u00edgy a te modelledb\u0151l is elt\u00e1vol\u00edthat\u00f3 egy r\u00e9sz gyenge konvol\u00faci\u00f3s r\u00e9teg. V\u00e9gs\u0151 esetben a megmaradt konvol\u00faci\u00f3k seg\u00edthetnek p\u00f3tolni az elt\u00e1vol\u00edtottakat.<\/li>\n<\/ol>\n<p><\/p>\n<p>Szereted a Transfer Learning-et, vagy null\u00e1r\u00f3l tanulsz? <\/p>\n<p><\/p>\n<h3 id=\"lyubish-transfer-learning-ili-uchish-s-nulya\">Els\u0151 lehet\u0151s\u00e9g.<\/h3>\n<p><\/p>\n<p><strong>Opci\u00f3 egy.<\/strong> Transfer Learning-t haszn\u00e1lsz a Yolov3-on. Retina, Mask-RCNN vagy U-Net. De a leggyakrabban nem kell 80 objektumt\u00edpus felismer\u00e9se, mint a COCO-ban. A gyakorlatomban \u00e1ltal\u00e1ban 1-2 oszt\u00e1lyra korl\u00e1toz\u00f3dik. Felmer\u00fcl a k\u00e9rd\u00e9s, hogy a 80 oszt\u00e1lyra tervezett architekt\u00fara itt t\u00falz\u00f3. \u00c9rdemes lenne cs\u00f6kkenteni az architekt\u00far\u00e1t, \u00e9s szeretn\u00e9m ezt \u00fagy megtenni, hogy ne vesz\u00edtsek a megl\u00e9v\u0151 el\u0151k\u00e9pzett s\u00falyokb\u00f3l.<\/p>\n<p><\/p>\n<p><strong>A m\u00e1sodik lehet\u0151s\u00e9g.<\/strong> Lehet, hogy sok adatod \u00e9s sz\u00e1m\u00edt\u00e1si er\u0151forr\u00e1sod van, vagy egyszer\u0171en egy szuper testreszabott architekt\u00far\u00e1ra van sz\u00fcks\u00e9ged. Ez nem sz\u00e1m\u00edt. De a h\u00e1l\u00f3zatot null\u00e1r\u00f3l tan\u00edtod. A szok\u00e1sos folyamat az, hogy megn\u00e9zz\u00fck az adatszerkezetet, kiv\u00e1lasztunk egy T\u00daLZOTT teljes\u00edtm\u00e9ny\u0171 architekt\u00far\u00e1t, \u00e9s nyomjuk le a dropoutokat a t\u00faltanul\u00e1s ellen. L\u00e1ttam 0.6-os dropoutot, Karl. <\/p>\n<p><\/p>\n<p>Mindk\u00e9t esetben a h\u00e1l\u00f3zat cs\u00f6kkenthet\u0151. Megmotiv\u00e1ltuk. Most n\u00e9zz\u00fck meg, mir\u0151l is van sz\u00f3 a pruning-r\u00f3l.<\/p>\n<p><\/p>\n<h3 id=\"obschiy-algoritm\">\u00c1ltal\u00e1nos algoritmus<\/h3>\n<p><\/p>\n<p>\u00dagy d\u00f6nt\u00f6tt\u00fcnk, hogy elt\u00e1vol\u00edthatunk konvol\u00faci\u00f3kat. Ez el\u00e9g egyszer\u0171en n\u00e9z ki:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/1c01fa318d08550c9738c88d52e36b2d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>B\u00e1rmely konvol\u00faci\u00f3 elt\u00e1vol\u00edt\u00e1sa stresszel j\u00e1r a h\u00e1l\u00f3zat sz\u00e1m\u00e1ra, ami \u00e1ltal\u00e1ban egy bizonyos hib\u00e1nak a n\u00f6veked\u00e9s\u00e9vel j\u00e1r. Egyfel\u0151l ez a hiban\u00f6veked\u00e9s azt mutatja, hogy mennyire helyesen t\u00e1vol\u00edtjuk el a konvol\u00faci\u00f3kat (p\u00e9ld\u00e1ul egy nagy emelked\u00e9s azt jelzi, hogy valamit nem j\u00f3l csin\u00e1lunk). De egy kis n\u00f6veked\u00e9s teljesen elfogadhat\u00f3, \u00e9s gyakran a k\u00f6vetkez\u0151 k\u00f6nny\u0171 finom\u00edt\u00e1s megsz\u00fcnteti ezt kis LR-rel. Hozz\u00e1adunk egy finom\u00edt\u00e1si l\u00e9p\u00e9st:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/d51df9606d65fd4e7e80209743f761c3.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Most meg kell \u00e9rten\u00fcnk, mikor szeretn\u00e9nk le\u00e1ll\u00edtani a Learning&lt;-&gt;Pruning ciklusunkat. L\u00e9tezhetnek egzotikus lehet\u0151s\u00e9gek, amikor a h\u00e1l\u00f3zatot egy meghat\u00e1rozott m\u00e9retre \u00e9s gyorsas\u00e1gra kell cs\u00f6kkenteni (p\u00e9ld\u00e1ul mobil eszk\u00f6z\u00f6k eset\u00e9n). Azonban a leggyakoribb lehet\u0151s\u00e9g az, hogy folytatjuk a ciklust, am\u00edg a hiba el nem \u00e9ri a megengedett hat\u00e1rt. Hozz\u00e1adunk egy felt\u00e9telt:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/9032018847833b54402124a29d3acbb1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Teh\u00e1t az algoritmus \u00e9rthet\u0151v\u00e9 v\u00e1lik. M\u00e9g meg kell vizsg\u00e1lni, hogyan hat\u00e1rozzuk meg a t\u00f6rlend\u0151 konvol\u00faci\u00f3kat.<\/p>\n<p><\/p>\n<h3 id=\"poisk-udalyaemyh-svertok\">T\u00f6rlend\u0151 konvol\u00faci\u00f3k keres\u00e9se<\/h3>\n<p><\/p>\n<p>El kell t\u00e1vol\u00edtanunk n\u00e9h\u00e1ny feldolgoz\u00e1st. A c\u00e9ltalanul, \u201el\u0151ve\u201d elt\u00e1vol\u00edtani mindent \u2014 rossz \u00f6tlet, m\u00e9g ha m\u0171k\u00f6dni is fog. De ha m\u00e1r van \u00e9sz, \u00e9rdemes lehet megfontolni \u00e9s megpr\u00f3b\u00e1lni kiemelni a \u201egyenge\u201d feldolgoz\u00e1sok elt\u00e1vol\u00edt\u00e1s\u00e1t. Sz\u00e1mos lehet\u0151s\u00e9g \u00e1ll rendelkez\u00e9sre:<\/p>\n<p><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/openreview.net\/pdf?id=rJqFGTslg\">Legkisebb L1-\u00e9rt\u00e9k vagy low_magnitude_pruning<\/a><\/noindex>. Az elk\u00e9pzel\u00e9s azt mondja, hogy a kis s\u00faly\u00fa konvol\u00faci\u00f3k kis m\u00e9rt\u00e9kben j\u00e1rulnak hozz\u00e1 a v\u00e9gs\u0151 d\u00f6nt\u00e9shez. <\/li>\n<li>Legkisebb L1-\u00e9rt\u00e9k, figyelembe v\u00e9ve az \u00e1tlagot \u00e9s a sz\u00f3r\u00e1st. Kieg\u00e9sz\u00edtj\u00fck a megoszl\u00e1s jelleg\u00e9nek \u00e9rt\u00e9kel\u00e9s\u00e9vel.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/arxiv.org\/abs\/1512.08571\">A burkolatok maszkol\u00e1sa \u00e9s a legkev\u00e9sb\u00e9 befoly\u00e1sol\u00f3 t\u00e9nyez\u0151k kiz\u00e1r\u00e1sa<\/a><\/noindex>. A jelent\u00e9ktelen burkolatok pontosabb meghat\u00e1roz\u00e1sa, de el\u00e9g id\u0151- \u00e9s er\u0151forr\u00e1s-ig\u00e9nyes. <\/li>\n<li>Egy\u00e9b <\/li>\n<\/ol>\n<p><\/p>\n<p>Mindegyik lehet\u0151s\u00e9g \u00e9letk\u00e9pes, \u00e9s saj\u00e1t megval\u00f3s\u00edt\u00e1s\u00e1nak saj\u00e1toss\u00e1gai vannak. Itt a legkisebb L1-m\u00e9rt\u00e9kkel rendelkez\u0151 lehet\u0151s\u00e9get fogjuk megvizsg\u00e1lni.<\/p>\n<p><\/p>\n<h3 id=\"ruchnoy-process-dlya-yolov3\">K\u00e9zi folyamat a YOLOv3 sz\u00e1m\u00e1ra<\/h3>\n<p><\/p>\n<p>A kiindul\u00e1si architekt\u00far\u00e1ban marad\u00e9k blokkok tal\u00e1lhat\u00f3ak. De b\u00e1rmennyire is men\u0151k a m\u00e9ly h\u00e1l\u00f3zatokn\u00e1l, egy kicsit zavar\u00f3ak sz\u00e1munkra. A neh\u00e9zs\u00e9g abban rejlik, hogy nem lehet k\u00fcl\u00f6nb\u00f6z\u0151 index\u0171 burkolatokat t\u00f6r\u00f6lni ezekben a r\u00e9tegekben:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/d516ab886a28d62a34e6a934fdd62c12.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ez\u00e9rt kiemelj\u00fck azokat a r\u00e9tegeket, amelyekb\u0151l szabadon elt\u00e1vol\u00edthatjuk a burkolatokat:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/f9b69d9900d641e1d5835db9cc749189.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Most \u00e9p\u00edts\u00fcnk egy ciklust:<\/p>\n<p><\/p>\n<ol>\n<li>Kivessz\u00fck az aktiv\u00e1l\u00e1sokat<\/li>\n<li>Megfontoljuk, mennyit v\u00e1gjunk ki <\/li>\n<li>Kiv\u00e1gjuk<\/li>\n<li>10 epochot tan\u00edtunk LR=1e-4 mellett <\/li>\n<li>Tesztel\u00e9s <\/li>\n<\/ol>\n<p><\/p>\n<p>A burkolatok elt\u00e1vol\u00edt\u00e1sa hasznos, hogy felm\u00e9rj\u00fck, milyen r\u00e9szt t\u00e1vol\u00edthatunk el egy adott l\u00e9p\u00e9sben. P\u00e9ld\u00e1k a kivon\u00e1sra:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/cd8202e6ce1aa0cc59fbdc4bd8562427.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e1tjuk, hogy szinte minden\u00fctt 5% burkolat rendelkezik meglehet\u0151sen alacsony L1-norm\u00e1val, \u00e9s elt\u00e1vol\u00edthatjuk \u0151ket. Minden l\u00e9p\u00e9sben ilyen kivon\u00e1s t\u00f6rt\u00e9nt \u00e9s \u00e9rt\u00e9kel\u00e9st v\u00e9gezt\u00fcnk, hogy mely r\u00e9tegekb\u0151l \u00e9s mennyit szabad elt\u00e1vol\u00edtani. <\/p>\n<p><\/p>\n<p>Az eg\u00e9sz folyamat 4 l\u00e9p\u00e9sbe f\u00e9rt bele (itt \u00e9s mindenhol a sz\u00e1mok az RTX 2060 Super-hez tartoznak):<\/p>\n<p><\/p>\n<table>\n<thead>\n<tr>\n<th>teljes t\u00f6rl\u00e9st tud v\u00e9gezni b\u00e1rmely f\u00e1jlra, amely a helyi t\u00e1rol\u00f3ban tal\u00e1lhat\u00f3<\/th>\n<th>mAp75<\/th>\n<th>Param\u00e9terek sz\u00e1ma, milli\u00f3<\/th>\n<th>A h\u00e1l\u00f3 m\u00e9rete, MB<\/th>\n<th>A kezdeti \u00e1llapothoz k\u00e9pest, %<\/th>\n<th>Fut\u00e1si id\u0151, ms<\/th>\n<th>Kiv\u00e1g\u00e1si felt\u00e9telek<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>0<\/td>\n<td>0.9656<\/td>\n<td>60<\/td>\n<td>241<\/td>\n<td>100<\/td>\n<td>180<\/td>\n<td>\u2014<\/td>\n<\/tr>\n<tr>\n<td>1<\/td>\n<td>0.9622<\/td>\n<td>55<\/td>\n<td>218<\/td>\n<td>91<\/td>\n<td>175<\/td>\n<td>5% az \u00f6sszesb\u0151l<\/td>\n<\/tr>\n<tr>\n<td>2<\/td>\n<td>0.9625<\/td>\n<td>50<\/td>\n<td>197<\/td>\n<td>83<\/td>\n<td>168<\/td>\n<td>5% az \u00f6sszesb\u0151l<\/td>\n<\/tr>\n<tr>\n<td>3<\/td>\n<td>0.9633<\/td>\n<td>39<\/td>\n<td>155<\/td>\n<td>64<\/td>\n<td>155<\/td>\n<td>15% a 400+ burkolat\u00fa r\u00e9tegekhez<\/td>\n<\/tr>\n<tr>\n<td>4<\/td>\n<td>0.9555<\/td>\n<td>31<\/td>\n<td>124<\/td>\n<td>51<\/td>\n<td>146<\/td>\n<td>10% a 100+ burkolat\u00fa r\u00e9tegekhez<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><\/p>\n<p>A 2. l\u00e9p\u00e9shez hozz\u00e1ad\u00f3dott egy pozit\u00edv hat\u00e1s \u2014 a mem\u00f3ria meghallgatta a 4-es batch-size-t, ami jelent\u0151sen felgyors\u00edtotta a tov\u00e1bbi tanul\u00e1si folyamatot.<br \/>\nA 4. l\u00e9p\u00e9sn\u00e9l a folyamatot le\u00e1ll\u00edtott\u00e1k, mivel m\u00e9g a hossz\u00fa tov\u00e1bbi tanul\u00e1s sem emelte meg a mAp75-\u00f6t a kor\u00e1bbi \u00e9rt\u00e9kekre.<br \/>\nV\u00e9g\u00fcl siker\u00fclt felgyors\u00edtani az inferencia folyamat\u00e1t <strong>15%<\/strong>, cs\u00f6kkenteni a m\u00e9retet<strong> 35% <\/strong>\u00e9s nem vesz\u00edtett\u00fcnk a pontoss\u00e1gb\u00f3l. <\/p>\n<p><\/p>\n<h3 id=\"avtomatizaciya-dlya-bolee-prostyh-arhitektur\">Automatiz\u00e1l\u00e1s egyszer\u0171bb architekt\u00far\u00e1khoz<\/h3>\n<p><\/p>\n<p>Egyszer\u0171bb h\u00e1l\u00f3zati architekt\u00far\u00e1k eset\u00e9n (felt\u00e9teles add, concat \u00e9s residual blokkok n\u00e9lk\u00fcl) c\u00e9lszer\u0171 lehet az \u00f6sszes burkolati r\u00e9teg feldolgoz\u00e1s\u00e1ra t\u00e1maszkodni, \u00e9s automatiz\u00e1lni a burkolatok kiv\u00e1g\u00e1s\u00e1nak folyamat\u00e1t.<\/p>\n<p><\/p>\n<p>Ezt a megold\u00e1st implement\u00e1ltam <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/PaginDm\/keras-L1-pruning\">itt<\/a><\/noindex>.<br \/>\nMinden egyszer\u0171: csak a vesztes\u00e9gfunkci\u00f3t, az optimaliz\u00e1l\u00f3t \u00e9s a batch-gener\u00e1torokat kell biztos\u00edtanod:<\/p>\n<p><\/p>\n<pre><code class=\"python\">import pruning\nfrom keras.optimizers import Adam\nfrom keras.utils import Sequence\n\ntrain_batch_generator = BatchGenerator...\nscore_batch_generator = BatchGenerator...\n\nopt = Adam(lr=1e-4)\npruner = pruning.Pruner(\"config.json\", \"categorical_crossentropy\", opt)\n\npruner.prune(train_batch, valid_batch)<\/code><\/pre>\n<p><\/p>\n<p>Sz\u00fcks\u00e9g eset\u00e9n a konfigur\u00e1ci\u00f3s param\u00e9terek m\u00f3dos\u00edthat\u00f3k:<\/p>\n<p><\/p>\n<pre><code class=\"json\">{\n    \"input_model_path\": \"model.h5\",\n    \"output_model_path\": \"model_pruned.h5\",\n    \"finetuning_epochs\": 10, # a finomhangol\u00e1s epokainak sz\u00e1ma a metsz\u00e9si l\u00e9p\u00e9sek k\u00f6z\u00f6tt\n    \"stop_loss\": 0.1, # a le\u00e1ll\u00e1si folyamat vesztes\u00e9ge\n    \"pruning_percent_step\": 0.05, # a t\u00f6rlend\u0151 konvol\u00faci\u00f3k r\u00e9sze minden metsz\u00e9si l\u00e9p\u00e9sn\u00e9l\n    \"pruning_standart_deviation_part\": 0.2 # eltol\u00e1s a metsz\u00e9si r\u00e9sz korl\u00e1toz\u00e1s\u00e1hoz\n}<\/code><\/pre>\n<p><\/p>\n<p>Tov\u00e1bb\u00e1 bevezet\u00e9sre ker\u00fclt a korl\u00e1toz\u00e1s a sz\u00f3r\u00e1s alapj\u00e1n. A c\u00e9l \u2014 korl\u00e1tozni a t\u00f6rlend\u0151 elemeket, kiv\u00e9ve azokat a feldolgoz\u00e1sokat, amelyek m\u00e1r \u201emegfelel\u0151\u201d L1-m\u00e9r\u0151kkel rendelkeznek:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/c2733d01a4d5b6e9a97a1e683d87ff45.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ezzel lehet\u0151v\u00e9 tessz\u00fck, hogy csak a gyenge konvol\u00faci\u00f3kat t\u00e1vol\u00edtsuk el az olyan eloszl\u00e1sokb\u00f3l, mint a jobb oldali, \u00e9s ne befoly\u00e1soljuk a bal oldali eloszl\u00e1s t\u00f6rl\u00e9s\u00e9t:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/a9c9bee6322d268026ffb6713fc0bc86.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A norm\u00e1lis eloszl\u00e1shoz val\u00f3 k\u00f6zel\u00edt\u00e9ssel a pruning_standart_deviation_part \u00e9rt\u00e9k\u00e9t a k\u00f6vetkez\u0151kb\u0151l tudjuk megv\u00e1lasztani:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/efee3eda6b8263de42e8f52541a3e949.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nAj\u00e1nlom a 2 szigma alkalmaz\u00e1s\u00e1t. Vagy nem is kell figyelembe venni ezt a jellemz\u0151t, \u00e9s hagyhatjuk az \u00e9rt\u00e9ket &lt; 1.0.<\/p>\n<p><\/p>\n<p>Az eredm\u00e9ny egy grafikon a h\u00e1l\u00f3 m\u00e9ret\u00e9r\u0151l, a vesztes\u00e9gr\u0151l \u00e9s a h\u00e1l\u00f3 futtat\u00e1s\u00e1nak idej\u00e9r\u0151l az eg\u00e9sz teszt sor\u00e1n, 1.0-ra normaliz\u00e1lva. P\u00e9ld\u00e1ul itt a h\u00e1l\u00f3 m\u00e9rete majdnem a fel\u00e9re cs\u00f6kkent vesztes\u00e9g n\u00e9lk\u00fcl (kicsi konvol\u00faci\u00f3s h\u00e1l\u00f3 100k s\u00fallyal):<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Jedi technika a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning\" src=\"\/wp-content\/uploads\/2019\/12\/1048ac38b12c753e54c8d8a2dc1dc394.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A futtat\u00e1s sebess\u00e9ge norm\u00e1lis ingadoz\u00e1soknak van kit\u00e9ve, \u00e9s gyakorlatilag nem v\u00e1ltozott. Ennek magyar\u00e1zata van:<\/p>\n<p><\/p>\n<ol>\n<li>A konvol\u00faci\u00f3k sz\u00e1ma a k\u00e9nyelmes (32, 64, 128) \u00e9rt\u00e9kekr\u0151l a videok\u00e1rty\u00e1k sz\u00e1m\u00e1ra nem annyira k\u00e9nyelmesekre \u2014 27, 51 stb. Itt hib\u00e1zhatok, de val\u00f3sz\u00edn\u0171leg ez befoly\u00e1solja.<\/li>\n<li>Az architekt\u00fara nem sz\u00e9les, de sorozatos. A sz\u00e9less\u00e9g cs\u00f6kkent\u00e9s\u00e9vel nem \u00e9rintj\u00fck a m\u00e9lys\u00e9get. Ezzel cs\u00f6kkentj\u00fck a terhel\u00e9st, de nem v\u00e1ltoztatjuk a sebess\u00e9get.<\/li>\n<\/ol>\n<p><\/p>\n<p>Ez\u00e9rt a javul\u00e1s a CUDA terhel\u00e9s\u00e9nek 20-30%-os cs\u00f6kken\u00e9s\u00e9ben nyilv\u00e1nul meg, de nem a v\u00e9grehajt\u00e1si id\u0151 cs\u00f6kken\u00e9s\u00e9ben.<\/p>\n<p><\/p>\n<h3 id=\"itogi\">\u00d6sszegz\u00e9s<\/h3>\n<p><\/p>\n<p>Gondolkodjunk el. K\u00e9t pruning lehet\u0151s\u00e9get vizsg\u00e1ltunk \u2013 a YOLOv3-hoz (amikor k\u00e9zi munk\u00e1ra van sz\u00fcks\u00e9g) \u00e9s egyszer\u0171bb architekt\u00far\u00e1j\u00fa h\u00e1l\u00f3zatokhoz. L\u00e1that\u00f3, hogy mindk\u00e9t esetben el\u00e9rhet\u0151 a h\u00e1l\u00f3 m\u00e9ret\u00e9nek cs\u00f6kkent\u00e9se \u00e9s gyors\u00edt\u00e1s, an\u00e9lk\u00fcl hogy a pontoss\u00e1g cs\u00f6kkenne. Eredm\u00e9nyek:<\/p>\n<p><\/p>\n<ul>\n<li>M\u00e9retcs\u00f6kkent\u00e9s<\/li>\n<li>Futtat\u00e1s felgyors\u00edt\u00e1sa<\/li>\n<li>CUDA terhel\u00e9s cs\u00f6kkent\u00e9se<\/li>\n<li>Ennek k\u00f6vetkezm\u00e9nyek\u00e9nt a k\u00f6rnyezettudatoss\u00e1g (optimaliz\u00e1ljuk a j\u00f6v\u0151beli sz\u00e1m\u00edt\u00e1si er\u0151forr\u00e1sok haszn\u00e1lat\u00e1t. Valahol \u00f6r\u00fcl egy <noindex><a rel=\"nofollow\" href=\"https:\/\/meduza.io\/feature\/2019\/12\/12\/kto-takaya-greta-tunberg-i-pochemu-ona-stala-chelovekom-goda-zhurnal-time\">Greta Thunberg<\/a><\/noindex>)<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"appendix\">Appendix<\/h3>\n<p><\/p>\n<ul>\n<li>A pruning l\u00e9p\u00e9s ut\u00e1n lehet\u0151s\u00e9g van a kvant\u00e1l\u00e1sra is (p\u00e9ld\u00e1ul TensorRT-vel)<\/li>\n<li>A Tensorflow lehet\u0151s\u00e9geket k\u00edn\u00e1l a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.tensorflow.org\/model_optimization\/guide\/pruning\/pruning_with_keras\">low_magnitude_pruning<\/a><\/noindex>. M\u0171k\u00f6dik.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/PaginDm\/keras-L1-pruning\">T\u00e1rhely<\/a><\/noindex> Szeretn\u00e9m fejleszteni, \u00e9s \u00f6r\u00f6mmel veszem a seg\u00edts\u00e9get.<\/li>\n<\/ul>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/482050\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0434 \u0442\u043e\u0431\u043e\u0439 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0434\u0435\u0442\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u2014 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u043f\u0440\u0438 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0411\u0435\u0440\u0435\u0448\u044c \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 YOLOv3 \u0438 \u0434\u043e\u043e\u0431\u0443\u0447\u0430\u0435\u0448\u044c. \u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c(mAp75) \u0431\u043e\u043b\u044c\u0448\u0435 0.95. \u041d\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u043e\u043d\u0430 \u0432\u0441\u0451 \u0435\u0449\u0435 \u043d\u0438\u0437\u043a\u0430\u044f. \u0427\u0435\u0440\u0442. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043e\u0431\u043e\u0439\u0434\u0451\u043c \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439 \u043a\u0432\u0430\u043d\u0442\u0438\u0437\u0430\u0446\u0438\u044e. \u0410 \u043f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c Model Pruning \u2014 \u043e\u0431\u0440\u0435\u0437\u0430\u043d\u0438\u0435 \u0438\u0437\u0431\u044b\u0442\u043e\u0447\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043b\u044f \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u044f Inference \u0431\u0435\u0437 \u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u043e \u2014 \u043e\u0442\u043a\u0443\u0434\u0430, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438 \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-54494","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0434 \u0442\u043e\u0431\u043e\u0439 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hu\/blog\/news\/dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"hu_HU\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0436\u0435\u0434\u0430\u0439\u0441\u043a\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u2014 pruning | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0434 \u0442\u043e\u0431\u043e\u0439 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/news\/dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-26T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:30+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Jedik technik\u00e1ja a konvol\u00faci\u00f3s h\u00e1l\u00f3zatok cs\u00f6kkent\u00e9s\u00e9re \u2014 pruning | ProHoster","description":"Ism\u00e9t egy feladat el\u0151tt \u00e1llsz.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/news\/dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0436\u0435\u0434\u0430\u0439\u0441\u043a\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0440\u0442\u043e\u0447\u043d\u044b\u0445 \u0441\u0435\u0442\u0435\u0439 \u2014 pruning | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0434 \u0442\u043e\u0431\u043e\u0439 \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u0434\u0430\u0447\u0430.","og:url":"https:\/\/prohoster.info\/hu\/blog\/news\/dzhedajskaya-tehnika-umensheniya-svertochnyh-setej-pruning","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-26T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54494","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 11:34:22","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:29:04","updated":"2026-01-24 11:34:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/54494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=54494"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/54494\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=54494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=54494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=54494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}