UOMOP

PSNR vs FLOPs 본문

카테고리 없음

PSNR vs FLOPs

Happy PinGu 2024. 10. 29. 12:12
% 기존 데이터 입력 (FLOPs 데이터)
snr_512 = [30, 20, 10, 0];
flops_proposed_512 = [20855.182, 20073.754, 18959.42, 17114.83];
flops_TopK_512 = [37627.156, 32831.124, 25740.668, 21987.248];
flops_Random_512 = [42444.78, 36116.336, 25495.256, 19640.542];

snr_256 = [30, 20, 10, 0];
flops_proposed_256 = [26347.008, 23197.228, 19014.698, 17960.544];
flops_TopK_256 = [36023.62, 31121.048, 23387.992, 21973.838];
flops_Random_256 = [42570.174, 38177.99, 24203.11, 19126.07];

% DeepJSCC FLOPs는 고정값
flops_DeepJSCC = 57070;
snr_DeepJSCC = [0, 10, 20, 30]; % DeepJSCC 데이터의 SNR 범위

% dim을 기반으로 선택
dim = 512;  % 원하는 dim 입력 (512 또는 256)

if dim == 512
    snr = snr_512;
    flops_proposed = flops_proposed_512;
    flops_TopK = flops_TopK_512;
    flops_Random = flops_Random_512;
else
    snr = snr_256;
    flops_proposed = flops_proposed_256;
    flops_TopK = flops_TopK_256;
    flops_Random = flops_Random_256;
end

% ylim 설정 예시


% 기존 코드 유지, ylim 추가
figure;
plot(snr_DeepJSCC, flops_DeepJSCC * ones(size(snr_DeepJSCC)), '-kd', 'LineWidth', 2.5, 'MarkerSize', 8, 'DisplayName', 'DeepJSCC'); hold on; % DeepJSCC 검정 실선, 고정된 FLOPs 값 사용
plot(snr, flops_proposed, ':r*', 'LineWidth', 2.5, 'MarkerSize', 12, 'DisplayName', 'CBS'); % CBS 빨간 점선
plot(snr, flops_TopK, '--bs', 'LineWidth', 2.5, 'MarkerSize', 8, 'DisplayName', 'TopK'); % TopK 파란 점선
plot(snr, flops_Random, '-.','Color', [0.85, 0.65, 0], 'Marker', '^', 'LineWidth', 2.5, 'MarkerSize', 8, 'DisplayName', 'Random'); % Random 노란 점선

% 그래프 옵션 설정
xlabel('SNR (dB)');
ylabel('FLOPs');
legend('Location', 'southeast');
grid on;
ylim([0 70000]); % y축 범위 설정
hold off;

Comments