Alla oleva hakemistolistaus kuvaa projektin rakennetta. Piilotetut hakemistot ja tiedostot ovat pois listauksesta. Listaus ei ole aakkosjärjestyksessä vaan järjestetty hahmottamista helpottavaan järjestykseen.
.
├── ▶tests/ # Katsoa saa, mutta ÄLÄ KOSKE!
├── ▶data/ # Datasetit (> 10 MB ei versionhallintaan!)
├── src/
│ ├── ml/ # Koodi, jota sinun tulee täydentää (IMPLEMENT)
│ │ ├── a.py
│ │ └── ▶utils/
│ ├── playground/ # Versionhallitut harjoitustiedostot.
│ │ └── practice.ipynb
│ └-- sandbox/ # (Optional) Git-hylkiöt
│ └── junk.ipynb
├── README.md
├── pyproject.toml # Projektin riippuvuudet - ÄLÄ KOSKE KÄSIN!
├── tester.Dockerfile # Pytest - ÄLÄ KOSKE!
└── docker-compose.yml # Docker Compose Project
Jos/kun haluat ajaa ml
-paketin koodia lokaalisti, tarvitset uv
-työkalun, joka luo sinulle virtuaaliympäristön. Kunhan uv
on asennettu, on kirjaston käyttäminen helppoa.
# Luo virtuaaliympäristö
uv sync
Voit käyttää pakettia vain ja ainoastaan siten, että käytät uv
-työkalun luomaa virtuaaliympäristöä. Tämä tarkoittaa, että sinun tulee aina käyttää uv
-komentoa, kun haluat ajaa koodia. Esimerkiksi REPL toimisi näin:
$ uv run python
>>> from ml.vector import Vector
>>> v = Vector(1, 2, 3)
>>> v
Vector(1, 2, 3)
>>> v + 2
Vector(3, 4, 5)
Jos tarvitset lisäpaketteja, asenna ne uv add <paketinnimi>
-komennolla. Muista, että uv
luo sinulle virtuaaliympäristön, joten pakettien asennus tapahtuu vain siihen ympäristöön.
Koodi on kirjoitettu siten, että osa koodista on paikoillaan src/ml/
-kansion alaisuudessa, mutta osa koodista tulee kirjoittaa itse. Kyseiset kohdat esitellään oppitunnilla, ja lisäksi tunnistat ne yleisesti koodista iskusanan IMPLEMENT
läsnäolosta. Mikäli olet epävarma, mitä sinun tulee tehdä, kysy!
Tee siis näin:
# Käynnistä Allure
# ja navigoi: http://localhost:5050/latest-report
# ja etsi luentoon liittyvät testit (Lesson N: ...)
docker compose up -d
# Tee muutoksia koodiin ja aja testit.
# Toista tarvittaessa.
docker compose start tester
# Lopuksi sulje Allure
docker compose down
Kun olet ajanut yllä olevat komennot, voit tarkastella testien tuloksia selaimessa osoitteessa http://localhost:5050/latest-report. Osa testeistä menee läpi automaattisesti, mutta valtaosa testeistä vaatii sinun kirjoittamaasi koodia, jotta algoritmit palauttavat odotetun tuloksen (ja testit menevät läpi).
Muista dokumentoida työsi, kirjoittaa oppimispäiväkirjaa ja tehdä muut tehtävään liittyvät tehtävät. Ethän unohda myöskään versionhallintaa!
Kurssin harjoituksiin käytetään datasettejä, joista osa tulee ladata itse, osa on saatavilla tämän projektin data/
-kansiossa.
Alla katalogi data/
-kansion dataseteistä. Huomaa, että jos lataat datasetteja itse, tulee ne ladata data/
-kansioon. Muut kansiot kuin alla listatut eivät päädy versionhallintaan (ks. .gitignore
-tiedosto).
Datasetti | Lähdetieto | Lisenssi |
---|---|---|
bike_or_not | Manually generated random data. | Public |
clustering | Scikit-generated blob data. | Public |
y_skills | Data in Brief Vol 54 | BY-NC 4.0 |