Skip to content

Commit 1e06d7b

Browse files
committed
Merge branch 'lab/mlops'
2 parents 6688b05 + 60fd7d3 commit 1e06d7b

File tree

8 files changed

+1108
-445
lines changed

8 files changed

+1108
-445
lines changed

docker-compose.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
services:
2+
mkdocs:
3+
image: "mkdocs"
4+
build:
5+
context: .
6+
ports:
7+
- "8888:8000"
8+
volumes:
9+
- .:/docs
10+

docs/laborok/1/index.md

Lines changed: 1012 additions & 13 deletions
Large diffs are not rendered by default.

docs/laborok/3/index.md

Lines changed: 60 additions & 318 deletions
Large diffs are not rendered by default.

docs/laborok/4/index.md

Lines changed: 13 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
1-
# Android labor
1+
# Adatvizualizáció labor
22

33
## Bevezetés
44

5-
A labor során a mobilon elérhető MI szolgáltatásokkal ismerkedhetünk meg.
5+
A labor során a Pythonban elérhető legfontosabb adatvizualizációs könyvtárakkal ismerkedhetünk meg.
66

7-
A feladatok megoldásához az alábbi telepített szoftverekre van szükség:
8-
9-
- [Android Studio](https://developer.android.com/studio)
10-
- [Git](https://git-scm.com/)
117

128
## Előkészület
139

@@ -20,92 +16,20 @@ A feladatok megoldása során ne felejtsd el követni a feladatbeadás folyamat
2016
3. Hozz létre egy új ágat `megoldas` néven, és ezen az ágon dolgozz.
2117
4. A neptun.txt fájlba írd bele a Neptun kódodat. A fájlban semmi más ne szerepeljen, csak egyetlen sorban a Neptun kód 6 karaktere.
2218

23-
## 1. feladat: Fejlesztőkörnyezet összeállítása
24-
25-
### Android Studio telepítése
26-
27-
Töltsd le és telepítsd az Android Studiot és a benne foglalt Android SDK-t!
28-
29-
!!! info "Ha még nem használtad az Android Studiot"
30-
Ha még nem ismered ezt a fejlesztőkörnyezetet, [ezen a linken](https://viauad02.github.io/laborok/laborok/01-android-hello-world/) találsz róla hasznos információkat.
31-
32-
### Projekt létrehozása
33-
34-
Indítsuk el az Android Studio-t, majd:
35-
36-
1. Hozzunk létre egy új projektet, válasszuk az *Empty Activity* lehetőséget.
37-
1. A projekt neve legyen `GeminiTicTacToe`, a kezdő package pedig `hu.bme.aut.android.geminitictactoe`.
38-
1. Nyelvnek válasszuk a *Kotlin*-t.
39-
1. A minimum API szint legyen API24: Android 7.0.
40-
1. A *Build configuration language* Kotlin DSL legyen.
41-
42-
!!!danger "FILE PATH"
43-
A projekt mindenképpen a repository-ban lévő GeminiTicTacToe könyvtárba kerüljön, és beadásnál legyen is felpusholva! A kód nélkül nem tudunk maximális pontot adni a laborra!
44-
45-
Ellenőrizd, hogy elérhető-e a Gemini a projektből! *(View > Tool Windows > Gemini)*
46-
Szükség esetén jelentkezz be a Google Accountoddal, valamint engedélyezd a projektben a kontextus használatát.
47-
48-
!!! example "1. feladat beadandó (1 pont)"
49-
* Kommitold a változtatásokat.
50-
* Készíts egy képernyőképet a fejlesztőkörnyezetről, úgy, hogy látszódjon a Gemini nézete, és mentsd el a repository gyökerébe **`f1.png`** néven.
51-
52-
## 2. feladat: Amőba alkalmazás elkészítése Gemini segítségével
53-
54-
Az előbb létrehozott projektben valósíts meg egy amőba játékot a Gemini segítségével!
55-
56-
!!! info "Nem kell túlbonyolítani"
57-
A feladat megoldható akár egy prompttal/kérdéssel, és a válasz tartalmainak bemásolásával, további javítások nélkül.
58-
59-
!!! example "2a. feladat beadandó (1 pont)"
60-
* Kommitold a változtatásokat.
61-
* Készíts egy képernyőképet a futó alkalmazásról *játék közben* (emulátoron vagy saját készüléken), és mentsd el a repository gyökerébe **`f2a.png`** néven.
62-
63-
!!! example "2b. feladat beadandó (1 pont)"
64-
* Kommitold a változtatásokat.
65-
* Készíts egy képernyőképet a futó alkalmazásról *miután valamelyik játékos nyert* (emulátoron vagy saját készüléken), és mentsd el a repository gyökerébe **`f2b.png`** néven.
66-
67-
## 3. feladat: Generatív modellt használó alkalmazás
68-
69-
### Projekt létrehozása
70-
71-
Mentsük el a korábbi projektet, majd
72-
73-
1. Hozzunk létre egy új projektet, válasszuk a *Gemini API Starter* lehetőséget.
74-
1. A projekt neve legyen `GeminiApiDemo`, a kezdő package pedig `hu.bme.aut.android.geminiapidemo`.
75-
1. Nyelvnek válasszuk a *Kotlin*-t.
76-
1. A minimum API szint legyen API24: Android 7.0.
77-
1. A *Build configuration language* Kotlin DSL legyen.
78-
1. A következő ablakban a linkre kattintva generáljunk magunknak API kulcsot, majd másoljuk be.
79-
80-
!!!danger "FILE PATH"
81-
A projekt mindenképpen a repository-ban lévő GeminiApiDemo könyvtárba kerüljön, és beadásnál legyen is felpusholva! A kód nélkül nem tudunk maximális pontot adni a laborra!
82-
83-
Vizsgáljuk meg a létrejött projekt kódját, majd próbáljuk meg futtatni a létrejött projektet!
84-
85-
A projekt nagy valószínűséggel nem fog elindulni, mert több helyen elavult hivatkozásokat tartalmaz.
86-
87-
A fejlesztőkörnyezet által kiírt Error üzenetek alapján próbáld meg kijavítani a projekt működését!
88-
Futás idejű hibák esetén használd a *Logcat* nézetet!
89-
90-
!!! tip "Model overload"
91-
Ha az alkalmazás használata során az API-tól a "Model overloaded" hibaüzenet kapod vissza, próbálkozz egy későbbi időpontban. Ha ez sem segít, készítsd el így a képernyőképeket.
92-
93-
!!! example "3a. feladat beadandó (1 pont)"
94-
* Kommitold a változtatásokat.
95-
* Készíts egy képernyőképet a futó alkalmazásról *az első kép alapján generált szöveggel* (emulátoron vagy saját készüléken), és mentsd el a repository gyökerébe **`f3a.png`** néven.
19+
## Feladat: Feltáró adatelemzés és adatvizualizáció
9620

97-
!!! example "3b. feladat beadandó (1 pont)"
98-
* Kommitold a változtatásokat.
99-
* Készíts egy képernyőképet a futó alkalmazásról *saját promptot kipróbálva* (emulátoron vagy saját készüléken), és mentsd el a repository gyökerébe **`f3b.png`** néven.
21+
1. Válassz egy publikusan elérhető adathalmazt (pl. Kaggle-ről), amin a vizualizációkat fogod elkészíteni.
22+
2. Végezz feltáró adatelemzést (EDA) a következők szerint.
23+
- Készíts 4-4-4 vizualizációt a **matplotlib**, **seaborn** és **plotly** könyvtárakkal
24+
- Minden vizualizáció legyen egyedi
25+
- Minden könyvtárnál legyen legalább 2 olyan típusú vizualizáció, amely más könyvtáraknál nem szerepel
26+
- Minden vizualizáció legyen igényes, tartalmazzon címet, tengelyfeliratokat, stb., illetve hordozzon tényleges információt.
27+
- Minden vizualizáció után írd le egy Markdown cellába, hogy milyen következtetést lehet levonni az adott grafikonból.
10028

101-
## Opcionális feladat (megajánlott jegyért):
10229

103-
Készíts egy új alkalmazást, amely vagy LiteRT alapú modellt, vagy egy tetszőleges MLKit szolgáltatást használ bármilyen MI alapú funkció megvalósítására!
104-
A megvalósítás során használhatod segítségként a Geminit, vagy más nagy nyelvi modellt.
30+
!!! example "Beadandó (40 pont)"
31+
* Töltsd fel a repoba a vizualizációkat tartalmazó Jupyter Notebook fájlt. A cellakimenetek, tehát a vizualizációk is szerepeljenek benne!
10532

106-
!!!danger "FILE PATH"
107-
A projekt mindenképpen a repository-ban lévő OptionalProject könyvtárba kerüljön, és beadásnál legyen is felpusholva! A kód nélkül nem tudunk maximális pontot adni a laborra!
10833

10934
!!! example "Opcionális feladat beadandó (10 pont)"
110-
* Kommitold a változtatásokat.
111-
* Készíts egy képernyőképet az elkészült alkalmazás felületéről, ahol látszik, hogy mi a megvalósított funkció és mentsd el **`fo.png`** néven a repository gyökerébe.
35+
* Készíts legalább 3 térképet a Folium python könyvtárral, tetszőleges adathalmazon. Az ábrák legyenek igényesek, tartalmazzanak minél több információt.
File renamed without changes.

docs/laborok/5/index.md

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,25 @@
1-
# Adatvizualizáció labor
1+
# Gépi látás labor
22

3-
## Bevezetés
3+
Itt található a gépi látás labor leírása.
44

5-
A labor során a Pythonban elérhető legfontosabb adatvizualizációs könyvtárakkal ismerkedhetünk meg.
5+
**Az alapfeladat**
66

7+
A feladat Kaggle-ről egy tetszőleges dataset választása és egy notebook kidolgozása az előadás anyag végén bemutatotthoz hasonlóan. Ez a minta notebook megtalálható a tárgy github repo-jában a ComputerVision mappában.
78

8-
## Előkészület
9+
**Az extra feladat**
910

10-
A feladatok megoldása során ne felejtsd el követni a feladatbeadás folyamatát [Github](../../tudnivalok/github/GitHub.md).
11+
Az extra feladat (ami a megajánlott jegyhez járulhat hozzá) választható: Pytorch-ban a QAT (quantization aware training) kipróbálása, vagy a Tensorflow alapú megoldás szintén notebook-os elkészítése, vagy a készített meogldás integrálása egy mobilos környezetbe és erről videó készítése. A második esethez minta a ComputerVision/link_for_zip_examples.txt-ben megjelölt zip fájl "ami" mappájában van tf.py néven.
1112

12-
### Git repository létrehozása és letöltése
13+
**Beadási információ**
1314

14-
1. Moodle-ben keresd meg a laborhoz tartozó meghívó URL-jét és annak segítségével hozd létre a saját repository-dat.
15-
2. Várd meg, míg elkészül a repository, majd checkout-old ki.
16-
3. Hozz létre egy új ágat `megoldas` néven, és ezen az ágon dolgozz.
17-
4. A neptun.txt fájlba írd bele a Neptun kódodat. A fájlban semmi más ne szerepeljen, csak egyetlen sorban a Neptun kód 6 karaktere.
15+
Lényeges, hogy az egyes vizualizációk és print-elt szövegek is a beadás részét képezik (confusion matrix, tanulási görbe, precision, recall, stb.). Így a beadott notebook-ból ezek ne legyenek törölve. (Tehát alapból egy notebook a beadandó.) Ennek a neve legyen olyan, hogy tartalmazza a nevet, neptun kódot. Formátum: Pelda_Peter_ABC123.ipynb
1816

19-
## Feladat: Feltáró adatelemzés és adatvizualizáció
17+
**Beadási információ az extra feladathoz.**
2018

21-
1. Válassz egy publikusan elérhető adathalmazt (pl. Kaggle-ről), amin a vizualizációkat fogod elkészíteni.
22-
2. Végezz feltáró adatelemzést (EDA) a következők szerint.
23-
- Készíts 4-4-4 vizualizációt a **matplotlib**, **seaborn** és **plotly** könyvtárakkal
24-
- Minden vizualizáció legyen egyedi
25-
- Minden könyvtárnál legyen legalább 2 olyan típusú vizualizáció, amely más könyvtáraknál nem szerepel
26-
- Minden vizualizáció legyen igényes, tartalmazzon címet, tengelyfeliratokat, stb., illetve hordozzon tényleges információt.
27-
- Minden vizualizáció után írd le egy Markdown cellába, hogy milyen következtetést lehet levonni az adott grafikonból.
19+
Az extra feladat 1. verziójának választása esetén lehet folytatólagosan dolgozni az alap notebook-ba. (Tehát ekkor csak egy notebook kerül beadásra.)
2820

21+
A 2. verzió készíthető egy új notebook-ba. (Tehát ekkor összesen két notebook kerül beadásra.)
2922

30-
!!! example "Beadandó (40 pont)"
31-
* Töltsd fel a repoba a vizualizációkat tartalmazó Jupyter Notebook fájlt. A cellakimenetek, tehát a vizualizációk is szerepeljenek benne!
23+
Az extra feladat 3. verziójának választása esetén pedig elhelyezendő egy link az alap notebook-ban, ami a videóra mutat. (Tehát ekkor egy notebook kerül beadásra a végén egy linkkel.)
3224

33-
34-
!!! example "Opcionális feladat beadandó (10 pont)"
35-
* Készíts legalább 3 térképet a Folium python könyvtárral, tetszőleges adathalmazon. Az ábrák legyenek igényesek, tartalmazzanak minél több információt.
25+
_Bármilyen kérdést tegyetek fel bátran a Teams csoportban, hogy tanulhassunk egymás kérdéseiből!_

mkdocs.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,5 +92,3 @@ nav:
9292
- laborok/3/index.md
9393
- laborok/4/index.md
9494
- laborok/5/index.md
95-
- "Megajánlott jegy":
96-
- hf/index.md

0 commit comments

Comments
 (0)