Модель Firebase AutoML (model.tflite) работает хорошо, в то время как подготовленная мной точность меньше (from 99% before converting to 60% after converting
), хотя architecture is almost same.
В чем может быть проблема?
Я конвертировал модель, используя tf.lite.TFLiteConverter
.
Единственное отличие, которое я могу найти, это осмотреть его:
quantization: 0 ≤ q ≤ 255
в модели, которую я подготовил ..
quantization: -1.0078740119934082 ≤ 0.007874015718698502 * (q - 128) ≤ 1
в модели AutoML на базе Firebase ....
Что это значит?
Также:
Я использовал mobilenetv2_1.00_224/block_12_project_BN/FusedBatchNorm
в то время как в модели FireBase обеспечивает использование
module_apply_default/mnas_v4_a_1/feature_network/cell_9/op_0/project_0/add_fold
,
В этом вся разница, которую я могу найти при осмотре.
Я получил точность 95%, а Firebase - 97%, и его модель работает нормально, а не моя при использовании на мобильном телефоне.
from tensorflow import lite
converter = lite.TFLiteConverter.from_keras_model_file( 'mob_best.h5')
tfmodel = converter.convert()
converter.quantize = False
open ("f.tflite" , "wb") .write(tfmodel)
Что гугл делает правильно, что я нет!
Я проверяю модель, используя Netron !