【问题标题】:Retraining on device Coral Edge TPU - output tensor size在设备 Coral Edge TPU 上重新训练 - 输出张量大小
【发布时间】:2020-09-04 17:17:32
【问题描述】:

我正在按照这里的示例 https://coral.ai/docs/edgetpu/retrain-classification-ondevice/#api-summary 使用提供的示例代码 (imprinting_learning.py) 自定义模型(最初是 MobileNet v1)。

我得到了这个工作,它运行良好,使用上述模型对图像或视频流进行分类。

我现在正在尝试使用它来定制一个可用于对象检测的模型,制作边界框。 当我第一次尝试使用新重新训练的模型(基于示例中给出的 mobilenetV1)时,我得到了

检测模型应该有 4 个输出张量!该模型有 1 个。

我尝试基于模型 mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite (我过去成功用于对象检测)开始新的重新训练,但在训练期间出现错误(使用 imprinting_learning.py)

RuntimeError: Logit 输出张量应该是 [1,x]

感谢您的帮助!

【问题讨论】:

    标签: tensorflow-lite google-coral


    【解决方案1】:

    我相信您已经就这个问题联系了我们的私人频道,但是我想在这里用模式详细信息回答这个问题,以便其他人可以参考。 我想澄清几件事:

    • 为了使模型与 ImprintingEngine 一起使用,需要对其进行准备。当您以当前状态输入模型时,压印引擎无法将权重更新为我们想要的行为。这个过程非常复杂,有点超出我们的支持范围,但可以在here 找到更多详细信息。如果您想准备自己的模型,反向传播将是一种更简单的方法,因为您只需要准备一个嵌入提取器!我们的页面有关于如何创建嵌入提取器的说明。而backprop 使用了一种称为softmax regression 的技术。

    • 很遗憾,无论哪种情况,对象检测模型都不会与我们的设备学习教程一起使用。错误消息明确指出输出张量不匹配,该层无法与印记引擎或 softmax 回归引擎兼容。本教程仅用于分类。可以详细了解物体检测模型的输出张量on this page

    对于对象检测再训练,有本教程,尽管它需要来自您的主机的资源: https://coral.ai/docs/edgetpu/retrain-detection/

    【讨论】:

    • 请注意,即使在相当强大的机器上运行示例对象检测训练,我也会遇到内存不足错误。
    猜你喜欢
    • 1970-01-01
    • 2020-10-29
    • 2020-01-18
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    相关资源
    最近更新 更多