From 8c37a9478129f49fc8f8412edeaf5f85044b8644 Mon Sep 17 00:00:00 2001 From: Hansong Zhang Date: Fri, 18 Apr 2025 17:19:36 -0700 Subject: [PATCH] [Android] Remove old onStats --- examples/demo-apps/android/LlamaDemo/README.md | 4 ++-- .../executorch/extension/llm/LlmCallback.java | 13 +------------ extension/android/jni/jni_layer_llama.cpp | 8 -------- 3 files changed, 3 insertions(+), 22 deletions(-) diff --git a/examples/demo-apps/android/LlamaDemo/README.md b/examples/demo-apps/android/LlamaDemo/README.md index fae91857fbe..d4db18ec016 100644 --- a/examples/demo-apps/android/LlamaDemo/README.md +++ b/examples/demo-apps/android/LlamaDemo/README.md @@ -135,8 +135,8 @@ Ensure you have the following functions in your callback class that you provided } @Override - public void onStats(float tps) { - //...tps (tokens per second) stats is provided by framework + public void onStats(String stats) { + //... will be a json. See extension/llm/stats.h for the field definitions } ``` diff --git a/extension/android/executorch_android/src/main/java/org/pytorch/executorch/extension/llm/LlmCallback.java b/extension/android/executorch_android/src/main/java/org/pytorch/executorch/extension/llm/LlmCallback.java index a829cf75dc4..639fd0812bd 100644 --- a/extension/android/executorch_android/src/main/java/org/pytorch/executorch/extension/llm/LlmCallback.java +++ b/extension/android/executorch_android/src/main/java/org/pytorch/executorch/extension/llm/LlmCallback.java @@ -28,17 +28,6 @@ public interface LlmCallback { @DoNotStrip public void onResult(String result); - /** - * Called when the statistics for the generate() is available. - * - * Note: This is a deprecated API and will be removed in the future. Please use onStats(String stats) - * - * @param tps Tokens/second for generated tokens. - */ - @Deprecated - @DoNotStrip - default public void onStats(float tps) {} - /** * Called when the statistics for the generate() is available. * @@ -48,5 +37,5 @@ default public void onStats(float tps) {} * @param stats JSON string containing the statistics for the generate() */ @DoNotStrip - default public void onStats(String stats) {} + default void onStats(String stats) {} } diff --git a/extension/android/jni/jni_layer_llama.cpp b/extension/android/jni/jni_layer_llama.cpp index 4a98ccb7c82..83ca1d898ed 100644 --- a/extension/android/jni/jni_layer_llama.cpp +++ b/extension/android/jni/jni_layer_llama.cpp @@ -100,14 +100,6 @@ class ExecuTorchLlmCallbackJni void onStats(const llm::Stats& result) const { static auto cls = ExecuTorchLlmCallbackJni::javaClassStatic(); - static const auto tps_method = cls->getMethod("onStats"); - double eval_time = - (double)(result.inference_end_ms - result.prompt_eval_end_ms); - - float tps = result.num_generated_tokens / eval_time * - result.SCALING_FACTOR_UNITS_PER_SECOND; - tps_method(self(), tps); - static const auto on_stats_method = cls->getMethod)>("onStats"); on_stats_method(