resnet+rotp我在本地的掌纹数据库中测试,把您的resnet代码#直接实例化ResNet18,不替换任何层,就是把main_worker函数里dim = 512,model = replace_pooling(model, k=args.k, dim=dim, f_method=args.f_method)注释掉之后结果为* Acc@1 96.412 Acc@5 99.265
Epoch: [99][ 0/22] Time 1.013 ( 1.013) Data 0.955 ( 0.955) Loss 3.2381e-01 (3.2381e-01) Acc@1 91.41 ( 91.41) Acc@5 97.27 ( 97.27)
Epoch: [99][10/22] Time 0.107 ( 0.238) Data 0.000 ( 0.158) Loss 4.3934e-01 (4.3452e-01) Acc@1 89.45 ( 90.55) Acc@5 95.31 ( 95.99)
Epoch: [99][20/22] Time 0.106 ( 0.187) Data 0.035 ( 0.108) Loss 4.0396e-01 (4.2578e-01) Acc@1 90.23 ( 90.92) Acc@5 96.48 ( 96.19)
Test: [ 0/10] Time 1.214 ( 1.214) Loss 2.1979e-01 (2.1979e-01) Acc@1 95.70 ( 95.70) Acc@5 98.05 ( 98.05)
- Acc@1 96.498 Acc@5 99.265比使用rotp层高很多
这是使用您的rotp层的代码的结果
Epoch: [99][ 0/22] Time 1.032 ( 1.032) Data 0.959 ( 0.959) Loss 3.0699e+00 (3.0699e+00) Acc@1 37.50 ( 37.50) Acc@5 63.67 ( 63.67)
Epoch: [99][10/22] Time 0.116 ( 0.246) Data 0.000 ( 0.147) Loss 3.1391e+00 (3.1796e+00) Acc@1 40.23 ( 37.22) Acc@5 62.89 ( 60.62)
Epoch: [99][20/22] Time 0.120 ( 0.191) Data 0.000 ( 0.088) Loss 3.0707e+00 (3.1869e+00) Acc@1 38.28 ( 37.46) Acc@5 63.67 ( 60.34)
Test: [ 0/10] Time 0.866 ( 0.866) Loss 2.2949e+00 (2.2949e+00) Acc@1 62.50 ( 62.50) Acc@5 79.69 ( 79.69)
- Acc@1 60.052 Acc@5 80.891
这两个结果差距很大,请问是我修改哪里有问题吗?这是什么原因?
resnet+rotp我在本地的掌纹数据库中测试,把您的resnet代码#直接实例化ResNet18,不替换任何层,就是把main_worker函数里dim = 512,model = replace_pooling(model, k=args.k, dim=dim, f_method=args.f_method)注释掉之后结果为* Acc@1 96.412 Acc@5 99.265
Epoch: [99][ 0/22] Time 1.013 ( 1.013) Data 0.955 ( 0.955) Loss 3.2381e-01 (3.2381e-01) Acc@1 91.41 ( 91.41) Acc@5 97.27 ( 97.27)
Epoch: [99][10/22] Time 0.107 ( 0.238) Data 0.000 ( 0.158) Loss 4.3934e-01 (4.3452e-01) Acc@1 89.45 ( 90.55) Acc@5 95.31 ( 95.99)
Epoch: [99][20/22] Time 0.106 ( 0.187) Data 0.035 ( 0.108) Loss 4.0396e-01 (4.2578e-01) Acc@1 90.23 ( 90.92) Acc@5 96.48 ( 96.19)
Test: [ 0/10] Time 1.214 ( 1.214) Loss 2.1979e-01 (2.1979e-01) Acc@1 95.70 ( 95.70) Acc@5 98.05 ( 98.05)
这是使用您的rotp层的代码的结果
Epoch: [99][ 0/22] Time 1.032 ( 1.032) Data 0.959 ( 0.959) Loss 3.0699e+00 (3.0699e+00) Acc@1 37.50 ( 37.50) Acc@5 63.67 ( 63.67)
Epoch: [99][10/22] Time 0.116 ( 0.246) Data 0.000 ( 0.147) Loss 3.1391e+00 (3.1796e+00) Acc@1 40.23 ( 37.22) Acc@5 62.89 ( 60.62)
Epoch: [99][20/22] Time 0.120 ( 0.191) Data 0.000 ( 0.088) Loss 3.0707e+00 (3.1869e+00) Acc@1 38.28 ( 37.46) Acc@5 63.67 ( 60.34)
Test: [ 0/10] Time 0.866 ( 0.866) Loss 2.2949e+00 (2.2949e+00) Acc@1 62.50 ( 62.50) Acc@5 79.69 ( 79.69)
这两个结果差距很大,请问是我修改哪里有问题吗?这是什么原因?