HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

ESPORT kutatási kiáltvány 2018

2018.01.06. 22:17 nb

A játék jövője, az ország jövője

Ne menjen a tanulás a játék rovására!

A 2017 szeptember 13-i alapítású DEAC-Hackers még csak 4 hónapos lesz, de az évkezdet megadja az apropóját az eddigi esporttal kapcsolatos tevékenységünk áttekintésének. Ebből kiindulva a jelen írásban próbálok egy rövid helyzetértékelést adni az esport státuszáról, már amennyi az én horizontomon látszik, illetve egy lehetséges jövőképet kovácsolni. Nem lesz sem jól átgondolt, sem tudományos, hanem sokkal inkább csak a pillanatnyiszubjektív benyomásaim, megérzéseim rögzítése.

Watch ESPORT kutatási kiáltvány 2018 from nbatfai on www.twitch.tv

A DEAC-Hackers áttekintése

Hosszan, lelkesen és büszkén ragozhatnánk, de röviden: kutatási vezetőként kiemelhetem, hogy több konferencián és közleményben volt már főtéma a DEAC-Hackers. 100 fölötti az igazolt játékosállományunk taglétszáma, megjelentünk online és offline versenyeken és sorolhatnánk… Mindent (a tagságot, a működést, a versenyaktivitást) nyíltan dokumentálunk a „DEAC-Hackers Almanach 2017, 2018” című „A Debreceni Egyetem Atlétikai Club e-sport szakosztályának évkönyve” alcímű dokumentumban, amely itt elérhető: https://shrek.unideb.hu/~nbatfai/DEAC-Hackers/DEACHackers-Almanac-hu.pdf

Sport tevékenységet folytat-e aki esportol?

Formálisan a NOB aktuális döntése után ez már nem kérdés, hiszen deklarálták, hogy igen! Ezért a kérdés ezen aspektusánál sem érdemes többet időznünk. Innentől inkább érdeminek érezném a hétköznapi szemlélet felzárkóztatását ehhez a magas szintű döntéshez.

Ha kimegyek kocogni az atlétikai pályára, akkor a közvélekedés szerint sportolok. Ha lejátszok egy LoL meccset, akkor azt nemhogy sportnak, de még esportnak sem tekintik. Ennek az lehet a magyarázata, hogy a sport mögött erősen szervezett háttér van (kezdve az iskolai testnevelés órai felméréstől az amatőr és profi sporton át az olimpiai mozgalomig). Az esportnak ez a mélyen gyökerező kultúrája még nincs meg. Magam ebben látom az okát, amiért átmenetileg az elektronikus játékot nem tartjuk esportnak, az esportot meg sportnak.

Egy hasonlat:

  • ha egész nap random rájárok a süteményes tálra, akkor az az evésnek, mint tevékenységnek a nem szervezett formája
  • ha a kollégiumban a dietetikus által összeállított napi háromszori ellátást élvezhetem, akkor az az evésnek, mint tevékenységnek a jól szervezett formája

Első tézisem abból a meggyőződésemből származik, hogy szerintem erősíteni kell az elektronikus játszás szervezett formáit!

Első tézis: különböző (családi, baráti, amatőr és profi) szinteken erősíteni tudjuk az elektronikus játszás szervezett formáit.

Valójában itt nincs okunk pesszimizmusra, hiszen a számítógépes anyakörnyezet fantasztikus katalizátora a szervezésnek. Gondoljunk bele, hogy adott esetben például akár egy egyetlen napja kezdő CoC játékos is beszállhat egy olyan CW-be, ahol az ellenfél egy ausztrál klán, az atlétikai pályán ez nyilván értelmezhetetlen alapértelmezés lenne. Vagy gondoljunk egészen konkrétan az online esport verseny szervező szoftveres megoldásokra.

Mit jelent a „játszás szervezett formája” a gyakorlatban? Az én szintemen (ami jóval az amatőr esportolói szint alatt, valahol a családi tömegesport szinten van, ráadásul apaként) például a következőket:

  1. a három gyerek ha szervezés nélkül marad, akkor tipikus, hogy nagy mennyiségben fogyasztanak az Android marketből alkalmi játékokat
  2. ennél a rendezetlennek tekintett esetnél rendezettebb, ha a baráti köreikben téma játékokból fogyasztanak
  3. még rendezettebb, ha közösen játszunk, például egy CoC támadás előtt megbeszéljük a támadás forgatókönyvét, vagy a LoL-ban belépünk egy discord szerverre és közös csapatban nyomjuk 

