mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
This reverts commit 7ed377f5776578aec4a6a9bc4eeef221a6b80a77. Reverted https://github.com/pytorch/pytorch/pull/153656 on behalf of https://github.com/larryliu0820 due to Still being used internally so can't remove ([comment](https://github.com/pytorch/pytorch/pull/153656#issuecomment-2887665403))
191 lines
6.3 KiB
Groovy
191 lines
6.3 KiB
Groovy
apply plugin: 'com.android.application'
|
|
|
|
repositories {
|
|
jcenter()
|
|
maven {
|
|
url "https://oss.sonatype.org/content/repositories/snapshots"
|
|
}
|
|
flatDir {
|
|
dirs 'aars'
|
|
}
|
|
}
|
|
|
|
android {
|
|
configurations {
|
|
extractForNativeBuild
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility 1.8
|
|
targetCompatibility 1.8
|
|
}
|
|
compileSdkVersion rootProject.compileSdkVersion
|
|
buildToolsVersion rootProject.buildToolsVersion
|
|
defaultConfig {
|
|
applicationId "org.pytorch.testapp"
|
|
minSdkVersion rootProject.minSdkVersion
|
|
targetSdkVersion rootProject.targetSdkVersion
|
|
versionCode 1
|
|
versionName "1.0"
|
|
ndk {
|
|
abiFilters ABI_FILTERS.split(",")
|
|
}
|
|
// Commented due to dependency on local copy of pytorch_android aar to aars folder
|
|
//externalNativeBuild {
|
|
// cmake {
|
|
// abiFilters ABI_FILTERS.split(",")
|
|
// arguments "-DANDROID_STL=c++_shared"
|
|
// }
|
|
//}
|
|
buildConfigField("String", "MODULE_ASSET_NAME", "\"mobilenet2q.pt\"")
|
|
buildConfigField("String", "LOGCAT_TAG", "@string/app_name")
|
|
buildConfigField("long[]", "INPUT_TENSOR_SHAPE", "new long[]{1, 3, 224, 224}")
|
|
buildConfigField("boolean", "NATIVE_BUILD", 'false')
|
|
buildConfigField("boolean", "USE_VULKAN_DEVICE", 'false')
|
|
buildConfigField(
|
|
"int",
|
|
"BUILD_LITE_INTERPRETER",
|
|
System.env.BUILD_LITE_INTERPRETER != null ? System.env.BUILD_LITE_INTERPRETER : "1"
|
|
)
|
|
addManifestPlaceholders([APP_NAME: "@string/app_name", MAIN_ACTIVITY: "org.pytorch.testapp.MainActivity"])
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
minifyEnabled false
|
|
debuggable true
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
}
|
|
}
|
|
// Commented due to dependency on local copy of pytorch_android aar to aars folder
|
|
//externalNativeBuild {
|
|
// cmake {
|
|
// path "CMakeLists.txt"
|
|
// }
|
|
//}
|
|
flavorDimensions "model", "build", "activity"
|
|
productFlavors {
|
|
mnet {
|
|
dimension "model"
|
|
applicationIdSuffix ".mnet"
|
|
buildConfigField("String", "MODULE_ASSET_NAME", "\"mobilenet_v2.ptl\"")
|
|
addManifestPlaceholders([APP_NAME: "MNET"])
|
|
buildConfigField("String", "LOGCAT_TAG", "\"pytorch-mnet\"")
|
|
}
|
|
// NB: This is not working atm https://github.com/pytorch/pytorch/issues/102966
|
|
mnetVulkan {
|
|
dimension "model"
|
|
applicationIdSuffix ".mnet_vulkan"
|
|
buildConfigField("String", "MODULE_ASSET_NAME", "\"mobilenet_v2_vulkan.ptl\"")
|
|
buildConfigField("boolean", "USE_VULKAN_DEVICE", 'true')
|
|
addManifestPlaceholders([APP_NAME: "MNET_VULKAN"])
|
|
buildConfigField("String", "LOGCAT_TAG", "\"pytorch-mnet-vulkan\"")
|
|
}
|
|
resnet18 {
|
|
dimension "model"
|
|
applicationIdSuffix ".resnet18"
|
|
buildConfigField("String", "MODULE_ASSET_NAME", "\"resnet18.ptl\"")
|
|
addManifestPlaceholders([APP_NAME: "RN18"])
|
|
buildConfigField("String", "LOGCAT_TAG", "\"pytorch-resnet18\"")
|
|
}
|
|
local {
|
|
dimension "build"
|
|
}
|
|
nightly {
|
|
dimension "build"
|
|
}
|
|
aar {
|
|
dimension "build"
|
|
}
|
|
// Commented due to dependency on local copy of pytorch_android aar to aars folder
|
|
//nativeBuild {
|
|
// dimension "build"
|
|
// buildConfigField("boolean", "NATIVE_BUILD", "true")
|
|
//}
|
|
camera {
|
|
dimension "activity"
|
|
addManifestPlaceholders([MAIN_ACTIVITY: "org.pytorch.testapp.CameraActivity"])
|
|
}
|
|
base {
|
|
dimension "activity"
|
|
sourceSets {
|
|
main {
|
|
java {
|
|
exclude 'org/pytorch/testapp/CameraActivity.java'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
packagingOptions {
|
|
doNotStrip '**.so'
|
|
}
|
|
|
|
// Filtering for CI
|
|
if (!testAppAllVariantsEnabled.toBoolean()) {
|
|
variantFilter { variant ->
|
|
def names = variant.flavors*.name
|
|
if (names.contains("nightly")
|
|
|| names.contains("camera")
|
|
|| names.contains("aar")
|
|
|| names.contains("nativeBuild")) {
|
|
setIgnore(true)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.all { task ->
|
|
// Disable externalNativeBuild for all but nativeBuild variant
|
|
if (task.name.startsWith('externalNativeBuild')
|
|
&& !task.name.contains('NativeBuild')) {
|
|
task.enabled = false
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.android.support:appcompat-v7:28.0.0'
|
|
implementation 'com.facebook.soloader:nativeloader:0.10.5'
|
|
|
|
localImplementation project(':pytorch_android')
|
|
localImplementation project(':pytorch_android_torchvision')
|
|
|
|
// Commented due to dependency on local copy of pytorch_android aar to aars folder
|
|
//nativeBuildImplementation(name: 'pytorch_android-release', ext: 'aar')
|
|
//nativeBuildImplementation(name: 'pytorch_android_torchvision-release', ext: 'aar')
|
|
//extractForNativeBuild(name: 'pytorch_android-release', ext: 'aar')
|
|
|
|
nightlyImplementation 'org.pytorch:pytorch_android:2.2.0-SNAPSHOT'
|
|
nightlyImplementation 'org.pytorch:pytorch_android_torchvision:2.2.0-SNAPSHOT'
|
|
|
|
aarImplementation(name:'pytorch_android', ext:'aar')
|
|
aarImplementation(name:'pytorch_android_torchvision', ext:'aar')
|
|
aarImplementation 'com.facebook.soloader:nativeloader:0.10.5'
|
|
aarImplementation 'com.facebook.fbjni:fbjni-java-only:0.2.2'
|
|
|
|
def camerax_version = "1.0.0-alpha05"
|
|
cameraImplementation "androidx.camera:camera-core:$camerax_version"
|
|
cameraImplementation "androidx.camera:camera-camera2:$camerax_version"
|
|
cameraImplementation 'com.google.android.material:material:1.0.0-beta01'
|
|
}
|
|
|
|
task extractAARForNativeBuild {
|
|
doLast {
|
|
configurations.extractForNativeBuild.files.each {
|
|
def file = it.absoluteFile
|
|
copy {
|
|
from zipTree(file)
|
|
into "$buildDir/$file.name"
|
|
include "headers/**"
|
|
include "jni/**"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.whenTaskAdded { task ->
|
|
if (task.name.contains('externalNativeBuild')) {
|
|
task.dependsOn(extractAARForNativeBuild)
|
|
}
|
|
}
|