drowe67 / radae

Radio Autoencoder - transmission of vocoder features over radio channels
BSD 2-Clause "Simplified" License
8 stars 2 forks source link

test 36 - radae_rx_fargan fails #22

Open DJ2LS opened 1 month ago

DJ2LS commented 1 month ago

Operating system: Ubuntu 22.04 LTS

After compiling radae, the test run is failing for test 36.


----snip-----

      Start 34: radae_rx_slip_minus
34/37 Test #34: radae_rx_slip_minus ..............   Passed   15.22 sec
      Start 35: radae_rx_profile
35/37 Test #35: radae_rx_profile .................   Passed   48.35 sec
      Start 36: radae_rx_fargan
36/37 Test #36: radae_rx_fargan ..................***Failed   44.35 sec
      Start 37: radae_rx_aux_mpp
37/37 Test #37: radae_rx_aux_mpp .................   Passed   49.98 sec

97% tests passed, 1 tests failed out of 37

Total Test time (real) = 845.32 sec

The following tests FAILED:
     36 - radae_rx_fargan (Failed)
Errors while running CTest
Output from these tests are in: /home/dn2ls/radae/build/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.

Showing debugging output for test 36:

dn2ls@DN2LS:~/radae/build$ ctest -R radae_rx_fargan --output-on-failure
Test project /home/dn2ls/radae/build
    Start 36: radae_rx_fargan
1/1 Test #36: radae_rx_fargan ..................***Failed   42.39 sec
encoder: 936944 weights
decoder: 904816 weights
encoder: 936944 weights
decoder: 904816 weights
Rs: 33.33 Rs': 50.00 Ts': 0.020 Nsmf: 120 Ns:   4 Nc:  30 M: 160 Ncp: 32
/home/dn2ls/radae/./inference.py:105: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
  checkpoint = torch.load(args.model_name, map_location='cpu')
Processing: 4968 feature vectors
          Eb/No   C/No     SNR3k  Rb'    Eq     PAPR
Target..:  10.00   43.01    8.24  3000
Measured:   7.45   42.22    7.45                 0.79
loss: 7.188
encoder: 936944 weights
decoder: 904816 weights
encoder: 936944 weights
decoder: 904816 weights
Rs: 33.33 Rs': 50.00 Ts': 0.020 Nsmf: 120 Ns:   4 Nc:  30 M: 160 Ncp: 32
Input BPF bandwidth: 1740.000162 centre: 1474.999994

/usr/bin/bash: Zeile 4: printf: 31.89: Ungültige Zahl.
/usr/bin/bash: Zeile 4: printf: 49.764187: Ungültige Zahl.
/usr/bin/bash: Zeile 4: printf: 64.082228: Ungültige Zahl.
run time: 31,00 duration: 49,00 percent CPU: 64,00

0% tests passed, 1 tests failed out of 1

Total Test time (real) =  42.40 sec

The following tests FAILED:
     36 - radae_rx_fargan (Failed)
Errors while running CTest

German - English translation: "Ungültige Zahl" means "invalid number / integer". "Zeile" means "Row"

There is also an additional warning:

/home/dn2ls/radae/./inference.py:105: FutureWarning: You are using `torch.load` with `weights_only=False` (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for `weights_only` will be flipped to `True`. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via `torch.serialization.add_safe_globals`. We recommend you start setting `weights_only=True` for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
drowe67 commented 1 month ago

Here is what I see when running d5e381e78:

ctest -V -R radae_rx_fargan
test 36
    Start 36: radae_rx_fargan

36: Test command: /bin/bash "-c" "WAV='wav/all.wav'; cd /home/david/radae;                        ./inference.sh model17/checkpoints/checkpoint_epoch_100.pth $WAV /dev/null                        --EbNodB 10 --freq_offset 13 --df_dt -0.1                        --rate_Fs --pilots --pilot_eq --eq_ls --cp 0.004 --bottleneck 3 --time_offset -16 --write_rx rx.f32                         --prepend_noise 1 --append_noise 3 --end_of_over;                        \time -o log.txt -f '%e' cat rx.f32 | python3 radae_rx.py model17/checkpoints/checkpoint_epoch_100.pth -v 0 |                        /home/david/radae/build/src/lpcnet_demo -fargan-synthesis - /dev/null;                        RUN_TIME=$(cat log.txt); DUR=$(soxi -D $WAV); percent=$(python3 -c "percent=100*$RUN_TIME/$DUR; print('%f' % percent)");                        printf "
run time: %5.2f duration: %5.2f percent CPU: %5.2f

" $RUN_TIME $DUR $percent "
36: Test timeout computed to be: 1500
36: encoder: 936944 weights
36: decoder: 904816 weights
36: encoder: 936944 weights
36: decoder: 904816 weights
36: Rs: 33.33 Rs': 50.00 Ts': 0.020 Nsmf: 120 Ns:   4 Nc:  30 M: 160 Ncp: 32
36: Processing: 4968 feature vectors
36:           Eb/No   C/No     SNR3k  Rb'    Eq     PAPR
36: Target..:  10.00   43.01    8.24  3000
36: Measured:   7.45   42.22    7.45                 0.79
36: loss: 7.188
36: [W NNPACK.cpp:64] Could not initialize NNPACK! Reason: Unsupported hardware.
36: encoder: 936944 weights
36: decoder: 904816 weights
36: encoder: 936944 weights
36: decoder: 904816 weights
36: Rs: 33.33 Rs': 50.00 Ts': 0.020 Nsmf: 120 Ns:   4 Nc:  30 M: 160 Ncp: 32
36: Input BPF bandwidth: 1740.000162 centre: 1474.999994
36: 
36: run time: 54.55 duration: 49.76 percent CPU: 109.62
36: 
1/1 Test #36: radae_rx_fargan ..................   Passed   73.03 sec

I fixed that warning about weights a little while ago, at least on my machine.

This is probably not a big issue, the ctests are really just there to make sure I don't break anything. so it's not critical if this one fails for you. I think you have enough working for the test campaign.