技術と本について書くブログ

技術と本について書くblog。技術メモなど雑記を書いているblog。

CoreMLのモデルを小さくする方法

アプリの場合、モデルのサイズを気にする必要があり、CoreMLのモデルを小さくすることがほぼほぼ必須。

Fp16への量子化

32bitの数値を16bitで代替えする32から16なので容量も半分になる。 精度もそこまで落ちないのでこちらはおすすめ。

import coremltools as ct
from coremltools.models.neural_network import quantization_utils

# fp32 to fp16
model_fp32 = ct.models.MLModel('hoge.mlmodel')
model_fp16 = quantization_utils.quantize_weights(model_fp32, nbits=16)
model_fp16.save('hoge2.mlmodel')

coremltools.readme.io