This repository contains implementations (using tensorflow v2) of 4 different algorithms to determine the optimal Shannon rate-distortion trade-off for a given set of samples from a continuous source,
- RD_BA.py: Blahut-Arimoto algorithm.
- RD_GD.py: Direct optimization using gradient descent.
- RD_MA.py: Two different versions (direct and iterative optimization) of the mapping approach by Rose.
View the notebook (using nbviewer) for an explanation of each algorithm.
Note: For a combination of the Blahut-Arimoto algorithm and the mapping approach, resulting in a more efficient algorithm, see RDFC (rate-distortion-with-fixed-cardinality).