You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
6
6
7
-
A feladatok megoldásához az alábbi telepített szoftverekre van szükség:
8
-
9
-
- BME EDU Account
10
-
-[Git](https://git-scm.com/)
11
7
12
8
## Előkészület
13
9
@@ -20,132 +16,20 @@ A feladatok megoldása során ne felejtsd el követni a feladatbeadás folyamat
20
16
3. Hozz létre egy új ágat `megoldas` néven, és ezen az ágon dolgozz.
21
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.
22
18
23
-
## Google Cloud hozzáférés beállítása
24
-
25
-
1. A Moodle-ben található linken keresztül igényelj kupont a `@edu.bme.hu` végződésű e-mail címedre.
26
-
2. Erősítsd meg az igénylést a kapott e-mailben.
27
-
3. A következő beérkező e-mail alapján aktivált a krediteket.
28
-
4. A megjelenő *Billing* oldalon állíts be *Budget Alert*-et 30 dollárra. Így értesítészt fogsz kapni, ha a rendelkezésre álló 50 dollárból 30-et már elhasználtál.
29
-
30
-
!!!danger "Kreditek használata"
31
-
Az ezután megjelenő *Billing* oldalon tudod követni a labor során felhasznált krediteket. Ezt az oldalt figyeld folyamatosan, és ha szükséges szüntess meg használt erőforrásokat! Ha pontosan követed az útmutatót, nem fogod túllépni a rendelkezésre álló kreditmennyiséget. Az útmutató nem pontos követéséből fakadó kredittúllépés a hallgató felelőssége.
32
-
33
-
A következőkben egy AutoML tanítást fogunk elvégezni a Google Cloud Vertex AI szolgáltatása segítségével. Ha bármikor elakadnál, [itt](https://cloud.google.com/vertex-ai/docs/tutorials/image-classification-automl/overview?authuser=0) tudsz további segítséget találni.
34
-
35
-
36
-
## Projekt létrehozása
37
-
38
-
1. Navigálj a Google Cloud [projekt választó felületére](https://console.cloud.google.com/projectselector2/home/dashboard?authuser=0).
39
-
2. Hozz létre egy új projektet ```AMI Labor NEPTUN``` néven, ahol a NEPTUN helyett a saját Neptun kódod szerepel. **Fontos, hogy az a Billing Account for Education legyen kiválasztva, ahol a kreditek találhatók!**
40
-
Az oldal tetején található keresőjébe az *Account management* keresőszót beírva és az *Account management(Billing)* opciót kiválasztva ellenőrizheted, hogy valóban a megfelelő Billing Accounthoz jött-e létre a projekt.
41
-
4. Nyissuk meg a [Cloud Shellt](https://ssh.cloud.google.com/cloudshell/editor?authuser=0), amely egy böngészőben használható interaktív shell az erőforrások és projektek menedzselésére.
42
-
5. Másold be az alábbi kódot a konzolba, lecserélve a **PROJECT_ID** a saját projekted azonosítójára. Ha nem találod a Projekt ID-t, [itt](https://cloud.google.com/vertex-ai/docs/tutorials/tabular-bq-prediction/prerequisites?authuser=0#find-project-id) találsz segítséget.
43
-
44
-
```bash
45
-
gcloud config set project PROJECT_ID &&
46
-
projectid=PROJECT_ID &&
47
-
echo$projectid
48
-
```
49
-
50
-
A kód elmenti a projektünk azonosítóját a *projectid* változóba.
51
-
52
-
5. Engedélyezd az IAM, Notebooks, Storage és Vertex AI API szolgáltatásokat az alábbi parancs kiadásával:
A fenti kód Vertex AI erőforrásokhoz és Cloud Storagehoz ad hozzáférést a megadott felhasználónak.
67
-
68
-
69
-
!!! example "1. feladat beadandó (1 pont)"
70
-
* Készíts egy képernyőképet a Cloud Shellben lefutott parancsokról, és mentsd el a repository gyökerébe **`f1.png`** néven.
71
-
72
-
## Adathalmaz létrehozása és adat importálása
73
-
74
-
1. Navigáljunk a [Vertex AI kezdőoldalára](https://console.cloud.google.com/vertex-ai/?authuser=0) a konzolban.
75
-
2. A *Prepare Data* csempén kattintsunk a **Create dataset** gombra.
76
-
3. Az adahalmaznak adjuk az ```ami-labor-dataset``` nevet.
77
-
4. Adattípusnak az **Image**, célnak a **Single-label classification** legyen kiválasztva.
78
-
5. Válasszunk egy hozzánk közel eső régiót az erőforrásainknak (pl. **europe-west4**).
79
-
6. A **Create** gomb megnyomásával hozzuk létre az üres adathalmazt.
80
-
7. Az adathalmaz létrejötte után a *Data Import* nézetben válasszuk ki a **Select import files from Cloud Storage** opciót, és adjuk meg az alábbi csv fájl elérési útvonalát az **Import file path** mezőben (a csv fájl egy Google Cloud Bucketben található):
8. Kattintsunk a **Continue** gombra az importálás befejezéséhez. Az importálás után betöltő oldalon megnézhetjük az adathalmazunk képeit.
85
-
86
-
!!! info "Error/Warning"
87
-
Az adathalmaz betöltésekor több hibát is talál a rendszer. Betöltés után tekintsük meg az *Unable to import data due to errors* hibaüzenet részleteit. A későbbiekben ezzel nem kell foglalkoznunk.
88
-
89
-
!!! example "2. feladat beadandó (1 pont)"
90
-
* Készíts egy képernyőképet a betöltött adathalmazról, és mentsd el a repository gyökerébe **`f2.png`** néven.
91
-
92
-
## AutoML Modell tanítása
93
-
94
-
1. Kattinsuk a jobb oldalon a **Train New Model** gombra.
95
-
2. Fogadjuk el az alapértelmezett beállításokat a **Continue** gombra kattintva.
96
-
3. Adjuk a modellnek a következő nevet: ```ami-labor-model```, majd kattintsunk újra a **Continue** gombra.
97
-
4. A *Training options* fülön is jók a default értékek, kattintsunk a **Continue** gombra.
98
-
5. A *Select Compute and pricing* fülön állítsuk be a Budget értékét **8 node órára**. Kattintsunk a **Start training** gombra.
99
-
100
-
!!! info "Training"
101
-
A tanítás várhatóan körülbelül 2 óráig is eltarthat, a sikeres futásról e-mail értesítőt fogsz kapni.
102
-
103
-
!!! example "3. feladat beadandó (1 pont)"
104
-
* Készíts egy képernyőképet a bal oldali sávon a **MODEL DEVELOPMENT/Training** fülre kattintva, ahol látszódik a tanítás alatt álló modelled, és mentsd el a repository gyökerébe **`f3.png`** néven.
105
-
106
-
## Eredmények értékelése
107
-
108
-
A tanítás végeztével a modell automatikusan kiértékelésre kerül a teszt adaton. (Mivel nem adtunk meg kézzel teszt adatot, a rendszer automatikusan elvégezte a felosztást.)
109
-
110
-
1. Nyissuk meg a tanítás eredményeit mutató oldalt. (Ezt többféleképpen is elérhetjük, pl. a *Model Registry* fülön keresztül.)
111
-
2. Vizsgáljuk meg az eredményeket!
112
-
3. A **Labels** pont alatt kattintsuk bele egy konkrét kategóriába (pl. *roses*)! Vizsgáljuk meg a kapott eredményeket!
113
-
4. A kategórián belül egy konkrét képre is kattinsunk rá, és nézzük meg ott is a rendelkezésre álló adatokat!
114
-
115
-
A kiértékelő felület segítségével további megfigyeléseket tehetünk az adatunkra és modellünkre vonatkozóan, például láthatjuk, hogy hol hibázik gyakran a modell, vagy mely adatpontokat tekinthetjük outlier-nek.
116
-
117
-
!!! example "4. feladat beadandó (1 pont)"
118
-
* Készíts egy képernyőképet egy konkrét kép kiértékeléséről, és mentsd el a repository gyökerébe **`f4.png`** néven.
119
-
120
-
121
-
## Modell deploy és tesztelés
122
-
123
-
1. A modellünk oldalán válasszuk ki a **DEPLOY & TEST** tabot.
124
-
2. Kattintsunk a **Deploy to endpoint** gombra.
125
-
3. Endpoint névnek adjuk meg a következőt: ```ami-labor-automl```, majd kattintsunk a **Continue** gombra.
126
-
4. A beállításoknál a **Number of compute nodes** értékét állítsuk **1**-re, és kattintsunk a **Done**, majd a **Deploy** gombokra.
127
-
5. A **DEPLOY & TEST** tabon várjuk meg az endpoint létrejöttét, majd válasszuk ki az **Upload Image** opciót.
128
-
6. Itt egy saját képpel (pl. [ezzel](https://unsplash.com/photos/sunflower-field-under-blue-sky-during-daytime-2IzoIHBgYAo), de az Unsplashről másik képes is választhatunk) tesztejük a modellt.
129
-
130
-
!!! example "5. feladat beadandó (1 pont)"
131
-
* Készíts egy képernyőképet a feltöltött képen kapott eredményekről, és mentsd el a repository gyökerébe **`f5.png`** néven.
132
-
133
-
!!!danger "Még nem végeztél!"
134
-
Ha minden képernyőképet elkészítettél, akkor kövesd az alábbi lépéseket az erőforrások felszabadításához/törléséhez!
135
-
136
-
## Erőforrások felszabadítása
19
+
## Feladat: Feltáró adatelemzés és adatvizualizáció
137
20
138
-
1.**DEPLOY & TEST** tabon a modellünk sávjának jobb szélén a 3 pöttyös menüből válasszuk az **Undeploy model** opciót.
139
-
2. Az [Endpoints](https://console.cloud.google.com/vertex-ai/endpoints?authuser=0) oldalon szintén a 3 pöttyös menüt használva válasszuk a **Remove Endpoint** opciót.
140
-
3. A [Models](https://console.cloud.google.com/vertex-ai/models?authuser=0) oldalon a 3 pöttyös menün a **Delete model** opcióval töröljük a modellünket.
141
-
4. A [Datasets](https://console.cloud.google.com/vertex-ai/datasets?authuser=0) oldalon a 3 pöttyös menün válasszuk a **Delete dataset** lehetőséget.
142
-
5. Végül a [Buckets](https://console.cloud.google.com/storage/browser?authuser=0) oldalon töröljük az adatbázisunk létrehozásakor keletkezett tárolókat.
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.
143
28
144
-
## Opcionális feladat (megajánlott jegyért):
145
29
146
-
Futass AutoML modellt az előzőhöz hasonló módon egy másik, tetszőleges adathalmazon.
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!
147
32
148
-
Képernyőképekkel dokumentáld a betöltött adathalmazt, valamint a modell értékelését és az endpoint tesztelését!
149
33
150
34
!!! example "Opcionális feladat beadandó (10 pont)"
151
-
* A képernyőképeket mentsd el **`fo1.png`**,**`fo2.png`**, stb. 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.
0 commit comments