A szervezettség ezen 1-3 rendezése mutatja, hogy ezt a családi kör társadalmi léptékben már nem tudja biztosítani a 3. szintet. Ugyanúgy nem, ahogyan az oktatást sem olyan három-hat éves kortól, ezért adjuk a gyerekeinket szakemberek kezébe: oviba majd suliba.

Második tézisem abból a meggyőződésemből származik, hogy szerintem az elektronikus játszást meg kell jelentetni az iskolában!

Második tézis: az elektronikus játszást az iskolában az oktatási célok megvalósításához alapvető eszközzé tudjuk tenni.

Ez persze nemcsak a játék tanítását jelentené, hanem a tanítás játékokon keresztüli megvalósítását is. Ezzel meg lehetne teremteni és azonnal fel is pörgetni a nemzeti oktatási szoftver piacot… de maradjunk most a játszás mellett. 

Játszunk eleget? 

Nekem az a benyomásom, hogy szervezett formában semmiképpen sem! Ennek alátámasztásaként értelmezem azt, amikor a helyi iskolai felmérések a „világban” mért értékektől eltérést1 mutatnak vagy amikor a saját gyerekem a játék stream-jét szívesebben fogyasztja mint magát a játékot.

A gyerek tipikusan játszani fog, mert ez egyfajta belső kényszer, a levegővételhez vagy az evéshez szoktam (Schrödinger élet-értelmezése nyomán) hasonlítani. A felnőtt tipikusan nem fog, egy másfajta külső kényszer miatt, miszerint nincs ideje. Ebben a (gerontológiai?) irányban is érdemes gondolkodni, hiszen ismert, hogy öregedve gyorsabban telik az idő. Miért? Talán mert kevesebbet játszunk, ezért növekedik a mentális rendezetlenségünk, azaz csökken az idő-lassító képességünk… de foglalkozzunk a jövővel, azaz a gyerekekkel. Itt elegáns az lenne, ha lenne egy szép elméletünk, mint Schrödingernek az életről2 , miszerint az energia alacsony entrópiájú formáját vesszük magunkhoz és magas entrópiájú formáját adjuk le, hogy fenntartsuk testünk belső rendezettségét (éljünk). Mondjuk az információ alacsony entrópiájú formáját vesszük magunkhoz (könyv, film, kalkulus jegyzet) és magas entrópiájú formáját adjuk le (pletyi?, csevegés?, veszekedés?), hogy fenntartsuk lelkünk belső rendezettségét. Ebbe az irányba tettem lépéseket „A szubjektivitás elmélete”3 című kéziratban, hogy mondjuk milyen az információtartalma egy játéknak, ha szellemi táplálékként fogyasztjuk (játszunk vele) de mivel az még nem egy elbírált munka, ezt az irányt is függesszük fel egyelőre.

Szóval alapállás, hogy a gyerekek játszani fognak. Kérdés az, hogy ezt a belső kényszert, ösztönt (játékéhség, játékösztön) fel tudjuk-e használni a gyerek, a család és így végső soron a nemzet gyarapodására. Csak ösztöneik kielégítésére, magukra hagyva játszanak, vagy szervezett formában?

Harmadik tézisem tehát abból a meggyőződésemből származik, hogy szerintem nem játszunk eleget!

Harmadik tézis: szervezett formában nem játszunk eleget.

A játék jövője, az ország jövője

Miért érzem fontosnak, hogy szervezett formában többet tudjunk játszani? Mert ha csak simán játszunk, az „primitív” szükségleteink (a játékösztön, ha létezik) szimpla kielégítése. Szerintem egy szintig ez is lehet építő, de aztán már nem vezet tovább, sőt eluralkodása meddő, például valamilyen függő állapot is lehet. A szervezett játék esetén viszont amatőr majd sokkal-sokkal kevesebben profi esportolókká válhatnak a játékosok. Azoknál, akik ezt a gyerekkori vágyukat nem tudják beteljesíteni (és a tipikus játékos nyilván ebbe a csoportba fog esni) a szervezésnek abba az irányba kell hatnia, hogy jobb tanárok, orvosok, mérnökök vállalkozók (mesterséges intelligencia szakértők – robotpszichológusok :) legyenek!

