edgetpu: USB transfer error while running inference for Posenet model
Platform: aarch64, IMX8 Edge TPU Release: 2.13 Edge TPU Device: USB stick Model used: posenet_mobilenet_v1_075_481_641_quant_decoder_edgetpu.tflite
Having a strange USB transfer error while trying to run a pose estimation inference. Had no problem running the USB stick with some simple object detection, this seems only to occur when trying to implement the pose detection stuff.
F :1133] HandleQueuedBulkIn transfer in failed. Not found: USB transfer error 5 [LibUsbDataInCallback]
Tested several ways to initialize the interpreter and prepare the input but with same result. Right now I’ve used the code available in the /src/cpp folder, just to see if it made any difference;
basic_engine.h/.cc basic_engine_native.h/.cc posenet_decoder.h/.cc posenet_decoder_op.h/.cc error_reporter.h/.cc edgetpu_resource_manager.h/.cc
So basically:
m_engine = new coral::BasicEngine(poseModelPath);
std::vector<uint8_t> input;
formatInput(inputImage, input);
const std::vector<std::vector<float>> &raw_outputs = m_engine->RunInference(input);
The crash happens when Invoke()
is called in
EdgeTpuApiStatus BasicEngineNative::RunInference(const uint8_t *const input,
const size_t in_size,
float const **const output,
size_t *const out_size);
Thanks!
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 19
I came across this issue as well. For me, it turned out that the included USB cable is somehow bad. I switched it with another one that I had lying around, and it seems to be a lot more stable now. Haven’t ran into this problem so far.
@Namburger Thanks for looking into this, I also starting to think that its power related. Apparently the HW I’m using is shutting off its usb hub if it exceeds 600mA. So yeah probably power related, next up is trying to connect an external usb hub with extra power.
I’m closing this now!
Thanks again!