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

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

A bejegyzés trackback címe:

https://progpater.blog.hu/api/trackback/id/tr7812055603

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása