gzsl-od icon indicating copy to clipboard operation
gzsl-od copied to clipboard

The code runs with unseen class accuracy 0.00 for all epochs.

Open GayatriPurandharT opened this issue 5 years ago • 8 comments

while training the model, I get unseen class accuracy of 0.00 right from the first epoch until the end. Though loss values are reducing from 6 to 3 (approx). There is no change in training accuracy. what could be the reason? Thanks

GayatriPurandharT avatar Sep 23 '19 17:09 GayatriPurandharT

We haven't come across such an issue. The code has been tested and verified on Pytorch 0.3.1.

naraysa avatar Sep 25 '19 06:09 naraysa

Okay, I will recheck my environment. Thanks!

GayatriPurandharT avatar Sep 25 '19 06:09 GayatriPurandharT

I am using Python3 and PyTorch 0.3.1. upon running ./run_hmdb51.sh I get unseen class accuracy = 0.0 as you can see from the screenshot attached. Thanks a lot. Screenshot from 2019-09-26 18-13-51

GayatriPurandharT avatar Sep 26 '19 17:09 GayatriPurandharT

Unfortunately, this issue isn't reproducible in our systems. It runs fine for the default repo on both HMDB51 and UCF101.

naraysa avatar Sep 28 '19 09:09 naraysa

Another concern is the negative values in both (Loss_G and Loss_D) loss function. Can you provide a log of loss functions for reference? I tried to run f-CLSWGAN code for image classification, and I get a negative Discriminator loss there too, what could be the reason?

GayatriPurandharT avatar Oct 17 '19 16:10 GayatriPurandharT

I am using Python3 and PyTorch 0.3.1. upon running ./run_hmdb51.sh I get unseen class accuracy = 0.0 as you can see from the screenshot attached. Thanks a lot. Screenshot from 2019-09-26 18-13-51

Actually, I got the same result as you. Could you tell me how you solve the problem?

qc98 avatar Dec 24 '19 02:12 qc98

Same here.

I fix some error caused by pytorch version mismatch and run GZSL-OD. For seen and unseen classes, the accuracies are all 0.

My versions: pytorch 1.3.1, python 3.7, GZSL-OD code is the same in ./run_ucf101.sh

[45/50] Loss_D: -3.1570 Loss_G: -2.3654, Wasserstein_dist: 3.1787
GZSL-OD: Acc seen=0.0000, Acc unseen=0.0000, h=0.0000
[46/50] Loss_D: -3.1612 Loss_G: -2.3816, Wasserstein_dist: 3.6776
GZSL-OD: Acc seen=0.0000, Acc unseen=0.0000, h=0.0000
[47/50] Loss_D: -3.1554 Loss_G: -2.4158, Wasserstein_dist: 3.3277
GZSL-OD: Acc seen=0.0000, Acc unseen=0.0000, h=0.0000
[48/50] Loss_D: -3.1469 Loss_G: -2.4038, Wasserstein_dist: 3.8994
GZSL-OD: Acc seen=0.0000, Acc unseen=0.0000, h=0.0000
[49/50] Loss_D: -3.1446 Loss_G: -2.4077, Wasserstein_dist: 3.4800
GZSL-OD: Acc seen=0.0000, Acc unseen=0.0000, h=0.0000

BestJuly avatar Jan 29 '20 02:01 BestJuly

In classifier_entropy.py, I change the line: acc_per_class /= target_classes.size(0) to the following: acc_per_class = acc_per_class / float( target_classes.size(0))

I observed 0 accuracies as well before this fix.

TaeSoo-Kim avatar Feb 03 '20 21:02 TaeSoo-Kim