1: Configuration-driven training
Tällä viikolla tutustumme jani-public/flower-model-demo-toteutukseen. Sinun tehtäväsi on kloonata repo, ottaa se käyttöön, tutustua sen rakenteeseen ja ajaa mallin koulutus paikallisesti. Kun mallin koulutus onnistuu:
- säädä hyperparametreja, kunnes mallin
best/f1_val-metriikka on 90 % tai parempi. - tämän jälkeen aja koulutus myös testidataa vasten.
- tallenna malli
models/-hakemistoon. - konvertoi malli ONNX-muotoon.
- ota käyttöön
www/-hakemistossa oleva demo, joka käyttää ONNX-muotoista mallia.
Kurssin repositorion alustus
Teet kaikki tämän kurssin tehtävät annettuun repositorioon, joka on luotu sinulle. Se löytyy esimerkiksi osoitteesta gitlab.dclabra.fi/syvaoppiminen-2-2026/joannadurries, jos on vuosi 2026, ja sinun nimi sattuu olemaan Joanna Durries. Seuraa seuraavia vaiheita:
1. Kloonaa kurssin repositorio
# Tee hakemisto sopivaan paikkaan, esimerkiksi:
mkdir -p ~/Code/syvaoppiminen-2-2026
cd ~/Code/syvaoppiminen-2-2026
# Varmista, että Git LFS on asennettu ja käytössä. Komento
# on idempotentti, joten voit ajaa sen varmuuden vuoksi.
git lfs install
# Kloonaa kurssin repositorio
# LUE INFOLAATIKKO ALTA
LUE MINUT
Tarkat komennot, jotka sinun tulee ajaa, voit kopioida suoraan GitLabista. Tyhjä repositoriosi sisältää ohjeen otsikolla Create a new repository. Aja kyseisen otsikon alla olevasta koodiblokista komennot. Komentojen ajamisen jälkeen voit päivittää GitLab:ssa näkymän, ja sinulla pitäisi näkyä ohjeiden tilalle repositorion sisältö (eli yksi tyhjä README.md-tiedosto). Tämän jälkeen voit jatkaa alla olevia ohjeita.
2. Tuo flower-model-demo repoosi
Kloonaa jani-public/flower-model-demo -repoosi ja tee tästä kopiosta sellainen, ettei se ole enää jatkossa Git-repositorio, vaan ihan tavallinen sinun omistama hakemisto. Alla komennot:
# Kloonaa opettajan repo
git clone https://gitlab.dclabra.fi/jani-public/flower-model-demo.git
# Tuhoa nestatun repositorion .git-hakemisto, jolloin se ei ole enää Git-repositorio
rm -rf flower-model-demo/.git
3. Ignooraa suuri datatiedosto
Tiedosto flower-model-demo/gitlfs-store/flower_photos.tgz on gzipattu tar-arkisto, joka on 218 MB kokoinen. Jos 30 opiskelijaa tekee tästä kukin oman kopion, haaskaamme turhaan yli 6 GB yhteiskäyttöistä levytilaa. Siksi tämä tiedosto tulee merkata Git ignoreen siten, ettei sitä turhaan lisätä juuri sinun repositorioon. Löydät tiedoston jatkossa opettajan repositoriosta, jos sitä tarvitset. Lisää seuraava rivi repositoriosi .gitignore-tiedostoon:
# Ignore large data file
flower-model-demo/gitlfs-store/flower_photos.tgz
Sama komentoriviltä
Jos haluat tehdä tämän komentoriviltä, voit ajaa seuraavat komennot:
cd ~/Code/syvaoppiminen-2-2026/yourname
echo '# Ignore large data file' >> .gitignore
echo 'flower-model-demo/gitlfs-store/flower_photos.tgz' >> .gitignore
Näitä komentoja ei tarvitse ajaa, jos muokkasit tiedosto esimerkiksi Visual Studio Codessa.
Jos haluat varmistaa, että hylkyehto (engl. ignore rule) on lisätty oikein, voit ajaa alla näkymän komennon, ja tarkistaa, että tiedosto ei ole listassa:
4. Puske uusi koodi remoteen
Nyt koodi on oikein paikoillaan, eikä isoja tiedostoja ole kylkiäisenä, joten voit puskea muutokset GitLab-repositorioosi:
Videolla esitettävä
- Näytä, että datasetti on purettu
data/{train,val,test,online}-hakemistoihin. - Näytät, mistä YAML-konfiguraatiotiedosto löytyy.
- Kommentoit lyhyesti, mitä hyperparametreja päädyit säätämään ja miksi.
- Näytät MLflow:ssa vähintään 5 eri runia eri hyperparametreilla yleisnäkymässä.
-
Esittelet näistä tarkemmin 2 runia
- näytät parametrit, ja
- metriikat (erityisesti F1).
-
Näytät selaininferenssin (ONNX) toiminnassa.
Syötä sille
data/online/{{class}}/kuva.jpg.
Kokonaisuutena videota katsomalla tulisi tulla selväksi, että sinä ymmärrät, mitä konfiguraatiovetoinen koulutus tarkoittaa, miten se on toteutettu tässä esimerkissä ja miten sitä käytetään.