环境 :
- 操作系统 : 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(
-
将以下行放在build.gradle的"android"块中
compileOptions { sourceCompatibility = '1.8' targetCompatibility = '1.8' } aaptOptions { noCompress "tflite" }
-
将 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
}
}