Giter Site home page Giter Site logo

asura_task1's Issues

(+1) Docker env

Ez abszolut opcionalis, az erdeklodoknek.

Hasonloan a conda env issuehoz (#6) keszitsunk egy docker imaget a repositorynak, pusholjuk fel dockerhubra. Az image melle legyen valami bash indito script ami elinditja a containert es ad hozza egy TTY terminalt.

Custom Cross Entropy

Csereljuk le a trainerben szereplo criterion valtozoban szereplo fuggvenyt, a nn.CrossEntropyLoss() losst egy sajat, kezzel irt cross entropy fuggvenyre.
image

Keressunk ra a label smoothing kifejezesre es epitsuk be ezt a funkciot a cross entropy fuggvenyunkbe. Legyen ez az ertek valtoztathato az indito script argumentumaiban, es legyen a default ertek az, ami az eredeti, smoothing nelkuli cross entropy losst futtatja.

Note: Ennek a feladatnak inkabb az a lenyege, hogy kozelebb keruljunk a cross entropy losshoz es a label smoothinghoz, kulonosebb hatast nem fogunk tapasztalni a tanitasban.

Conda env

Jelenleg a pip requirementek megtalalhatok a requirements.txt alatt. Viszont ha valaki fellep egy teljesen uj gepre, ahol ugyan van cuda gpu, de nincs installalva cuda, akkor a tanitas tovabbra is processzoron fog futni.

Csinaljunk egy conda environmentet ahol installalva van minden szukseges package es a pytorch cudan is fut. Ebben segit a pytorch installacios oldala: https://pytorch.org/get-started/locally/
Ez pedig segit majd az env menteseben es installalasaban: https://shandou.medium.com/export-and-create-conda-environment-with-yml-5de619fe5a2

Legyen az environment neve mltask1, es legyen elmentve egy env.yaml fajlban a repo root konyvtaraban. Mergeles elott valaki probalja ki, hogy letoltes utan sikeresen tudta-e installalni.

Residual network (ResNet)

Keszitsunk kezzel egy halot ami residual blockokbol all fel.

Intro
Ha tul sokat stackeljuk a convolution + batchnorm + relu layereket egymas utan, tanitas kozben, akkor elkepzelheto, hogy tul kicsi es mar-mar pontatlan tanito szignalokat (gradienseket) kapnak az inputhoz kozel eso layerek.

Solution
Erre talalta ki anno egy kutatocsoport, talan a Microsoft, hogy a hosszas informacio passzolgatas helyett mindig hozzuk vissza a input layert es adjuk hozza a kimenethez, ha mar lement 1-2 ilyen conv + bn + relu block.

image

Ez alapjan kene osszerakni a TinyNethez hasonlo halot, ami conv blockok helyett residual blockokbol allna. Legyen ez a models mappa alatt, tiny_resnet.py neven.

Emelle csinaljunk az eff.py-hoz hasonloan egy resnet.py-t, ahol egy pretrained torch.models.resnet50-nel terunk vissza. Ez egy transfer learning megoldas lesz, elore letoltott, betanitott resnet50 halot lehet hasznalni.

Save network

Tanitas utan mentsuk ki a halot egy .pt formatumu fajlba.

Optional float16

Jelenleg a halo tanitasanak nagy resze nem 32 bites floatokkal tortenik, hanem 16 bitesekkel. Ebben segit a torch.cuda.amp.autocast.

with torch.cuda.amp.autocast(enabled=True):

Ez a feature legyen opcionalis, legyen kivezetve az argumentumokhoz, es legyen a default allapot inkabb float32. Ha a felhasznalo megad egy --fp16 flaget a futashoz, akkor viszont fusson a kod 16 bittel ugy, ahogy jelenleg is teszi.

Notify user by learning rate change

Amikor a learning rate scheduler csokkenti (vagy noveli) a learning ratet, ez jelenjen meg valamilyen formaban a standard outputon, hogy tudjunk rola.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.