Ma a sportok szervezett háttere egyesületek és szövetségek többszintű hálózata. Ezzel szemben az esport címek mögött tipikusan nagy szoftveres cégek állnak, nyilván mivel az esport mindig egy sikeres szoftver termékhez kapcsolódik.

Ezért tartom fontosnak, hogy azon túlmenően, hogy az eddigi 3 tézis szellemében szervezetten alakítsuk át játék és szoftver alapúra az oktatási rendszerünket (egyszerűen a könyv Gutenberg-„alap” helyett szoftver, mondjuk Neumann-„alap”), próbálkozzunk saját esetleges esport játékok kifejlesztésével! Persze ez sem nem elhatározás, sem nem pénz kérdése. Hanem kultúra kell, játék kultúra és szoftveres, programozói hacker kultúra. A piaci rés megvan, nincs open source esport játék cím. Megvannak a lehetőségeink is. Nem kell más csak 10: 5let és lelkesedés, 20: ahol ez kevés, az maga indikálja, hogy mégsem elég jó az 5let, goto 10.

Negyedik tézis: megvan a lehetőségünk nyílt forrású esport játék kialakítására.

Ebben az évben várhatóan és nagy izgalommal az ismertetett 4 tézis alátámasztásán szeretnék dolgozni.

Hajrá!

1Lásd például a https://newzoo.com/insights/rankings/top-20-core-pc-games/ lap LoL, HS, MC sorrendjét szemben az ONK 2017-en a Szabó József és Buda András ismertette saját, helyi méréseikkel, miszerint: CS, FIFA, CoD.

2Erwin Schrödinger, "What is life?", Cambridge University Press , 1944. és lásd még Roger Penrose, "The Emperor’s new mind", Oxford University Press , 2002.

3Bátfai Norbert: „A szubjektivitás elmélete”. Beküldött kézirat.

2018. 01. 04., Debrecen.
Dr. Bátfai Norbert
nbatfai@gmail.com
DEAC-Hackers kutatási vezető
DEAC: http://www.deac.hu/szakosztalyok/esport
LoL: https://www.leagueofgraphs.com/summoner/eune/NorbiEntropy
CoC: https://www.clashofstats.com/players/norbertbatfai-929R0LGVU
GitHub: https://github.com/nbatfai
stackoverflow: https://stackoverflow.com/users/7277946/norbert-bátfai
A jelen doksi stream videója: https://www.twitch.tv/videos/215449808
A jelen doksi elérhető: https://shrek.unideb.hu/~nbatfai/ESPORTKutKialt2018.pdf 

 

 

komment

Címkék: játék sport entrópia esport killer app LoL CoC DEAC-Hackers

Helló, Westworld! - Ford, Bernard és én

2016.12.18. 21:07 nb

Vége a félévnek, jön a karácsony! Ez egy remek időszak egy kis kutatásra, például az ESAMU-s MI cikk elkészítésére. A linken csak egy korai kivonat található, viszont a desport listán látható több előzetes vázlat a tartalomra. Lényeg a lényeg, hogy ebben a cikkben definiáljuk a Face Battle Dataset-et (FaBaData). Ez arcképek gyűjteménye lesz. Ennek előfutára volt a prog2 előadás fotókatalógusa. A FaBaDataset képeit majd a "Matyi, a vadász" kliens (játék) appokkal lőjjük, de ez egy másik történet, most az arcok felismerésének első lépéseit tesszük meg deep learning-el, TensorFlow-s (TF) futócipőkben.

Egészen konrétan elkezdünk ismerkedni a Google-s FaceNet cikk David Sandberg-féle TF implementációjával. Mielőtt belecsapunk a lecsóba, következzen egy rövid vízió, hogy lássuk az írandó cikkben a fától az erdőt!

Digitalizáljuk a DE polgárait!

Képzeljük el, hogy éppen a DE polgárai lettünk, most írjuk alá a hozzájárulást, hogy az egyetem "digitalizálhasson" minket... előtte azért átfutunk néhány a szerződésben felvillantott esetet:

