google-coral / edgetpu

Coral issue tracker (and legacy Edge TPU API source)
https://coral.ai
Apache License 2.0
412 stars 124 forks source link

Cannot use -i/--intermediate_tensors with tensors which names contain colon. #778

Open stupidcucumber opened 11 months ago

stupidcucumber commented 11 months ago

Description

While compiling using command edgetpu_compiler -s -d model_latency.tflite tflite-model using edgetpu_compiler v16 I encountered the following error:

Edge TPU Compiler version 16.0.384591198
Searching for valid delegate with step 1
Try to compile segment with 43 ops
Started a compilation timeout timer of 180 seconds.
ERROR: Restored original execution plan after delegate application failure.
Compilation failed: Internal error.
Compilation child process completed within timeout period.
Compilation failed! 
Try to compile segment with 42 ops
Intermediate tensors: PartitionedCall:01,PartitionedCall:1
Started a compilation timeout timer of 180 seconds.

So I tried solve problem with adding -i option to the command and specifying PartitionedCall:01 and PartitionedCall:1 as such that does not need to be compiled to EdgeTPU format. However after running edgetpu_compiler -s -i "PartitionedCall:1","PartitionedCall:01" model_latency.tflite I encountered another error:

The number of lists given to intermediate_tensors doesn't match the number of input models.

So, now I need to somehow find the way to compile those two tensors or try to mark them as intermediate. Somehow compiler thinks that colon in the names of the tensors is me trying to say "hey, there are tensors for more than one model".

I would appreciate any help with renaming those tensors when converting from saved_model.pb into .tflite, because I could not find any way to do it either.

Click to expand! ### Issue Type Bug, Feature Request ### Operating System Ubuntu ### Coral Device _No response_ ### Other Devices _No response_ ### Programming Language Python 3.9 ### Relevant Log Output _No response_