在 Android Studio 4.1 中使用 Tensorflow lite 元数据时构建失败

Build fail when using Tensorflow lite metadata in Android Studio 4.1

伙计们,我是 Whosebug 的新手

关于在AS4.1中使用Tensorflow lite的问题

当我“新建”->“其他”->“tensorflow lite 模型”并导入一个新的 .tflite 文件

项目自动生成一个PosenetMobilenetFloat0751Metadata1.java文件

然后“build”->“Make project”,报错:

包org.tensorflow.lite.support.metadata不存在导入org.tensorflow.lite.support.metadata.MetadataExtractor;

错误发生在PosenetMobilenetFloat0751Metadata1.java:

import org.tensorflow.lite.support.metadata.MetadataExtractor;

这个错误似乎是因为我没有这个依赖,

以下是我在 build.gradle

中的依赖项
dependencies {
  implementation fileTree(dir: 'libs', include: ['*.jar'])
  implementation project(":posenet")
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  implementation 'androidx.appcompat:appcompat:1.1.0'
  implementation 'androidx.core:core-ktx:1.1.0'
  implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  implementation 'org.tensorflow:tensorflow-lite:1.12.0'
  implementation 'org.tensorflow:tensorflow-lite-gpu:2.2.0'
  implementation 'org.tensorflow:tensorflow-lite-support:0.0.0-nightly'
  testImplementation 'junit:junit:4.12'
  androidTestImplementation 'androidx.test:runner:1.2.0'
  androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}

谁能帮我下一步怎么走?

我认为你需要使用 implementation 'org.tensorflow:tensorflow-lite-metadata:0.1.0-rc2'

请尝试添加这个

configurations {

    libMetadata
}


dependencies {

    libMetadata 'org.tensorflow:tensorflow-lite-support:0.0.0-experimental-metadata-monolithic'
}


task downloadLibs(type: Sync) {

    from configurations.libMetadata

    into "$buildDir/libs"

    rename 'tensorflow-lite-support-0.0.0-experimental-metadata-monolithic.jar', "tensorflow-lite-support-metadata.jar"
}

调整另一个版本时要小心,这对 BUILD 非常敏感!