A most rögzített videóból kivágott képeket a DEMI (a Debreceni Egyetem Mesterséges Intelligenciája) program megtanulja. Ezen képek alapján az egyetem területét szinte teljesen lefedő IoT kamerákon DEMI folyamatosan azonosítani fogja...

... megjelenéseidet és előmeneteledet figyelemmel követve DEMI tanulási és életvezetési tanácsokat ad...

... a távoli vizsgázás* lehetőségével csak a DEMI által követett hallgatók élhetnek...

Hello, FaceNet!

Klónozzuk le a repót! 7 képet tanítunk két osztályból, majd egyet-egyet megpróbálunk osztályozni a hálózattal. Az egyik osztály magam leszek az UDPROG kurzus Facebook-os "selfie-katalógusából" való alábbi képekkel:

screenshot_20161218_184132.png

ezeket már a repó egyik segédprogijával előfeldolgozzuk

nbatfai@robopsy:~/Robopsychology/repos/gpu/facenet/src/align$ python align_dataset_mtcnn.py ~/datasets/UDPROG ~/datasets/UDPROG_160 --image_size 160 --margin 44

hogy megkapjuk az arcokat:

screenshot_20161218_184101.png

a másik osztálynak a repóban található Anthony Hopkins (igen, Ő Dr. Robert Ford... vajon véletlen? :) képeket használjuk

screenshot_20161218_184152.png

A forráskódon persze kell szabni (eleve kivettem a LFW-vel kapcsolatos részt, csak a fenti kevés képpel tanítunk és ügyetlenül ugyanazokat osztályozzuk, főleg a szerző alábbi tanácsát követve: https://github.com/davidsandberg/facenet/issues/62#issuecomment-259549054)

A kód módosítása után két futtatást csinálunk. Az egyikben az egyik osztálybeli, a másikban a másik osztálybeli képet akarunk osztályozni, hogy ki az. Az eleje kicsit ugrál, de ahogy halad a tanítás, úgy javul a felismerés (olyan 440 epoch után már nincs hibás osztályozás).

Nézzük a Ford-os futtatást:
nbatfai@robopsy:~/Robopsychology/repos/gpu/facenet/src$ python facenet_train_classifier.py --logs_base_dir ~/logs/facenet/ --models_base_dir ~/models/facenet/ --data_dir ~/datasets/TRAIN --lfw_dir ~/datasets/TEST --image_size 160 --model_def models.inception_resnet_v1  --weight_decay 2e-4 --optimizer RMSPROP --learning_rate -1  --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file ../data/learning_rate_schedule_classifier_long.txt --center_loss_factor 2e-4 --lfw_batch_size 2 --gpu_memory_fraction 0.7 --epoch_size 1 --batch_size 1 --max_nrof_epochs 800 --lfw_batch_size 2 --lfw_nrof_folds 2 --nrof_preprocess_threads 1 --lfw_file_ext png >kim3
.
.
.

Total number of classes: 2
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Anthony_Hopkins
classification:  Norbert_Batfai
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Norbert_Batfai
classification:  Anthony_Hopkins
.
.
.
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
classification:  Anthony_Hopkins
nbatfai@robopsy:~/Robopsychology/repos/gpu/facenet/src$
.
.
.
részletesebben a vége:

Epoch: [800][1/1]       Time 0.439      Loss 108.357    RegLoss 108.357
Saving variables
Variables saved in 2.20 seconds
classification:  Anthony_Hopkins

screenshot_20161219_061921.png

Akinek a Ford-os kép érdekes, mit szól ehhez? Rövid periódusoknént fellapozok egy éppen kezem ügyébe kerülő Neumann szg. és az agy könyvet, főleg a forradalmi (értsd informatikai :) vége miatt - csak szabadon idézve - hogy a "matematikának lehetnek olyan megjelenési formái is, amit a mai fogalmainkkal nem tekintenénk matematikának"... de mi van a borítón:

cam00068.jpg

Ez nem Dolores labirintusa? Az én? (Mielőtt még a 3.005.159 kódot megfejtenénk, az egy könyvtári szám :)

 

 * Bátfai Erika 5lete

komment

Címkék: TensorFlow FaceNet

süti beállítások módosítása