yeephycho / tensorflow-face-detection

A mobilenet SSD based face detector, powered by tensorflow object detection api, trained by WIDERFACE dataset.
Apache License 2.0
768 stars 264 forks source link

Error occur while converting graphdef to .tflite. ConverterError: TOCO failed. See console for info. #52

Closed jyotirmayghosh closed 5 years ago

jyotirmayghosh commented 5 years ago

I am try to convert the graphDef model to tflite using tf.lite.TFLiteConverter.from_frozen_graph() checked every steps as mentioned in the document.

`ConverterError Traceback (most recent call last)

in 9 converter = tf.lite.TFLiteConverter.from_frozen_graph(graph_def_file, input_arrays, output_arrays, input_shape) 10 #converter.target_ops = [tf.lite.OpsSet.TFLITE_BUILTINS,tf.lite.OpsSet.SELECT_TF_OPS] ---> 11 tflite_model = converter.convert() 12 open("E:/training_models/tensorflow_face_detection/model/detect_face.tflite", "wb").write(tflite_model) ~\AppData\Local\Continuum\anaconda3\envs\tensorflow\lib\site-packages\tensorflow\lite\python\lite.py in convert(self) 453 input_tensors=self._input_tensors, 454 output_tensors=self._output_tensors, --> 455 **converter_kwargs) 456 else: 457 result = _toco_convert_graph_def( ~\AppData\Local\Continuum\anaconda3\envs\tensorflow\lib\site-packages\tensorflow\lite\python\convert.py in toco_convert_impl(input_data, input_tensors, output_tensors, *args, **kwargs) 440 data = toco_convert_protos(model_flags.SerializeToString(), 441 toco_flags.SerializeToString(), --> 442 input_data.SerializeToString()) 443 return data 444 ~\AppData\Local\Continuum\anaconda3\envs\tensorflow\lib\site-packages\tensorflow\lite\python\convert.py in toco_convert_protos(model_flags_str, toco_flags_str, input_data_str) 203 stderr = _try_convert_to_unicode(stderr) 204 raise ConverterError( --> 205 "TOCO failed. See console for info.\n%s\n%s\n" % (stdout, stderr)) 206 finally: 207 # Must manually cleanup files.` Below is the detail ConverterError Log: `ConverterError: TOCO failed. See console for info. 2019-03-29 15:04:07.619011: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.619546: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "WrapDatasetVariant" device_type: "CPU"') for unknown op: WrapDatasetVariant 2019-03-29 15:04:07.619822: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "WrapDatasetVariant" device_type: "GPU" host_memory_arg: "input_handle" host_memory_arg: "output_handle"') for unknown op: WrapDatasetVariant 2019-03-29 15:04:07.620164: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "CPU"') for unknown op: UnwrapDatasetVariant 2019-03-29 15:04:07.620413: E tensorflow/core/framework/op_kernel.cc:1325] OpKernel ('op: "UnwrapDatasetVariant" device_type: "GPU" host_memory_arg: "input_handle" host_memory_arg: "output_handle"') for unknown op: UnwrapDatasetVariant 2019-03-29 15:04:07.620818: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.621030: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayScatterV3 2019-03-29 15:04:07.621242: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayScatterV3 2019-03-29 15:04:07.621439: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.621643: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.621821: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.621980: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.622124: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.622431: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.622693: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.622951: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.623237: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: LoopCond 2019-03-29 15:04:07.623506: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: LoopCond 2019-03-29 15:04:07.623810: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.624086: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.624364: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.624635: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.624921: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayReadV3 2019-03-29 15:04:07.625226: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayReadV3 2019-03-29 15:04:07.625557: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.625834: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.626113: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayWriteV3 2019-03-29 15:04:07.626416: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayWriteV3 2019-03-29 15:04:07.626709: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Exit 2019-03-29 15:04:07.626974: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Exit 2019-03-29 15:04:07.627246: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArraySizeV3 2019-03-29 15:04:07.627534: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArraySizeV3 2019-03-29 15:04:07.627767: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayGatherV3 2019-03-29 15:04:07.628010: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayGatherV3 2019-03-29 15:04:07.655854: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.656194: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.656419: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.656584: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.656792: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.657003: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.657222: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayScatterV3 2019-03-29 15:04:07.657419: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayScatterV3 2019-03-29 15:04:07.657637: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayScatterV3 2019-03-29 15:04:07.657834: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayScatterV3 2019-03-29 15:04:07.658037: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayScatterV3 2019-03-29 15:04:07.658200: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayScatterV3 2019-03-29 15:04:07.658401: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.658657: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.658953: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.659242: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.659429: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.659616: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.659818: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayV3 2019-03-29 15:04:07.660003: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayV3 2019-03-29 15:04:07.660208: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.660408: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.660574: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.660748: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.660924: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.661116: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.661290: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.661484: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.661666: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.661830: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.662024: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.662207: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.662376: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: LoopCond 2019-03-29 15:04:07.662560: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: LoopCond 2019-03-29 15:04:07.662757: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.662926: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.663089: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.663260: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.663444: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayReadV3 2019-03-29 15:04:07.663614: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayReadV3 2019-03-29 15:04:07.663804: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.664024: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.664298: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.664561: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.664845: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayReadV3 2019-03-29 15:04:07.665148: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayReadV3 2019-03-29 15:04:07.665444: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.665711: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.665988: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.666254: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.666525: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayReadV3 2019-03-29 15:04:07.666812: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayReadV3 2019-03-29 15:04:07.667245: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Where 2019-03-29 15:04:07.667517: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Where 2019-03-29 15:04:07.667823: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.668095: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.668382: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Where 2019-03-29 15:04:07.668655: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Where 2019-03-29 15:04:07.668981: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: NonMaxSuppression 2019-03-29 15:04:07.669255: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: NonMaxSuppression 2019-03-29 15:04:07.669547: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Where 2019-03-29 15:04:07.669712: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Where 2019-03-29 15:04:07.669987: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Where 2019-03-29 15:04:07.670221: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Where 2019-03-29 15:04:07.670478: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: NonMaxSuppression 2019-03-29 15:04:07.670756: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: NonMaxSuppression 2019-03-29 15:04:07.671031: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Size 2019-03-29 15:04:07.671248: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Size 2019-03-29 15:04:07.672109: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.672288: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.672471: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayWriteV3 2019-03-29 15:04:07.672678: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayWriteV3 2019-03-29 15:04:07.672832: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.673133: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.673332: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayWriteV3 2019-03-29 15:04:07.673552: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayWriteV3 2019-03-29 15:04:07.673795: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.673988: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.674160: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayWriteV3 2019-03-29 15:04:07.674376: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayWriteV3 2019-03-29 15:04:07.674649: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Enter 2019-03-29 15:04:07.674840: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Enter 2019-03-29 15:04:07.675038: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayWriteV3 2019-03-29 15:04:07.675345: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayWriteV3 2019-03-29 15:04:07.675728: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Exit 2019-03-29 15:04:07.676027: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Exit 2019-03-29 15:04:07.676381: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Exit 2019-03-29 15:04:07.676575: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Exit 2019-03-29 15:04:07.676756: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Exit 2019-03-29 15:04:07.676946: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Exit 2019-03-29 15:04:07.677100: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: Exit 2019-03-29 15:04:07.677284: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: Exit 2019-03-29 15:04:07.677453: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArraySizeV3 2019-03-29 15:04:07.677657: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArraySizeV3 2019-03-29 15:04:07.677871: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayGatherV3 2019-03-29 15:04:07.678061: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayGatherV3 2019-03-29 15:04:07.678274: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArraySizeV3 2019-03-29 15:04:07.678468: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArraySizeV3 2019-03-29 15:04:07.678671: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayGatherV3 2019-03-29 15:04:07.678837: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayGatherV3 2019-03-29 15:04:07.679068: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArraySizeV3 2019-03-29 15:04:07.679302: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArraySizeV3 2019-03-29 15:04:07.679614: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayGatherV3 2019-03-29 15:04:07.679907: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayGatherV3 2019-03-29 15:04:07.680209: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArraySizeV3 2019-03-29 15:04:07.680499: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArraySizeV3 2019-03-29 15:04:07.680816: I tensorflow/lite/toco/import_tensorflow.cc:1324] Converting unsupported operation: TensorArrayGatherV3 2019-03-29 15:04:07.681064: I tensorflow/lite/toco/import_tensorflow.cc:1373] Unable to determine output type for op: TensorArrayGatherV3 2019-03-29 15:04:07.757845: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before Removing unused ops: 1461 operators, 2604 arrays (0 quantized) 2019-03-29 15:04:07.881035: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] After Removing unused ops pass 1: 1402 operators, 2490 arrays (0 quantized) 2019-03-29 15:04:08.033914: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before general graph transformations: 1402 operators, 2490 arrays (0 quantized) 2019-03-29 15:04:08.127816: F tensorflow/lite/toco/graph_transformations/resolve_constant_slice.cc:59] Check failed: dim_size >= 1 (0 vs. 1)` This operations are not supported by the tflite. Can anyone help me to solve this issue.
yeephycho commented 5 years ago

It seems that the model contains some tensorflow operator that doesn't supported by tflite, what a pity!

jyotirmayghosh commented 5 years ago

It seems that the model contains some tensorflow operator that doesn't supported by tflite, what a pity!

Can you please help me to fix this issue?