Repository for the course "Project Machine Learning" during WiSe 24/25 at TU Berlin consisting of a replication of the paper "Neural Discrete Representation Learning" (van den Oord et al., 2018).
Habe mal paar anpassungen gemacht. Ich hoffe die commit messages sind selbsterklärend. Habe im endeffekt paar features hinzugefügt, und dabei darauf geachtet das das trainingscript so allgemein wie möglich bleibt. Habe dabei die wrapper klasse PML_model angepasst.
Es gibt immernoch ein paar sachen die mir dabei eingefallen sind, die man verbessern könnte:
Man könnte ein intervall setzen in dem die visualisierungen gemacht werde, einfach um zeit zu sparen und nicht hunderte an plots zu generieren
Die test set evaluation wird gerade nach jeder training epoch durchgeführt. Evtl. ist auch das etwas overkill und man richtet auch dafür nen intervall ein. Dann müsste man darauf auchten dass man beim finalen plot der stats die test stats entsprechend streckt, weil man ja dann da weniger punkte hat.
Ich denke generell macht es sinn die ganzen konstanten oben im script (die in GROßBUCHSTABEN) auch über die cli übergeben kann und einfach wenn nicht übergeben default values einrichtet. (e.g. mit package "argparse")
Wenn wir irgendein visualisierungstool benutzen, dann werden die meisten plots ja eh dort erstellt und man kann die denke so anpassen dass die dann nice aussehen. Man kann dann nach paar epochen immer mal beispielbilder generieren und dann auch als artifacts hochladen
Die Konstanten können wir auch übergeben. Sollten aber nicht zu viele parameter als funktionseingabe machen. Würde ein training config.yaml vorschlagen, welches man einfach in ein dict laden kann. Das wird oft gemacht um die hyperparamter zu organisieren. Kann man dan auch direkt uploaden zum vistool und mein weiß genau wie die variante trainiert wurde
Habe mal paar anpassungen gemacht. Ich hoffe die commit messages sind selbsterklärend. Habe im endeffekt paar features hinzugefügt, und dabei darauf geachtet das das trainingscript so allgemein wie möglich bleibt. Habe dabei die wrapper klasse PML_model angepasst.
Es gibt immernoch ein paar sachen die mir dabei eingefallen sind, die man verbessern könnte: