将 tensorflow lite 与 Qt 一起使用



环境 :

  • 操作系统 : Win10 64位
  • Qt: 5.12.3
  • 丹麦克朗: R18b
  • JDK:jdk1.8.0_201

我想将tensorflow-lite与Qt5一起使用,但是当我尝试导入java类时,存在很多问题。但是我如何下载tensorflow-lite-gpu,tensorflow-lite-cpu和tensorflow-lite-support?

android 工作室在 build.gradle 中使用 3 行来完成这项工作,我也尝试将 3 行添加到 build.gradle 中。

dependencies {
// Build off of nightly TensorFlow Lite
implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly'
implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly'
implementation 'org.tensorflow:tensorflow-lite-support:0.0.0-nightly'    
}

错误消息

在帕斯特宾,因为它很长

我可以毫无问题地通过android工作室构建此示例,如何将tensorflow的java api与Qt一起使用?

答案很简单,只需要在build.gradle中添加几行(来自QtCreator,projects(alt+x(->other files->build.gradle(

  1. 将以下行放在build.gradle的"android"块中

    compileOptions {
    sourceCompatibility = '1.8'
    targetCompatibility = '1.8'
    }
    aaptOptions {
    noCompress "tflite"
    }
    
  2. 将 build.gradle 的依赖项块(不是构建脚本中的块(更改为

    dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
    // Build off of nightly TensorFlow Lite
    implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly'
    implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly'
    implementation 'org.tensorflow:tensorflow-lite-support:0.0.0-nightly' 
    }
    

这应该可以完成这项工作,完整的build.gradle看起来像

buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
}
}
repositories {
google()
jcenter()
}
apply plugin: 'com.android.application'
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
// Build off of nightly TensorFlow Lite
implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly'
implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly'
implementation 'org.tensorflow:tensorflow-lite-support:0.0.0-nightly'
// Use local TensorFlow library
// implementation 'org.tensorflow:tensorflow-lite-local:0.0.0'
}
android {
/*******************************************************
* The following variables:
* - androidBuildToolsVersion,
* - androidCompileSdkVersion
* - qt5AndroidDir - holds the path to qt android files
*                   needed to build any Qt application
*                   on Android.
*
* are defined in gradle.properties file. This file is
* updated by QtCreator and androiddeployqt tools.
* Changing them manually might break the compilation!
*******************************************************/
compileSdkVersion androidCompileSdkVersion.toInteger()
buildToolsVersion androidBuildToolsVersion
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java']
aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl']
res.srcDirs = [qt5AndroidDir + '/res', 'res']
resources.srcDirs = ['src']
renderscript.srcDirs = ['src']
assets.srcDirs = ['assets']
jniLibs.srcDirs = ['libs']
}
}
compileOptions {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
aaptOptions {
noCompress "tflite"
}
lintOptions {
abortOnError false
}
}

最新更新