<< 10/12 >>
First Last

arithmetic coding

浮動小数の算術符号て大変だと思うけど……と思ったら

                freq = torch.round(prob * 10000000).int()
                freq = torch.max(freq, freq.new_ones(freq.size()))
                freq = torch.cumsum(freq, -1)

と単に int にして range coder だった

1e-7 以下の確率のシンボルが出てきたら死ぬことになるが……出てこないということかな

遊びで回してたらたまにこれ起因で死んでた気がする