[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