From 94d4e8673e9f8e23794d8e1b9b16b97631c37a55 Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Sun, 24 Nov 2019 16:01:23 -0800 Subject: [PATCH 1/9] Update debug log to support redirection --- .../experimental/micro/openmvcam/debug_log.cc | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tensorflow/lite/experimental/micro/openmvcam/debug_log.cc diff --git a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc new file mode 100644 index 00000000000..d0499ab3612 --- /dev/null +++ b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc @@ -0,0 +1,35 @@ +/* Copyright 2018 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ + +#include <stdio.h> +#include <string.h> +#include "tensorflow/lite/experimental/micro/debug_log.h" + +// These are set by openmv py_tf.c code to redirect printing to an error message +// buffer... + +static char *py_tf_putchar_buffer = NULL; +static size_t py_tf_putchar_buffer_len = 0; + +extern "C" void DebugLog(const char* s) { + for (size_t i = 0, j = strlen(s); i < j; i++) { + if (py_tf_putchar_buffer_len) { + *py_tf_putchar_buffer++ = s[i]; + py_tf_putchar_buffer_len--; + } else { + putchar(s[i]); + } + } +} From 2df3cce0f34e0fb5943400a2c549d64310c1a8be Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Fri, 3 May 2019 23:15:27 -0700 Subject: [PATCH 2/9] Change printf to puts --- tensorflow/lite/experimental/micro/openmvcam/debug_log.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc index d0499ab3612..c911b5c7b08 100644 --- a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc +++ b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc @@ -24,6 +24,7 @@ static char *py_tf_putchar_buffer = NULL; static size_t py_tf_putchar_buffer_len = 0; extern "C" void DebugLog(const char* s) { +<<<<<<< HEAD for (size_t i = 0, j = strlen(s); i < j; i++) { if (py_tf_putchar_buffer_len) { *py_tf_putchar_buffer++ = s[i]; @@ -32,4 +33,7 @@ extern "C" void DebugLog(const char* s) { putchar(s[i]); } } +======= + puts(s); +>>>>>>> Change printf to puts } From cadc0e18991d7e6f1fc276bfb8d39a3f587a7697 Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Mon, 14 Oct 2019 21:31:52 -0700 Subject: [PATCH 3/9] Fix delete operator being included --- tensorflow/lite/micro/memory_planner/greedy_memory_planner.h | 1 + tensorflow/lite/micro/memory_planner/linear_memory_planner.h | 1 + 2 files changed, 2 insertions(+) diff --git a/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h b/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h index f2c77ed94f3..29ae39c9bf1 100644 --- a/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h +++ b/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h @@ -87,6 +87,7 @@ class GreedyMemoryPlanner : public MemoryPlanner { }; private: + TF_LITE_REMOVE_VIRTUAL_DELETE // Whether a buffer is active in a given time range. bool DoesEntryOverlapInTime(const ListEntry* entry, const int first_time_used, const int last_time_used) const; diff --git a/tensorflow/lite/micro/memory_planner/linear_memory_planner.h b/tensorflow/lite/micro/memory_planner/linear_memory_planner.h index 4d77e778237..b04b2c96788 100644 --- a/tensorflow/lite/micro/memory_planner/linear_memory_planner.h +++ b/tensorflow/lite/micro/memory_planner/linear_memory_planner.h @@ -37,6 +37,7 @@ class LinearMemoryPlanner : public MemoryPlanner { int buffer_index, int* offset) override; private: + TF_LITE_REMOVE_VIRTUAL_DELETE static constexpr int kMaxBufferCount = 1024; size_t buffer_offsets_[kMaxBufferCount]; int current_buffer_count_; From 9903797166938a3f30e9cfb73d669b969f990eed Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Sun, 24 Nov 2019 16:05:36 -0800 Subject: [PATCH 4/9] Update debug log --- tensorflow/lite/experimental/micro/openmvcam/debug_log.cc | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc index c911b5c7b08..d0499ab3612 100644 --- a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc +++ b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc @@ -24,7 +24,6 @@ static char *py_tf_putchar_buffer = NULL; static size_t py_tf_putchar_buffer_len = 0; extern "C" void DebugLog(const char* s) { -<<<<<<< HEAD for (size_t i = 0, j = strlen(s); i < j; i++) { if (py_tf_putchar_buffer_len) { *py_tf_putchar_buffer++ = s[i]; @@ -33,7 +32,4 @@ extern "C" void DebugLog(const char* s) { putchar(s[i]); } } -======= - puts(s); ->>>>>>> Change printf to puts } From 654854703724eb9428b0b97c044e36200cf63233 Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Sun, 24 Nov 2019 16:41:49 -0800 Subject: [PATCH 5/9] Remove static --- tensorflow/lite/experimental/micro/openmvcam/debug_log.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc index d0499ab3612..0caab617c8b 100644 --- a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc +++ b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc @@ -20,8 +20,8 @@ limitations under the License. // These are set by openmv py_tf.c code to redirect printing to an error message // buffer... -static char *py_tf_putchar_buffer = NULL; -static size_t py_tf_putchar_buffer_len = 0; +char *py_tf_putchar_buffer = NULL; +size_t py_tf_putchar_buffer_len = 0; extern "C" void DebugLog(const char* s) { for (size_t i = 0, j = strlen(s); i < j; i++) { From a1dd6f9580caa655d9e5af88cfd0581f87843564 Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Thu, 19 Dec 2019 09:56:33 -0800 Subject: [PATCH 6/9] Add openmv cam --- tensorflow/lite/micro/openmvcam/debug_log.cc | 35 ++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 tensorflow/lite/micro/openmvcam/debug_log.cc diff --git a/tensorflow/lite/micro/openmvcam/debug_log.cc b/tensorflow/lite/micro/openmvcam/debug_log.cc new file mode 100644 index 00000000000..0caab617c8b --- /dev/null +++ b/tensorflow/lite/micro/openmvcam/debug_log.cc @@ -0,0 +1,35 @@ +/* Copyright 2018 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ + +#include <stdio.h> +#include <string.h> +#include "tensorflow/lite/experimental/micro/debug_log.h" + +// These are set by openmv py_tf.c code to redirect printing to an error message +// buffer... + +char *py_tf_putchar_buffer = NULL; +size_t py_tf_putchar_buffer_len = 0; + +extern "C" void DebugLog(const char* s) { + for (size_t i = 0, j = strlen(s); i < j; i++) { + if (py_tf_putchar_buffer_len) { + *py_tf_putchar_buffer++ = s[i]; + py_tf_putchar_buffer_len--; + } else { + putchar(s[i]); + } + } +} From 66f03f534fcecafcc030d7d3d9c2551735f662fc Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Thu, 19 Dec 2019 09:56:54 -0800 Subject: [PATCH 7/9] Add openmv cam --- .../experimental/micro/openmvcam/debug_log.cc | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 tensorflow/lite/experimental/micro/openmvcam/debug_log.cc diff --git a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc b/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc deleted file mode 100644 index 0caab617c8b..00000000000 --- a/tensorflow/lite/experimental/micro/openmvcam/debug_log.cc +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 2018 The TensorFlow Authors. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -==============================================================================*/ - -#include <stdio.h> -#include <string.h> -#include "tensorflow/lite/experimental/micro/debug_log.h" - -// These are set by openmv py_tf.c code to redirect printing to an error message -// buffer... - -char *py_tf_putchar_buffer = NULL; -size_t py_tf_putchar_buffer_len = 0; - -extern "C" void DebugLog(const char* s) { - for (size_t i = 0, j = strlen(s); i < j; i++) { - if (py_tf_putchar_buffer_len) { - *py_tf_putchar_buffer++ = s[i]; - py_tf_putchar_buffer_len--; - } else { - putchar(s[i]); - } - } -} From 520533a52bd067a5c785e5e021981eb96eddf6dc Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Thu, 19 Dec 2019 10:31:56 -0800 Subject: [PATCH 8/9] Fix debug path --- tensorflow/lite/micro/openmvcam/debug_log.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tensorflow/lite/micro/openmvcam/debug_log.cc b/tensorflow/lite/micro/openmvcam/debug_log.cc index 0caab617c8b..345a2c20226 100644 --- a/tensorflow/lite/micro/openmvcam/debug_log.cc +++ b/tensorflow/lite/micro/openmvcam/debug_log.cc @@ -15,7 +15,7 @@ limitations under the License. #include <stdio.h> #include <string.h> -#include "tensorflow/lite/experimental/micro/debug_log.h" +#include "tensorflow/lite/micro/debug_log.h" // These are set by openmv py_tf.c code to redirect printing to an error message // buffer... From b01309c36f90e7cbbca7d7b7cc2d176eed70cc87 Mon Sep 17 00:00:00 2001 From: "Kwabena W. Agyeman" <kwagyeman@live.com> Date: Thu, 20 Feb 2020 22:24:48 -0800 Subject: [PATCH 9/9] Remove adding delete operators --- tensorflow/lite/micro/memory_planner/greedy_memory_planner.h | 1 - tensorflow/lite/micro/memory_planner/linear_memory_planner.h | 1 - 2 files changed, 2 deletions(-) diff --git a/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h b/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h index 29ae39c9bf1..f2c77ed94f3 100644 --- a/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h +++ b/tensorflow/lite/micro/memory_planner/greedy_memory_planner.h @@ -87,7 +87,6 @@ class GreedyMemoryPlanner : public MemoryPlanner { }; private: - TF_LITE_REMOVE_VIRTUAL_DELETE // Whether a buffer is active in a given time range. bool DoesEntryOverlapInTime(const ListEntry* entry, const int first_time_used, const int last_time_used) const; diff --git a/tensorflow/lite/micro/memory_planner/linear_memory_planner.h b/tensorflow/lite/micro/memory_planner/linear_memory_planner.h index b04b2c96788..4d77e778237 100644 --- a/tensorflow/lite/micro/memory_planner/linear_memory_planner.h +++ b/tensorflow/lite/micro/memory_planner/linear_memory_planner.h @@ -37,7 +37,6 @@ class LinearMemoryPlanner : public MemoryPlanner { int buffer_index, int* offset) override; private: - TF_LITE_REMOVE_VIRTUAL_DELETE static constexpr int kMaxBufferCount = 1024; size_t buffer_offsets_[kMaxBufferCount]; int current_buffer_count_;