Open jayzstep opened 4 months ago
Kiitos hyvistä huomioista.
Siirrän csv-tiedostot dropboxiin ja muokkaan hieman UI:n ulkoasua. Kokeilin muokata verkkoa "kirjastomaisemmaksi" kuten kirjan toteutuksessa. Siinä olisi enemmän potentiaalia jatkokehitykseen, mutta toisaalta pidän tämänhetkisen toteutuksen yksinkertaisuudesta. Testeistä myös hyviä pointteja. Testaaminen on minulle uusi aihe. Pitää miettiä tuo useiden assert -lauseiden yhdistäminen vielä.
Vertaispalaute
Testattu: 14.6 klo 10
Tämähän on valmis!
Koodi on hyvin jäsennelty. Kommentit ovat selkeitä, on helppo seurata mitä tapahtuu. Eri toiminnot eriytetty hyvin omiksi funktioiksi, mikä helpottaa testausta. Neuroverkkojahan on vähän nihkeä testailla, mutta testit vaikuttavat kattavilta. UI on järkevä ja responsiivinen.
Kehitysehdotuksia:
Jos laitat useita testejä yhden testin sisälle, voi olla vaikea selvittää mikä asia ei toimi. Esimerkkinä initialization-testi.
Ehkä joidenkin testien tarpeellisuutta voi vielä arvioida. Jos vaikka muutat koodia, niin tosi yksityiskohtaiset testit saattavat vain aiheuttaa turhaa työtä. Toisaalta more is more. En osaa sanoa tarvitseeko esim sigmoid-funktiota testata (se on kuitenkin aika simppeli matemaattinen funktio). Nyt jos vaihdat sen verkossa, niin joudut muuttamaan myös testejä.
Ei ehkä tämän kurssin puitteissa, mutta luulisin että rakentamasi verkon saisi aika helposti yleistettyä “kirjastoksi”, johon voisi Pytorchin ym. tapaan valita kerrosten ja neuronien määrän ja joka kerrokselle oman aktivaatiofunktion. Tästä ajatuksesta voisi poimia jotain koodiin liittyviä kehityskohtia, esim. w1 ja w2 muuttujien sijaan alustettaisiinkin verkko listalla, jossa on kerrosten neuronien määrät, kuten Nielsenin kirjan esimerkissä.
UI:ssa voisi olla vaikka punaisella värillä ennustus, jos se menee väärin.
Kaggleen joutuu tekemään tunnukset, että voi ladata csv-tiedostot. Voisi harkita että ne hostaisi jossain muualla.
Hyvää duunia!