首页 > 解决方案 > Tensorflow 无法正常工作,不知道出了什么问题

问题描述

我使用 Android Studio 进行编码,在 tensorflowObjectDetection 示例中,我注释掉@Disable并添加了我们的 Vuforia 密钥,当我运行程序时它就崩溃了。我已将其缩小到以下代码:

private void initTfod() {
    int tfodMonitorViewId = hardwareMap.appContext.getResources().getIdentifier(
        "tfodMonitorViewId", "id", hardwareMap.appContext.getPackageName());
    TFObjectDetector.Parameters tfodParameters = new TFObjectDetector.Parameters(tfodMonitorViewId);
    tfod = ClassFactory.getInstance().createTFObjectDetector(tfodParameters, vuforia);
    tfod.loadModelFromAsset(TFOD_MODEL_ASSET, LABEL_GOLD_MINERAL, LABEL_SILVER_MINERAL);
}

通过注释掉底部的两行,它不会崩溃,但它不明白为什么。

标签: javaandroidandroid-studiotensorflow

解决方案


弄清楚了。vuforia 需要更多时间来初始化,所以我们这样做了:

robot.initVuforia(hardwareMap);

while(robot.vuforiaLoaded == false && !isStopRequested()){

}

if (ClassFactory.getInstance().canCreateTFObjectDetector()) {
    robot.initTfod(hardwareMap);
} else {
    telemetry.addData("Sorry!", "This device is not compatible with TFOD");
}


推荐阅读