diff --git a/tensorflow/lite/g3doc/convert/metadata.md b/tensorflow/lite/g3doc/convert/metadata.md index 667e12fae6f..a6670f10aba 100644 --- a/tensorflow/lite/g3doc/convert/metadata.md +++ b/tensorflow/lite/g3doc/convert/metadata.md @@ -37,7 +37,7 @@ There are three parts to the model metadata in the [schema](https://github.com/tensorflow/tflite-support/blob/master/tensorflow_lite_support/metadata/metadata_schema.fbs): 1. **Model information** - Overall description of the model as well as items - such as licence terms. See + such as license terms. See [ModelMetadata](https://github.com/tensorflow/tflite-support/blob/4cd0551658b6e26030e0ba7fc4d3127152e0d4ae/tensorflow_lite_support/metadata/metadata_schema.fbs#L640). 2. **Input information** - Description of the inputs and pre-processing required such as normalization. See @@ -82,8 +82,8 @@ is compatible with existing TFLite framework and Interpreter. See [Pack mtadata and associated files into the model](#pack-metadata-and-associated-files-into-the-model) for more details. -The associated file information can be recored in the metadata. Depending on the -file type and where the file is attached to (i.e. `ModelMetadata`, +The associated file information can be recorded in the metadata. Depending on +the file type and where the file is attached to (i.e. `ModelMetadata`, `SubGraphMetadata`, and `TensorMetadata`), [the TensorFlow Lite Android code generator](../inference_with_metadata/codegen.md) may apply corresponding pre/post processing automatically to the object. See @@ -328,7 +328,7 @@ populator.populate() You can pack as many associated files as you want into the model through `load_associated_files`. However, it is required to pack at least those files -documented in the metadata. In this example, packing the lable file is +documented in the metadata. In this example, packing the label file is mandatory. ## Visualize the metadata @@ -375,12 +375,12 @@ does not imply the true incompatibility. When bumping up the MAJOR number, it does not necessarily mean the backwards compatibility is broken. Therefore, we use the [Flatbuffers file identification](https://google.github.io/flatbuffers/md__schemas.html), -[file_identifiler](https://github.com/tensorflow/tflite-support/blob/4cd0551658b6e26030e0ba7fc4d3127152e0d4ae/tensorflow_lite_support/metadata/metadata_schema.fbs#L61), +[file_identifier](https://github.com/tensorflow/tflite-support/blob/4cd0551658b6e26030e0ba7fc4d3127152e0d4ae/tensorflow_lite_support/metadata/metadata_schema.fbs#L61), to denote the true compatibility of the metadata schema. The file identifier is exactly 4 characters long. It is fixed to a certain metadata schema and not subject to change by users. If the backward compatibility of the metadata schema has to be broken for some reason, the file_identifier will bump up, for example, -from “M001” to “M002”. File_identifiler is expected to be changed much less +from “M001” to “M002”. File_identifier is expected to be changed much less frequently than the metadata_version. ### The minimum necessary metadata parser version diff --git a/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_nl_classifier.md b/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_nl_classifier.md index ac8eb1975cc..a9450184123 100644 --- a/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_nl_classifier.md +++ b/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_nl_classifier.md @@ -137,7 +137,7 @@ with your own model and test data. The `BetNLClassifier` API expects a TFLite model with mandatory [TFLite Model Metadata](../../convert/metadata.md). -The Metadata should meet the following requiresments: +The Metadata should meet the following requirements: * input_process_units for Wordpiece/Sentencepiece Tokenizer diff --git a/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_question_answerer.md b/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_question_answerer.md index f5d9aff7b6d..995c1cf7478 100644 --- a/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_question_answerer.md +++ b/tensorflow/lite/g3doc/inference_with_metadata/task_library/bert_question_answerer.md @@ -153,7 +153,7 @@ with your own model and test data. The `BertQuestionAnswerer` API expects a TFLite model with mandatory [TFLite Model Metadata](../../convert/metadata.md). -The Metadata should meet the following requiresments: +The Metadata should meet the following requirements: * `input_process_units` for Wordpiece/Sentencepiece Tokenizer diff --git a/tensorflow/lite/g3doc/inference_with_metadata/task_library/customized_task_api.md b/tensorflow/lite/g3doc/inference_with_metadata/task_library/customized_task_api.md index 68e701d0796..04f0477552e 100644 --- a/tensorflow/lite/g3doc/inference_with_metadata/task_library/customized_task_api.md +++ b/tensorflow/lite/g3doc/inference_with_metadata/task_library/customized_task_api.md @@ -370,7 +370,7 @@ native API to be built first. Here is an example using ObjC [`TFLBertQuestionAnswerer`](https://github.com/tensorflow/tflite-support/blob/master/tensorflow_lite_support/ios/task/text/qa/Sources/TFLBertQuestionAnswerer.h) for [MobileBert](https://tfhub.dev/tensorflow/lite-model/mobilebert/1/default/1) -in Swfit. +in Swift. ```swift static let mobileBertModelPath = "path/to/model.tflite"; @@ -427,7 +427,7 @@ following the steps below: std::unique_ptr _bertQuestionAnswerwer; } - // Initilalize the native API object + // Initialize the native API object + (instancetype)mobilebertQuestionAnswererWithModelPath:(NSString *)modelPath vocabPath:(NSString *)vocabPath { absl::StatusOr> cQuestionAnswerer = diff --git a/tensorflow/lite/g3doc/performance/best_practices.md b/tensorflow/lite/g3doc/performance/best_practices.md index 9df0ace4db0..8b3a2b1fcc8 100644 --- a/tensorflow/lite/g3doc/performance/best_practices.md +++ b/tensorflow/lite/g3doc/performance/best_practices.md @@ -39,7 +39,7 @@ help in understanding performance bottlenecks and which operators dominate the computation time. You can also use -[TensrFlow Lite tracing](measurement.md#trace_tensorflow_lite_internals_in_android) +[TensorFlow Lite tracing](measurement.md#trace_tensorflow_lite_internals_in_android) to profile the model in your Android application, using standard Android system tracing, and to visualize the operator invocations by time with GUI based profiling tools. diff --git a/tensorflow/lite/g3doc/performance/measurement.md b/tensorflow/lite/g3doc/performance/measurement.md index 9d2f7247ac7..2d03fa81ef5 100644 --- a/tensorflow/lite/g3doc/performance/measurement.md +++ b/tensorflow/lite/g3doc/performance/measurement.md @@ -186,7 +186,7 @@ You can get nightly pre-built binaries for this tool as listed below: * [android_aarch64](https://storage.googleapis.com/tensorflow-nightly-public/prod/tensorflow/release/lite/tools/nightly/latest/android_aarch64_benchmark_model_performance_options) * [android_arm](https://storage.googleapis.com/tensorflow-nightly-public/prod/tensorflow/release/lite/tools/nightly/latest/android_arm_benchmark_model_performance_options) -### iOS benchamark app +### iOS benchmark app To run benchmarks on iOS device, you need to build the app from [source](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/tools/benchmark/ios). @@ -421,7 +421,7 @@ internal events. Some examples of events are: * Operator invocation -* Graph modification by deleagate +* Graph modification by delegate * Tensor allocation Among different options for capturing traces, this guide covers the Android diff --git a/tensorflow/lite/kernels/hashtable/README.md b/tensorflow/lite/kernels/hashtable/README.md index 77076a94f7a..26b5e75f638 100644 --- a/tensorflow/lite/kernels/hashtable/README.md +++ b/tensorflow/lite/kernels/hashtable/README.md @@ -45,7 +45,7 @@ Supported mapping type: string → int64, int64 → string tf.lookup.index_table_from_tensor - Supported natively when num_oov_bukcets=0 and dtype=dtypes.string. + Supported natively when num_oov_buckets=0 and dtype=dtypes.string.

For the oov concept, you will need a Flex delegate. @@ -78,8 +78,6 @@ tf.contrib.lookup.MutableDenseHashTable - - ## Python Sample code Here, you can find the Python sample code: diff --git a/tensorflow/lite/micro/CONTRIBUTING.md b/tensorflow/lite/micro/CONTRIBUTING.md index 4227eb42858..78360b913f6 100644 --- a/tensorflow/lite/micro/CONTRIBUTING.md +++ b/tensorflow/lite/micro/CONTRIBUTING.md @@ -109,7 +109,7 @@ fixing a bug needs a bigger architectural change. ### Reference Kernel Implementations Pull requests that port reference kernels from TF Lite Mobile to TF Lite Micro -are welcome once we have enouch context from the contributor on why the +are welcome once we have enough context from the contributor on why the additional kernel is needed. 1. Please create a diff --git a/tensorflow/lite/micro/docs/memory_management.md b/tensorflow/lite/micro/docs/memory_management.md index 36b7228fe08..7e7f05b46eb 100644 --- a/tensorflow/lite/micro/docs/memory_management.md +++ b/tensorflow/lite/micro/docs/memory_management.md @@ -117,7 +117,7 @@ detailed allocation logging: #include "recording_micro_interpreter.h" // Simply change the class name from 'MicroInterpreter' to 'RecordingMicroInterpreter': -tflite::RecoridngMicroInterpreter interpreter( +tflite::RecordingMicroInterpreter interpreter( tflite::GetModel(my_model_data), ops_resolver, tensor_arena, tensor_arena_size, error_reporter); diff --git a/tensorflow/lite/micro/examples/hello_world/README.md b/tensorflow/lite/micro/examples/hello_world/README.md index 4253b470759..4e883c473b2 100644 --- a/tensorflow/lite/micro/examples/hello_world/README.md +++ b/tensorflow/lite/micro/examples/hello_world/README.md @@ -168,10 +168,8 @@ make -f tensorflow/lite/micro/tools/make/Makefile TARGET=esp generate_hello_worl ### Building the example -Go the the example project directory -``` -cd tensorflow/lite/micro/tools/make/gen/esp_xtensa-esp32/prj/hello_world/esp-idf -``` +Go to the example project directory `cd +tensorflow/lite/micro/tools/make/gen/esp_xtensa-esp32/prj/hello_world/esp-idf` Then build with `idf.py` ``` @@ -201,7 +199,7 @@ idf.py --port /dev/ttyUSB0 flash monitor The following instructions will help you build and deploy this example to [HIMAX WE1 EVB](https://github.com/HimaxWiseEyePlus/bsp_tflu/tree/master/HIMAX_WE1_EVB_board_brief) -board. To undstand more about using this board, please check +board. To understand more about using this board, please check [HIMAX WE1 EVB user guide](https://github.com/HimaxWiseEyePlus/bsp_tflu/tree/master/HIMAX_WE1_EVB_user_guide). ### Initial Setup diff --git a/tensorflow/lite/micro/examples/magic_wand/README.md b/tensorflow/lite/micro/examples/magic_wand/README.md index fea1eda4d6d..d9f0c754e5f 100644 --- a/tensorflow/lite/micro/examples/magic_wand/README.md +++ b/tensorflow/lite/micro/examples/magic_wand/README.md @@ -145,7 +145,7 @@ SLOPE: The following instructions will help you build and deploy this example to [HIMAX WE1 EVB](https://github.com/HimaxWiseEyePlus/bsp_tflu/tree/master/HIMAX_WE1_EVB_board_brief) -board. To undstand more about using this board, please check +board. To understand more about using this board, please check [HIMAX WE1 EVB user guide](https://github.com/HimaxWiseEyePlus/bsp_tflu/tree/master/HIMAX_WE1_EVB_user_guide). ### Initial Setup @@ -246,7 +246,7 @@ Following the Steps to run magic wand example at HIMAX WE1 EVB platform. After these steps, press reset button on the HIMAX WE1 EVB, you will see application output in the serial terminal. Perform following gestures -`'Wing'`,`'Ring'`,`'Slope'` and you can see the otuput in serial terminal. +`'Wing'`,`'Ring'`,`'Slope'` and you can see the output in serial terminal. ``` WING: diff --git a/tensorflow/lite/micro/examples/micro_speech/README.md b/tensorflow/lite/micro/examples/micro_speech/README.md index 7d4c060b6f4..53d313cd221 100644 --- a/tensorflow/lite/micro/examples/micro_speech/README.md +++ b/tensorflow/lite/micro/examples/micro_speech/README.md @@ -69,7 +69,7 @@ generate_micro_speech_mock_make_project ``` Note that `TAGS=reduce_codesize` applies example specific changes of code to -reduce total size of application. It can be ommited. +reduce total size of application. It can be omitted. ### Build and Run Example @@ -220,7 +220,7 @@ generate_micro_speech_esp_project` ### Building the example -Go the the example project directory `cd +Go to the example project directory `cd tensorflow/lite/micro/tools/make/gen/esp_xtensa-esp32/prj/micro_speech/esp-idf` Then build with `idf.py` `idf.py build` @@ -688,9 +688,9 @@ The following instructions will help you build and deploy the sample to the 5. Build the project: /tensorflow/lite/micro/tools/make/gen/ceva_bx1/prj/micro_speech/make$ make 6. This should build the project and create a file called micro_speech.elf. -7. The supplied configuarion reads input from a files and expects a file called - input.wav (easily changed in audio_provider.cc) to be placed in the same - directory of the .elf file +7. The supplied configuration reads input from a files and expects a file + called input.wav (easily changed in audio_provider.cc) to be placed in the + same directory of the .elf file 8. We used Google's speech command dataset: V0.0.2: http://download.tensorflow.org/data/speech_commands_v0.02.tar.gz V0.0.1: http://download.tensorflow.org/data/speech_commands_v0.01.tar.gz diff --git a/tensorflow/lite/micro/examples/person_detection/README.md b/tensorflow/lite/micro/examples/person_detection/README.md index 3069edf810b..07c48d557b6 100644 --- a/tensorflow/lite/micro/examples/person_detection/README.md +++ b/tensorflow/lite/micro/examples/person_detection/README.md @@ -308,7 +308,7 @@ generate_person_detection_esp_project` ### Building the example -Go the the example project directory `cd +Go to the example project directory `cd tensorflow/lite/micro/tools/make/gen/esp_xtensa-esp32/prj/person_detection/esp-idf` As the `person_detection` example requires an external component `esp32-camera` diff --git a/tensorflow/lite/micro/examples/person_detection/training_a_model.md b/tensorflow/lite/micro/examples/person_detection/training_a_model.md index 24067fc188f..f6a20eec9c7 100644 --- a/tensorflow/lite/micro/examples/person_detection/training_a_model.md +++ b/tensorflow/lite/micro/examples/person_detection/training_a_model.md @@ -140,41 +140,41 @@ This will take a couple of days on a single-GPU v100 instance to complete all one-million steps, but you should be able to get a fairly accurate model after a few hours if you want to experiment early. -- The checkpoints and summaries will the saved in the folder given in the -`--train_dir` argument, so that's where you'll have to look for the results. -- The `--dataset_dir` parameter should match the one where you saved the -TFRecords from the Visual Wake Words build script. -- The architecture we'll be using is defined by the `--model_name` argument. -The 'mobilenet_v1' prefix tells the script to use the first version of -MobileNet. We did experiment with later versions, but these used more RAM for -their intermediate activation buffers, so for now we kept with the original. -The '025' is the depth multiplier to use, which mostly affects the number of -weight parameters, this low setting ensures the model fits within 250KB of -Flash. -- `--preprocessing_name` controls how input images are modified before they're -fed into the model. The 'mobilenet_v1' version shrinks the width and height of -the images to the size given in `--train_image_size` (in our case 96 pixels -since we want to reduce the compute requirements). It also scales the pixel -values from 0 to 255 integers into -1.0 to +1.0 floating point numbers (though -we'll be quantizing those after training). -- The -[HM01B0](https://himax.com.tw/products/cmos-image-sensor/image-sensors/hm01b0/) -camera we're using on the SparkFun Edge board is monochrome, so to get the best -results we have to train our model on black and white images too, so we pass in -the `--input_grayscale` flag to enable that preprocessing. -- The `--learning_rate`, `--label_smoothing`, `--learning_rate_decay_factor`, -`--num_epochs_per_decay`, `--moving_average_decay` and `--batch_size` are all -parameters that control how weights are updated during the the training -process. Training deep networks is still a bit of a dark art, so these exact -values we found through experimentation for this particular model. You can try -tweaking them to speed up training or gain a small boost in accuracy, but we -can't give much guidance for how to make those changes, and it's easy to get -combinations where the training accuracy never converges. -- The `--max_number_of_steps` defines how long the training should continue. -There's no good way to figure out this threshold in advance, you have to -experiment to tell when the accuracy of the model is no longer improving to -tell when to cut it off. In our case we default to a million steps, since with -this particular model we know that's a good point to stop. +- The checkpoints and summaries will the saved in the folder given in the + `--train_dir` argument, so that's where you'll have to look for the results. +- The `--dataset_dir` parameter should match the one where you saved the + TFRecords from the Visual Wake Words build script. +- The architecture we'll be using is defined by the `--model_name` argument. + The 'mobilenet_v1' prefix tells the script to use the first version of + MobileNet. We did experiment with later versions, but these used more RAM + for their intermediate activation buffers, so for now we kept with the + original. The '025' is the depth multiplier to use, which mostly affects the + number of weight parameters, this low setting ensures the model fits within + 250KB of Flash. +- `--preprocessing_name` controls how input images are modified before they're + fed into the model. The 'mobilenet_v1' version shrinks the width and height + of the images to the size given in `--train_image_size` (in our case 96 + pixels since we want to reduce the compute requirements). It also scales the + pixel values from 0 to 255 integers into -1.0 to +1.0 floating point numbers + (though we'll be quantizing those after training). +- The + [HM01B0](https://himax.com.tw/products/cmos-image-sensor/image-sensors/hm01b0/) + camera we're using on the SparkFun Edge board is monochrome, so to get the + best results we have to train our model on black and white images too, so we + pass in the `--input_grayscale` flag to enable that preprocessing. +- The `--learning_rate`, `--label_smoothing`, `--learning_rate_decay_factor`, + `--num_epochs_per_decay`, `--moving_average_decay` and `--batch_size` are + all parameters that control how weights are updated during the training + process. Training deep networks is still a bit of a dark art, so these exact + values we found through experimentation for this particular model. You can + try tweaking them to speed up training or gain a small boost in accuracy, + but we can't give much guidance for how to make those changes, and it's easy + to get combinations where the training accuracy never converges. +- The `--max_number_of_steps` defines how long the training should continue. + There's no good way to figure out this threshold in advance, you have to + experiment to tell when the accuracy of the model is no longer improving to + tell when to cut it off. In our case we default to a million steps, since + with this particular model we know that's a good point to stop. Once you start the script, you should see output that looks something like this: diff --git a/tensorflow/lite/micro/examples/person_detection_experimental/README.md b/tensorflow/lite/micro/examples/person_detection_experimental/README.md index f5f1d64d2ab..c628cfbc9ce 100644 --- a/tensorflow/lite/micro/examples/person_detection_experimental/README.md +++ b/tensorflow/lite/micro/examples/person_detection_experimental/README.md @@ -56,7 +56,7 @@ generate_person_detection_int8_make_project ``` Note that `TAGS=reduce_codesize` applies example specific changes of code to -reduce total size of application. It can be ommited. +reduce total size of application. It can be omitted. ### Build and Run Example @@ -275,7 +275,7 @@ greyscale, and 18.6 seconds to run inference. The following instructions will help you build and deploy this example to [HIMAX WE1 EVB](https://github.com/HimaxWiseEyePlus/bsp_tflu/tree/master/HIMAX_WE1_EVB_board_brief) -board. To undstand more about using this board, please check +board. To understand more about using this board, please check [HIMAX WE1 EVB user guide](https://github.com/HimaxWiseEyePlus/bsp_tflu/tree/master/HIMAX_WE1_EVB_user_guide). ### Initial Setup diff --git a/tensorflow/lite/micro/examples/person_detection_experimental/training_a_model.md b/tensorflow/lite/micro/examples/person_detection_experimental/training_a_model.md index beb743a2923..81ac39bbf14 100644 --- a/tensorflow/lite/micro/examples/person_detection_experimental/training_a_model.md +++ b/tensorflow/lite/micro/examples/person_detection_experimental/training_a_model.md @@ -140,41 +140,41 @@ This will take a couple of days on a single-GPU v100 instance to complete all one-million steps, but you should be able to get a fairly accurate model after a few hours if you want to experiment early. -- The checkpoints and summaries will the saved in the folder given in the -`--train_dir` argument, so that's where you'll have to look for the results. -- The `--dataset_dir` parameter should match the one where you saved the -TFRecords from the Visual Wake Words build script. -- The architecture we'll be using is defined by the `--model_name` argument. -The 'mobilenet_v1' prefix tells the script to use the first version of -MobileNet. We did experiment with later versions, but these used more RAM for -their intermediate activation buffers, so for now we kept with the original. -The '025' is the depth multiplier to use, which mostly affects the number of -weight parameters, this low setting ensures the model fits within 250KB of -Flash. -- `--preprocessing_name` controls how input images are modified before they're -fed into the model. The 'mobilenet_v1' version shrinks the width and height of -the images to the size given in `--train_image_size` (in our case 96 pixels -since we want to reduce the compute requirements). It also scales the pixel -values from 0 to 255 integers into -1.0 to +1.0 floating point numbers (though -we'll be quantizing those after training). -- The -[HM01B0](https://himax.com.tw/products/cmos-image-sensor/image-sensors/hm01b0/) -camera we're using on the SparkFun Edge board is monochrome, so to get the best -results we have to train our model on black and white images too, so we pass in -the `--input_grayscale` flag to enable that preprocessing. -- The `--learning_rate`, `--label_smoothing`, `--learning_rate_decay_factor`, -`--num_epochs_per_decay`, `--moving_average_decay` and `--batch_size` are all -parameters that control how weights are updated during the the training -process. Training deep networks is still a bit of a dark art, so these exact -values we found through experimentation for this particular model. You can try -tweaking them to speed up training or gain a small boost in accuracy, but we -can't give much guidance for how to make those changes, and it's easy to get -combinations where the training accuracy never converges. -- The `--max_number_of_steps` defines how long the training should continue. -There's no good way to figure out this threshold in advance, you have to -experiment to tell when the accuracy of the model is no longer improving to -tell when to cut it off. In our case we default to a million steps, since with -this particular model we know that's a good point to stop. +- The checkpoints and summaries will the saved in the folder given in the + `--train_dir` argument, so that's where you'll have to look for the results. +- The `--dataset_dir` parameter should match the one where you saved the + TFRecords from the Visual Wake Words build script. +- The architecture we'll be using is defined by the `--model_name` argument. + The 'mobilenet_v1' prefix tells the script to use the first version of + MobileNet. We did experiment with later versions, but these used more RAM + for their intermediate activation buffers, so for now we kept with the + original. The '025' is the depth multiplier to use, which mostly affects the + number of weight parameters, this low setting ensures the model fits within + 250KB of Flash. +- `--preprocessing_name` controls how input images are modified before they're + fed into the model. The 'mobilenet_v1' version shrinks the width and height + of the images to the size given in `--train_image_size` (in our case 96 + pixels since we want to reduce the compute requirements). It also scales the + pixel values from 0 to 255 integers into -1.0 to +1.0 floating point numbers + (though we'll be quantizing those after training). +- The + [HM01B0](https://himax.com.tw/products/cmos-image-sensor/image-sensors/hm01b0/) + camera we're using on the SparkFun Edge board is monochrome, so to get the + best results we have to train our model on black and white images too, so we + pass in the `--input_grayscale` flag to enable that preprocessing. +- The `--learning_rate`, `--label_smoothing`, `--learning_rate_decay_factor`, + `--num_epochs_per_decay`, `--moving_average_decay` and `--batch_size` are + all parameters that control how weights are updated during the training + process. Training deep networks is still a bit of a dark art, so these exact + values we found through experimentation for this particular model. You can + try tweaking them to speed up training or gain a small boost in accuracy, + but we can't give much guidance for how to make those changes, and it's easy + to get combinations where the training accuracy never converges. +- The `--max_number_of_steps` defines how long the training should continue. + There's no good way to figure out this threshold in advance, you have to + experiment to tell when the accuracy of the model is no longer improving to + tell when to cut it off. In our case we default to a million steps, since + with this particular model we know that's a good point to stop. Once you start the script, you should see output that looks something like this: diff --git a/tensorflow/lite/micro/kernels/vexriscv/utils/README.md b/tensorflow/lite/micro/kernels/vexriscv/utils/README.md index 48c1e52e133..16f56613aae 100644 --- a/tensorflow/lite/micro/kernels/vexriscv/utils/README.md +++ b/tensorflow/lite/micro/kernels/vexriscv/utils/README.md @@ -116,7 +116,7 @@ root ``` # Each stack* object contains the following information stack* -|-- counts: 5 # Number of occurence with the exact same call stack +|-- counts: 5 # Number of occurrences with the exact same call stack |-- [list of functions in the call stack] ``` @@ -130,4 +130,4 @@ The regular expression used in this script is configured with a standard * `base`: Base regular expression to clean up the log, this is set to clean up the ANSI color codes in GDB * `custom`: A series of other regular expressions (the script will run them in - order) to extract the information from the the log + order) to extract the information from the log diff --git a/tensorflow/lite/micro/tools/make/targets/arc/README.md b/tensorflow/lite/micro/tools/make/targets/arc/README.md index 66f41589115..7f61025b3ad 100644 --- a/tensorflow/lite/micro/tools/make/targets/arc/README.md +++ b/tensorflow/lite/micro/tools/make/targets/arc/README.md @@ -70,7 +70,7 @@ section for instructions on toolchain installation. If you wish to use the MetaWare Debugger to debug your code, you need to also install the Digilent Adept 2 software, which includes the necessary drivers for -connecting to the targets. This is available from oficial +connecting to the targets. This is available from official [Digilent site](https://reference.digilentinc.com/reference/software/adept/start?redirect=1#software_downloads). You should install the “System” component, and Runtime. Utilities and SDK are NOT required. diff --git a/tensorflow/lite/tools/cmake/README.md b/tensorflow/lite/tools/cmake/README.md index 159ed6d3343..c48685a8c1e 100644 --- a/tensorflow/lite/tools/cmake/README.md +++ b/tensorflow/lite/tools/cmake/README.md @@ -14,14 +14,15 @@ Host Tools (i.e analysis tools etc.) #### Step 1. Install CMake tool -It requires CMake 3.16 or higher. On Ubunutu, you can simply run the following +It requires CMake 3.16 or higher. On Ubuntu, you can simply run the following command. ```sh sudo apt-get install cmake ``` -Or you can follow [the offcial cmake installation guide](https://cmake.org/install/) +Or you can follow +[the official cmake installation guide](https://cmake.org/install/) #### Step 2. Clone TensorFlow repository diff --git a/tensorflow/lite/tools/evaluation/tasks/inference_diff/README.md b/tensorflow/lite/tools/evaluation/tasks/inference_diff/README.md index 64606ee19df..8e22328ff01 100644 --- a/tensorflow/lite/tools/evaluation/tasks/inference_diff/README.md +++ b/tensorflow/lite/tools/evaluation/tasks/inference_diff/README.md @@ -11,7 +11,7 @@ latency & output-value deviation) in two settings: To do so, the tool generates random gaussian data and passes it through two TFLite Interpreters - one running single-threaded CPU kernels and the other -parametrized by the user's arguments. +parameterized by the user's arguments. It measures the latency of both, as well as the absolute difference between the output tensors from each Interpreter, on a per-element basis.