pythonでfloat32の値を8ビット量子化をしたのですが、
この値が正しいのかどうかの判定方法が分かりません。
何か0.1を8ビット量子化すると〇〇になる、のような計算ツールのサイトや
計算方法をご存じでしたら教えてください
Pythonには「float32型」は存在しませんがnumpy上の値の型のことでしょうか?
また「8ビット量子化」とはどのようなもの(変換?表現?)でしょうか?
numpy上の話ですね。
8ビット量子化は自分も詳しくはわからないんですが、float型の値をより精度を低くしたものです。
256段階に分けて表現されるもので、int型の数値として格納しています。
「8ビット量子化」とは何かが分かるような情報(サイトなど)を提示ください。
素直に考えて、float32型のような膨大な範囲を持つ実数値を256段階で表現することは(何らかのルールがない限り)不可能あるいは意味がないと思うのですが。
> 256段階に分けて表現されるもので、int型の数値として格納しています。
つまり、すでに「8ビット量子化」処理によってfloat32型を256段階のint型に変換するようなコードがある、ということでしょうか?
もしかして以下のようなTensorFlowなどディープラーニング系における処理のことでしょうか?
https://www.tensorflow.org/lite/performance/quantization_spec?hl=ja
はい、すでにfloat32型を256段階のintに変換するコードがあります。
そしてディープラーニング系の処理です。
詳しくは業務内容になるので書けませんが、、、。
簡単にいうと膨大な範囲を持つ実数値0.12344566があるとしてそれを無理やり0.12に変換するようなコードがあるのです。
すみません。変換するコードはあるのに計算結果の正しさや計算方法が分からない、という状況が理解できません。
少なくともあなたの利用しているコード、変換仕様が公知のもので、それについての情報を提示していただかないと誰も回答できないと思うのですが。
ちなみにちなみに[深層学習ライブラリと量子化](https://lab.mo-t.com/blog/quantization-frameworks)にも記載あるように公知のものでもたくさんあるようです。
あなたの回答
tips
プレビュー