Я обучил мою ssd_mobilenet_v2_quantized_300x300_coco_2019_01_03 модель обнаружения объекта. Все прошло хорошо. Я также преобразовал его в файл .tflite и назвал его detectx.tflite .
Я скачал официальное приложение Пример ObjectDetection , и оно гладко работает с встроенной моделью .tflite.
Я изменил код в ModelDataHandler.swift
на следующее:
enum MobileNetSSD {
static let modelInfo: FileInfo = (name: "detectx", extension: "tflite")
static let labelsInfo: FileInfo = (name: "labelmap", extension: "txt")
}
И, конечно, переместил мой detex.tflite в папку Model
, чтобы его можно было найти.
Однако, когда я попытался запустить приложение, оно вылетело и выдало следующую ошибку:
Failed to load the model file with name: detectx (lldb)
Вот так я экспортирую свою обученную модель в tflite_graph.pb :
python export_tflite_ssd_graph.py \
--pipeline_config_path training/ssd_mobilenet_v2_quantized_300x300_coco.config \
--trained_checkpoint_prefix training/model.ckpt-145 \
--output_directory inference_graph_TFLITE_COBA
ивот как я конвертирую его в .tflite:
tflite_convert --graph_def_file=inference_graph_TFLITE_COBA/tflite_graph.pb --output_file=detectx.tflite
--input_shapes=1,300,300,3 --input_arrays=normalized_input_image_tensor
--output_arrays=TFLite_Detection_PostProcess,TFLite_Detection_PostProcess:1,TFLite_Detection_Post
Process:2,TFLite_Detection_PostProcess:3 --allow_custom_ops
Это успешно выдает detex.tflite , как я там написал.
Я не понимаю, почемуэто не будет работать. Я пробовал много разных моделей мобильных сетей ssd, а также выдал ту же ошибку. Может ли кто-нибудь помочь мне в этом? Я супер сбит с толку.
Большое спасибо. Я действительно ценю любую помощь.