mirror of
https://github.com/zebrajr/tensorflow.git
synced 2025-12-06 12:20:11 +01:00
Merge pull request #36749 from freedomtan:add_xnnpack_to_label_image
PiperOrigin-RevId: 301479850 Change-Id: I434b3dfd432ede55ea10b820f38f9af3173e9a41
This commit is contained in:
commit
bfd3af386f
|
|
@ -33,7 +33,6 @@ cc_binary(
|
|||
"//tensorflow/lite:framework",
|
||||
"//tensorflow/lite:string_util",
|
||||
"//tensorflow/lite/delegates/nnapi:nnapi_delegate",
|
||||
"//tensorflow/lite/delegates/xnnpack:xnnpack_delegate",
|
||||
"//tensorflow/lite/kernels:builtin_ops",
|
||||
"//tensorflow/lite/profiling:profiler",
|
||||
"//tensorflow/lite/tools/evaluation:utils",
|
||||
|
|
|
|||
|
|
@ -105,7 +105,7 @@ Run the model with NNAPI delegate (`-a 1`), `adb shell
|
|||
then you should see something like the followings: `Loaded model
|
||||
/data/local/tmp/mobilenet_v1_1.0_224.tflite resolved reporter INFO: Initialized
|
||||
TensorFlow Lite runtime. INFO: Created TensorFlow Lite delegate for NNAPI.
|
||||
Applied NNAPI delegate. invoked average time:10.348 ms 0.905401: 653 military
|
||||
Applied NNAPI delegate.invoked average time: 10.348 ms 0.905401: 653 military
|
||||
uniform 0.0379589: 907 Windsor tie 0.00735866: 466 bulletproof vest 0.00605307:
|
||||
458 bow tie 0.00422573: 514 cornet`
|
||||
|
||||
|
|
@ -125,13 +125,4 @@ average time: 8.307 ms 0.729412: 653 military uniform 0.0980392: 907 Windsor tie
|
|||
0.0313726: 466 bulletproof vest 0.0313726: 458 bow tie 0.0117647: 700 panpipe
|
||||
```
|
||||
|
||||
Run the model with the XNNPACK delegate (`-x 1`), `adb shell
|
||||
"/data/local/tmp/label_image \ -m /data/local/tmp/mobilenet_v1_1.0_224.tflite \
|
||||
-i /data/local/tmp/grace_hopper.bmp \ -l /data/local/tmp/labels.txt -x 1"` then
|
||||
you should see something like the followings: `Loaded model
|
||||
/data/local/tmp/mobilenet_v1_1.0_224.tflite resolved reporter INFO: Initialized
|
||||
TensorFlow Lite runtime. Applied XNNPACK delegate.invoked average time: 11.0237
|
||||
ms 0.90707: 653 military uniform 0.0372418: 907 Windsor tie 0.0073376: 466
|
||||
bulletproof vest 0.00592856: 458 bow tie 0.00414093: 514 cornet`
|
||||
|
||||
See the `label_image.cc` source code for other command line options.
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ limitations under the License.
|
|||
|
||||
#include "absl/memory/memory.h"
|
||||
#include "tensorflow/lite/delegates/nnapi/nnapi_delegate.h"
|
||||
#include "tensorflow/lite/delegates/xnnpack/xnnpack_delegate.h"
|
||||
#include "tensorflow/lite/examples/label_image/bitmap_helpers.h"
|
||||
#include "tensorflow/lite/examples/label_image/get_top_n.h"
|
||||
#include "tensorflow/lite/kernels/register.h"
|
||||
|
|
@ -102,19 +101,6 @@ TfLiteDelegatePtrMap GetDelegates(Settings* s) {
|
|||
}
|
||||
}
|
||||
|
||||
if (s->xnnpack_delegate) {
|
||||
TfLiteXNNPackDelegateOptions xnnpack_options =
|
||||
TfLiteXNNPackDelegateOptionsDefault();
|
||||
xnnpack_options.num_threads = s->number_of_threads;
|
||||
|
||||
auto delegate = evaluation::CreateXNNPACKDelegate(&xnnpack_options);
|
||||
if (!delegate) {
|
||||
LOG(INFO) << "XNNPACK acceleration is unsupported on this platform.";
|
||||
} else {
|
||||
delegates.emplace("XNNPACK", std::move(delegate));
|
||||
}
|
||||
}
|
||||
|
||||
return delegates;
|
||||
}
|
||||
|
||||
|
|
@ -374,7 +360,6 @@ void display_usage() {
|
|||
<< "--threads, -t: number of threads\n"
|
||||
<< "--verbose, -v: [0|1] print more information\n"
|
||||
<< "--warmup_runs, -w: number of warmup runs\n"
|
||||
<< "--xnnpack_delegate, -x: xnnpack delegate\n"
|
||||
<< "\n";
|
||||
}
|
||||
|
||||
|
|
@ -401,14 +386,13 @@ int Main(int argc, char** argv) {
|
|||
{"warmup_runs", required_argument, nullptr, 'w'},
|
||||
{"gl_backend", required_argument, nullptr, 'g'},
|
||||
{"hexagon_delegate", required_argument, nullptr, 'j'},
|
||||
{"xnnpack_delegate", required_argument, nullptr, 'x'},
|
||||
{nullptr, 0, nullptr, 0}};
|
||||
|
||||
/* getopt_long stores the option index here. */
|
||||
int option_index = 0;
|
||||
|
||||
c = getopt_long(argc, argv,
|
||||
"a:b:c:d:e:f:g:i:j:l:m:p:r:s:t:v:w:x:", long_options,
|
||||
"a:b:c:d:e:f:g:i:j:l:m:p:r:s:t:v:w:", long_options,
|
||||
&option_index);
|
||||
|
||||
/* Detect the end of the options. */
|
||||
|
|
@ -476,9 +460,6 @@ int Main(int argc, char** argv) {
|
|||
s.number_of_warmup_runs =
|
||||
strtol(optarg, nullptr, 10); // NOLINT(runtime/deprecated_fn)
|
||||
break;
|
||||
case 'x':
|
||||
s.xnnpack_delegate = optarg;
|
||||
break;
|
||||
case 'h':
|
||||
case '?':
|
||||
/* getopt_long already printed an error message. */
|
||||
|
|
|
|||
|
|
@ -31,7 +31,6 @@ struct Settings {
|
|||
bool allow_fp16 = false;
|
||||
bool gl_backend = false;
|
||||
bool hexagon_delegate = false;
|
||||
bool xnnpack_delegate = false;
|
||||
int loop_count = 1;
|
||||
float input_mean = 127.5f;
|
||||
float input_std = 127.5f;
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ cc_library(
|
|||
"//tensorflow/lite:context",
|
||||
"//tensorflow/lite:framework",
|
||||
"//tensorflow/lite/delegates/nnapi:nnapi_delegate",
|
||||
"//tensorflow/lite/delegates/xnnpack:xnnpack_delegate",
|
||||
] + select({
|
||||
"//tensorflow:android": [
|
||||
"//tensorflow/lite/delegates/gpu:delegate",
|
||||
|
|
|
|||
|
|
@ -164,19 +164,5 @@ Interpreter::TfLiteDelegatePtr CreateHexagonDelegate(
|
|||
#endif // defined(__ANDROID__)
|
||||
}
|
||||
|
||||
Interpreter::TfLiteDelegatePtr CreateXNNPACKDelegate() {
|
||||
TfLiteXNNPackDelegateOptions xnnpack_options =
|
||||
TfLiteXNNPackDelegateOptionsDefault();
|
||||
return CreateXNNPACKDelegate(&xnnpack_options);
|
||||
}
|
||||
|
||||
Interpreter::TfLiteDelegatePtr CreateXNNPACKDelegate(
|
||||
const TfLiteXNNPackDelegateOptions* xnnpack_options) {
|
||||
auto xnnpack_delegate = TfLiteXNNPackDelegateCreate(xnnpack_options);
|
||||
return Interpreter::TfLiteDelegatePtr(
|
||||
xnnpack_delegate,
|
||||
[](TfLiteDelegate* delegate) { TfLiteXNNPackDelegateDelete(delegate); });
|
||||
}
|
||||
|
||||
} // namespace evaluation
|
||||
} // namespace tflite
|
||||
|
|
|
|||
|
|
@ -29,7 +29,6 @@ limitations under the License.
|
|||
|
||||
#include "tensorflow/lite/context.h"
|
||||
#include "tensorflow/lite/delegates/nnapi/nnapi_delegate.h"
|
||||
#include "tensorflow/lite/delegates/xnnpack/xnnpack_delegate.h"
|
||||
#include "tensorflow/lite/model.h"
|
||||
|
||||
namespace tflite {
|
||||
|
|
@ -65,10 +64,6 @@ Interpreter::TfLiteDelegatePtr CreateGPUDelegate(
|
|||
Interpreter::TfLiteDelegatePtr CreateHexagonDelegate(
|
||||
const std::string& library_directory_path, bool profiling);
|
||||
|
||||
Interpreter::TfLiteDelegatePtr CreateXNNPACKDelegate();
|
||||
Interpreter::TfLiteDelegatePtr CreateXNNPACKDelegate(
|
||||
const TfLiteXNNPackDelegateOptions* options);
|
||||
|
||||
} // namespace evaluation
|
||||
} // namespace tflite
|
||||
|
||||
|
|
|
|||
14
third_party/cpuinfo/BUILD.bazel
vendored
14
third_party/cpuinfo/BUILD.bazel
vendored
|
|
@ -101,8 +101,6 @@ MACH_ARM_SRCS = [
|
|||
cc_library(
|
||||
name = "cpuinfo_impl",
|
||||
srcs = select({
|
||||
":linux_aarch64": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM64_SRCS,
|
||||
":linux_arm": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS,
|
||||
":linux_x86_64": COMMON_SRCS + X86_SRCS + LINUX_SRCS + LINUX_X86_SRCS,
|
||||
":macos_x86_64": COMMON_SRCS + X86_SRCS + MACH_SRCS + MACH_X86_SRCS,
|
||||
":android_armv7": COMMON_SRCS + ARM_SRCS + LINUX_SRCS + LINUX_ARM32_SRCS + ANDROID_ARM_SRCS,
|
||||
|
|
@ -161,18 +159,6 @@ cc_library(
|
|||
|
||||
############################# Build configurations #############################
|
||||
|
||||
config_setting(
|
||||
name = "linux_aarch64",
|
||||
values = {"cpu": "aarch64"},
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "linux_arm",
|
||||
values = {"cpu": "arm"},
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
config_setting(
|
||||
name = "linux_x86_64",
|
||||
values = {"cpu": "k8"},
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user