Skip to content

Latest commit

 

History

History
87 lines (80 loc) · 4.67 KB

File metadata and controls

87 lines (80 loc) · 4.67 KB

To Do List

Notizen

  • property body.force ist immer ein Nullvektor
  • property body.moment ist eine Konstante -> kein Informationsgehalt über Zeit
  • Bild kleiner gemacht -> weniger leere Fläche
  • 9 Features pro Objekt aufgezeichnet
  • Normalization der Koordinaten ok?
  • Preprocessed Daten 3 * 4 features pro frame (position und orientierung)
  • Input shape der Daten besprechen
  • Ist das Trainieren des LSTM am Anfang ohne Binding Matrix usw ohne Active Tuning oder mit? -> ohne AT
  • Impact force in Interaktion C besprechen (solange der Ball am Actor hängt feuert der hohe Werte raus)
  • Ist der Optimizer.step aufruf an der richtigen Stelle? -> beides ausprobieren

Neu

Bis zum nächten Meeting

  • Distancen normalisieren, (wie?, z.B. auf [0, 1])
  • Positionen normalisieren, z.B. zu einer unteren Ecke
  • weitere Properties aufzeichnen, mass, moment, velocity, ...
  • collision force, siehe arbiter class
  • Costom dataset class
  • Fix: All interactions in custom dataset class
  • Force ball wenn er los fliegt (motorcode unabhängig auch ins lstm rein)
  • Force auch ins lstm
  • Impact force und motor force normalisieren? Wie -> auf -1,1 über alle Daten (nur die ungleich 0 normalisieren, zum abs max normalisieren, check ob 0 0 bleibt)
  • event codes auch für batchsize > 1
  • renderer for prediction
  • Train in kleinere Funktionen aufteilen
  • Dataset class für aufteilung in train, val und test vorbereiten
  • teacher forcing flag and closed loop training
  • torch.util.data.random_split
  • evaluate function
  • main train in new file
  • optimizer step pro batch ausprobieren
  • random teacher forcing auf erste x steps umbauen
  • Save model with min loss instead of last epoch (wie beim boot projekt)
  • embedding layer für 18 input features
  • closed loop dropouts progressive
    • (auf pretrained model)
  • log scale loss plot
  • lr scheduler
  • extract eval into tester class
  • test loss plotting for each time step
  • test loss plotting for each time step by object
  • test loss plotting for each time step by type (coords, orientation, force)
  • Fix batch size impact on test loss...
  • Fix sum of losses
  • Fix sum of losses type
    • Für dim=6 ist es gleich aber für dim=4 nicht mehr...
  • no forces and no forces out
  • Fix renderer for no forces out
  • create in out seq auf dim=4 anpassen/ abstrahieren
  • closed loop für no forces out (forces wieder mit rein)
  • dropout closed loop in test class!

Neu

  • grid search hyperparameter tuning
    • auf pretrained model ohne dropouts, dann aber ganz 'viele'
  • reslayer output output + input
  • interaction module
  • init event codes raus weil kein sinn
  • lstm utils parent class
  • besseres model trainieren
  • nach latex template fragen
  • BA Aufbau besprechen
  • ohne orientierung
  • confusion matrix
  • inference plots event codes
  • y axis same scale

Softmax auf interaction code * 10 angewendet

Retrospective Inference:

  • Statt den event onehot labels wie [0, 1, 0, 0] wird jetzt immer für jede Sequenz [1/4 ...] genommen als input zur event code layer.
    • Im reprise paper ist der 'context', der inferiert wird außerhalb des lstms als leerer tensor initialisiert und wird dann an den input des lstms concat. Besteht dort der Input dann aus einem Tensor, wobei dieser zum Teil required_grad=T und F gleichzeigig hat? Wie wird der Context dort verändert, kann der optimizer nicht nur auf die model parameter zugreifen?
    • Bei uns ist der event_code teil des lstms und wird als Zahl (0 bis 3) und danach mittels one_hot initialisert. Wie kann ich den inferierten event code auslesen? (Frage weiter unten)
  • Wir haben das pretrained model, sind dann alle gradients außer die von den event codes und softmax eingefrohren? bzw softmax hat ja keinen gradient
  • Kein Vergleich der Onehots sondern nur des lstm outputs
    • Also nach ri ist event code z.B. [0.1, 0.2, 0.6, 0.1]. Keinen Vergleich mit loss wie mse zu [0, 0, 1, 0].
    • Nach dem die ganze Sequenz durchgelaufen ist wird der loss zurück auf die event codes layer geführt (plus softmax). Den adaptierten neuen event code 'output' kann man dann wie auslesen?
      • Mit [1/4, ..., 1/4] * event_codes.weight + event_codes.bias ? Aber das wird ja dann für alle interactionen in der weight matrix generalisiert. hat man iwie zugriff auf die softmax operation
  • Wird das retrospective inference lernen in einem neuen Model gespeichert?
    • Oder ist das Ziel hierbei immer nur eine Sequenz anzuschauen und manuel die Interaktion zu inferieren.
    • Oder: Wird wieder über den ganzen Datensatz gelooped?
  • Dann auch so wie beim Training mit dropouts und closed loop?