RunPQNNSwithADC.m 912 B

12345678910111213141516171819202122232425262728293031323334353637
  1. clear all
  2. close all
  3. clc
  4. kk=[16 64 256 1024 2048];
  5. rat=[1 2 5 10 20 50 100];
  6. mm=[8 16];
  7. %kk=2048;
  8. %mm=[8 16];
  9. nRecall=100;
  10. %%
  11. for ii=1:length(mm)
  12. for jj=1:length(kk)
  13. [Performances(jj,ii,:) normCCostADC(jj,ii), ~, ~] = PQNNSwithADC( kk(jj), mm(ii), nRecall, [0 0 0 0 1])
  14. end
  15. end
  16. %%
  17. for jj=1:length(mm)
  18. figure
  19. for rr=1:length(rat)
  20. plot(normCCostADC(:,jj),Performances(:,jj,rr),'-x'), hold on
  21. end
  22. for ii=1:length(kk)
  23. text(normCCostADC(ii,jj)+2e-5,Performances(ii,jj,1)-0.01,sprintf('$k=%d$',kk(ii)),'interpreter','latex');
  24. end
  25. h=legend('recall@1','recall@2','recall@5','recall@10','recall@20','recall@50','recall@100');
  26. set(h,'Interpreter','latex');
  27. grid on; grid minor;
  28. title(sprintf('Product Quantization with ADC - $m=%d$',mm(jj)),'interpreter','latex');
  29. xlabel('Computational Cost (scaled to Exhaustive NNS)','interpreter','latex');
  30. ylabel('$\eta_r$','interpreter','latex');
  31. end
  32. %%