[DUBUCE1] 4. laboratorijska vježba - 2021/2022
Antuunn
grana2 Jel zna netko odgovore na ova pitanja?
yurnero
Čemu služi funkcija compute_representations? Moramo li je mijenjati kad koristimo IdentityModel?
SuperSaiyano
BillIK
self.images = self.images[self.targets != remove_class]
self.targets = self.targets[self.targets != remove_class]
Jokke
grana2 U 14 skoro isto ovo, jos samo formula za trojni gubitak (ona na pytorch dokumentaciji)
wesley
Emma63194 ja sam koristila torch funkcije, al jos uvijek mi nejde iznad 75% :/
Upforpslone
Jel imao neko ovaj problem da mu se mean loss smanjuje, ali Test Accuracy je stalno oko 40%?
= Using device cpu
Loaded 60000 training images!
Loaded 10000 validation images!
Epoch: 0
Iter: 0, Mean Loss: 28.289
Iter: 100, Mean Loss: 5.196
Iter: 200, Mean Loss: 3.158
Iter: 300, Mean Loss: 2.354
Iter: 400, Mean Loss: 1.916
Iter: 500, Mean Loss: 1.635
Iter: 600, Mean Loss: 1.439
Iter: 700, Mean Loss: 1.295
Iter: 800, Mean Loss: 1.184
Iter: 900, Mean Loss: 1.096
Mean Loss in Epoch 0: 1.067
Computing mean representations for evaluation…
Evaluating on test set…
Epoch 0: Test Accuracy: 43.08%
Epoch time (sec): 170.6
Epoch: 1
Iter: 0, Mean Loss: 0.370
Iter: 100, Mean Loss: 0.354
Iter: 200, Mean Loss: 0.351
Iter: 300, Mean Loss: 0.345
Iter: 400, Mean Loss: 0.340
Iter: 500, Mean Loss: 0.335
Iter: 600, Mean Loss: 0.330
Iter: 700, Mean Loss: 0.325
Iter: 800, Mean Loss: 0.321
Iter: 900, Mean Loss: 0.317
Mean Loss in Epoch 1: 0.316
Evaluating on test set…
Epoch 1: Test Accuracy: 36.78%
Epoch time (sec): 162.4
Epoch: 2
Iter: 0, Mean Loss: 0.291
Iter: 100, Mean Loss: 0.279
Iter: 200, Mean Loss: 0.279
Iter: 300, Mean Loss: 0.276
Iter: 400, Mean Loss: 0.273
Iter: 500, Mean Loss: 0.271
Iter: 600, Mean Loss: 0.269
Iter: 700, Mean Loss: 0.267
Iter: 800, Mean Loss: 0.265
Iter: 900, Mean Loss: 0.263
Mean Loss in Epoch 2: 0.263
Computing mean representations for evaluation…
Evaluating on test set…
Epoch 2: Test Accuracy: 43.37%
Epoch time (sec): 157.8
Emma63194
Upforpslone Mean loss ti je jako velik. Meni u nultoj iteraciji bude oko 0.8 pa se smanjuje.
branimir1999
Nije mi jasan IdentityModel. Pretpostavljam da on mora biti svoj zaseban model kao SimpleMetricEmbedding, stoga me zanima moramo li samo vektorizirat sliku ili moramo dodati sve slojeve koje ima SimpleMetricEmbedding? Ovo drugo mi nema smisla jer kaze u zadatku da ova klasa nema loss.
Vonj
branimir1999
Potrebno je samo vektorizirati sliku. Kad koristis IdentityModel, doslovno racunas l2 normu (koliko su vektori razliciti tj. slike) u originalnom prostoru (za MNIST slike su 28×28). U pozivu compute representations mozes predati samo ovo:
compute_representations(IdentityModel(), train_loader, num_classes, emb_size, device)
wesley
Kolko treba stavit margin u nasoj implementaciji TripletMarginLoss? zadatak 2.a
steker
wesley 1?
branimir1999
Vonj sigurno ne moram jos nesto dodati? Kod treniranja mi kaze da nema loss, a ako pokusam izignorirati treniranje i predem na evaluaciju, onda mi kaze da ne moze raditi predikcije. Moram li napraviti loss funkciju koja je ta L2 norma?
yurnero
Vonj Što si napravio sa slikom u get_features metodi od IdentityModela? Nonstop dobijam ovaj error:
shape '[-1, 32]' is invalid for input of size 784
Vonj
branimir1999
Emma vam je odgovorila, treba jos emb size staviti na 784. Nije potrebno za ovo nikakvo treniranje, samo radis usporedbu (l2 normu) u originalnom prostoru slike
Emma63194
yurnero Stavi da ti je emb_size = 784
yurnero
yurnero Usput, ovaj error mi se javlja kad za dataloader koristim traineval_loader ili test_loader (čiji su batch_size = 1). Kad iskoristim train_loader kao i ti, kod prođe uredno, al bili se trebao koristiti taj dataset kad su naveli:
Izmjerite točnost klasifikacije na podskupu za validaciju.
Antuunn
Jel moze netko pomoci s get_features metodom u 2. zadatku, nisam skuzio iz prethodnih objasnjenja
Emma63194
Antuunn To ti je kao forward metode koje smo pisali u drugim modelima. Samo trebaš propagirati unaprijed.
Daeyarn
ako zakasnimo na labos, jel nam dopuste da naknadno pisemo blic ili? asking for a friend