react-native-executorch 0.5.1 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +1 -0
- package/android/src/main/cpp/CMakeLists.txt +25 -0
- package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +1 -13
- package/common/rnexecutorch/RnExecutorchInstaller.cpp +52 -18
- package/common/rnexecutorch/RnExecutorchInstaller.h +0 -25
- package/common/rnexecutorch/TokenizerModule.cpp +1 -1
- package/common/rnexecutorch/TokenizerModule.h +4 -1
- package/common/rnexecutorch/data_processing/FileUtils.h +2 -2
- package/common/rnexecutorch/data_processing/ImageProcessing.cpp +5 -5
- package/common/rnexecutorch/data_processing/ImageProcessing.h +2 -2
- package/common/rnexecutorch/data_processing/Numerical.cpp +13 -0
- package/common/rnexecutorch/host_objects/JsiConversions.h +43 -62
- package/common/rnexecutorch/host_objects/ModelHostObject.h +43 -24
- package/common/rnexecutorch/metaprogramming/ConstructorHelpers.h +8 -6
- package/common/rnexecutorch/metaprogramming/FunctionHelpers.h +1 -1
- package/common/rnexecutorch/models/BaseModel.cpp +2 -2
- package/common/rnexecutorch/models/BaseModel.h +5 -0
- package/common/rnexecutorch/models/EncoderDecoderBase.cpp +2 -2
- package/common/rnexecutorch/models/EncoderDecoderBase.h +2 -2
- package/common/rnexecutorch/models/classification/Classification.cpp +6 -6
- package/common/rnexecutorch/models/classification/Classification.h +5 -0
- package/common/rnexecutorch/models/classification/Constants.h +3 -3
- package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +2 -2
- package/common/rnexecutorch/models/embeddings/BaseEmbeddings.h +2 -2
- package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.cpp +3 -3
- package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.h +5 -0
- package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +2 -2
- package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +6 -1
- package/common/rnexecutorch/models/image_segmentation/Constants.h +3 -3
- package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +6 -5
- package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.h +8 -1
- package/common/rnexecutorch/models/llm/LLM.cpp +58 -0
- package/common/rnexecutorch/models/llm/LLM.h +35 -0
- package/common/rnexecutorch/models/object_detection/Constants.h +3 -3
- package/common/rnexecutorch/models/object_detection/ObjectDetection.cpp +8 -8
- package/common/rnexecutorch/models/object_detection/ObjectDetection.h +11 -5
- package/common/rnexecutorch/models/object_detection/Types.h +13 -0
- package/common/rnexecutorch/models/object_detection/Utils.cpp +13 -11
- package/common/rnexecutorch/models/object_detection/Utils.h +7 -13
- package/common/rnexecutorch/models/ocr/CTCLabelConverter.cpp +2 -2
- package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +2 -2
- package/common/rnexecutorch/models/ocr/Constants.h +33 -26
- package/common/rnexecutorch/models/ocr/Detector.cpp +20 -22
- package/common/rnexecutorch/models/ocr/Detector.h +4 -4
- package/common/rnexecutorch/models/ocr/OCR.cpp +9 -8
- package/common/rnexecutorch/models/ocr/OCR.h +11 -3
- package/common/rnexecutorch/models/ocr/RecognitionHandler.cpp +20 -19
- package/common/rnexecutorch/models/ocr/RecognitionHandler.h +9 -7
- package/common/rnexecutorch/models/ocr/Recognizer.cpp +7 -7
- package/common/rnexecutorch/models/ocr/Recognizer.h +2 -2
- package/common/rnexecutorch/models/ocr/Types.h +4 -6
- package/common/rnexecutorch/models/ocr/{DetectorUtils.cpp → utils/DetectorUtils.cpp} +70 -63
- package/common/rnexecutorch/models/ocr/{DetectorUtils.h → utils/DetectorUtils.h} +12 -11
- package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.cpp → utils/RecognitionHandlerUtils.cpp} +14 -11
- package/common/rnexecutorch/models/ocr/{RecognitionHandlerUtils.h → utils/RecognitionHandlerUtils.h} +5 -5
- package/common/rnexecutorch/models/ocr/{RecognizerUtils.cpp → utils/RecognizerUtils.cpp} +28 -26
- package/common/rnexecutorch/models/ocr/{RecognizerUtils.h → utils/RecognizerUtils.h} +15 -14
- package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +2 -2
- package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +9 -2
- package/common/rnexecutorch/models/speech_to_text/SpeechToTextStrategy.h +2 -2
- package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.cpp +2 -2
- package/common/rnexecutorch/models/speech_to_text/WhisperStrategy.h +2 -2
- package/common/rnexecutorch/models/style_transfer/StyleTransfer.cpp +5 -5
- package/common/rnexecutorch/models/style_transfer/StyleTransfer.h +6 -0
- package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.cpp +23 -22
- package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.h +4 -4
- package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.cpp +34 -34
- package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.h +27 -20
- package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.cpp +3 -2
- package/{third-party/ios/ExecutorchLib/ExecutorchLib/sampler → common/runner}/sampler.h +3 -2
- package/ios/libs/executorch/libbackend_coreml_ios.a +0 -0
- package/ios/libs/executorch/libbackend_coreml_simulator.a +0 -0
- package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64 → ios/libs/executorch}/libbackend_mps_ios.a +0 -0
- package/{third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/ios-arm64-simulator → ios/libs/executorch}/libbackend_mps_simulator.a +0 -0
- package/ios/libs/executorch/libbackend_xnnpack_ios.a +0 -0
- package/ios/libs/executorch/libbackend_xnnpack_simulator.a +0 -0
- package/ios/libs/executorch/libexecutorch_ios.a +0 -0
- package/ios/libs/executorch/libexecutorch_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_custom_ios.a +0 -0
- package/ios/libs/executorch/libkernels_custom_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_optimized_ios.a +0 -0
- package/ios/libs/executorch/libkernels_optimized_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_portable_ios.a +0 -0
- package/ios/libs/executorch/libkernels_portable_simulator.a +0 -0
- package/ios/libs/executorch/libkernels_quantized_ios.a +0 -0
- package/ios/libs/executorch/libkernels_quantized_simulator.a +0 -0
- package/ios/libs/tokenizers-cpp/physical-arm64-release/libsentencepiece.a +0 -0
- package/ios/{ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/physical-arm64-release/libtokenizers_c.a} +0 -0
- package/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_cpp.a +0 -0
- package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libsentencepiece.a +0 -0
- package/ios/{ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib → libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_c.a} +0 -0
- package/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_cpp.a +0 -0
- package/lib/Error.js +53 -0
- package/lib/ThreadPool.d.ts +10 -0
- package/lib/ThreadPool.js +28 -0
- package/lib/common/Logger.d.ts +8 -0
- package/lib/common/Logger.js +19 -0
- package/lib/constants/directories.js +2 -0
- package/lib/constants/llmDefaults.d.ts +6 -0
- package/lib/constants/llmDefaults.js +16 -0
- package/lib/constants/modelUrls.d.ts +223 -0
- package/lib/constants/modelUrls.js +322 -0
- package/lib/constants/ocr/models.d.ts +882 -0
- package/lib/constants/ocr/models.js +182 -0
- package/lib/constants/ocr/symbols.js +139 -0
- package/lib/constants/sttDefaults.d.ts +28 -0
- package/lib/constants/sttDefaults.js +68 -0
- package/lib/controllers/LLMController.d.ts +47 -0
- package/lib/controllers/LLMController.js +213 -0
- package/lib/controllers/OCRController.js +67 -0
- package/lib/controllers/SpeechToTextController.d.ts +56 -0
- package/lib/controllers/SpeechToTextController.js +349 -0
- package/lib/controllers/VerticalOCRController.js +70 -0
- package/lib/hooks/computer_vision/useClassification.d.ts +15 -0
- package/lib/hooks/computer_vision/useClassification.js +7 -0
- package/lib/hooks/computer_vision/useImageEmbeddings.d.ts +15 -0
- package/lib/hooks/computer_vision/useImageEmbeddings.js +7 -0
- package/lib/hooks/computer_vision/useImageSegmentation.d.ts +38 -0
- package/lib/hooks/computer_vision/useImageSegmentation.js +7 -0
- package/lib/hooks/computer_vision/useOCR.d.ts +20 -0
- package/lib/hooks/computer_vision/useOCR.js +41 -0
- package/lib/hooks/computer_vision/useObjectDetection.d.ts +15 -0
- package/lib/hooks/computer_vision/useObjectDetection.js +7 -0
- package/lib/hooks/computer_vision/useStyleTransfer.d.ts +15 -0
- package/lib/hooks/computer_vision/useStyleTransfer.js +7 -0
- package/lib/hooks/computer_vision/useVerticalOCR.d.ts +21 -0
- package/lib/hooks/computer_vision/useVerticalOCR.js +43 -0
- package/lib/hooks/general/useExecutorchModule.d.ts +13 -0
- package/lib/hooks/general/useExecutorchModule.js +7 -0
- package/lib/hooks/natural_language_processing/useLLM.d.ts +10 -0
- package/lib/hooks/natural_language_processing/useLLM.js +78 -0
- package/lib/hooks/natural_language_processing/useSpeechToText.d.ts +27 -0
- package/lib/hooks/natural_language_processing/useSpeechToText.js +49 -0
- package/lib/hooks/natural_language_processing/useTextEmbeddings.d.ts +16 -0
- package/lib/hooks/natural_language_processing/useTextEmbeddings.js +7 -0
- package/lib/hooks/natural_language_processing/useTokenizer.d.ts +17 -0
- package/lib/hooks/natural_language_processing/useTokenizer.js +52 -0
- package/lib/hooks/useModule.js +45 -0
- package/lib/hooks/useNonStaticModule.d.ts +20 -0
- package/lib/hooks/useNonStaticModule.js +49 -0
- package/lib/index.d.ts +48 -0
- package/lib/index.js +58 -0
- package/lib/module/controllers/LLMController.js +6 -10
- package/lib/module/controllers/LLMController.js.map +1 -1
- package/lib/module/hooks/computer_vision/useClassification.js +2 -2
- package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
- package/lib/module/hooks/computer_vision/useImageEmbeddings.js +2 -2
- package/lib/module/hooks/computer_vision/useImageEmbeddings.js.map +1 -1
- package/lib/module/hooks/computer_vision/useImageSegmentation.js +2 -2
- package/lib/module/hooks/computer_vision/useImageSegmentation.js.map +1 -1
- package/lib/module/hooks/computer_vision/useObjectDetection.js +2 -2
- package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
- package/lib/module/hooks/computer_vision/useStyleTransfer.js +2 -2
- package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
- package/lib/module/hooks/general/useExecutorchModule.js +2 -2
- package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +2 -2
- package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -1
- package/lib/module/hooks/useModule.js +13 -9
- package/lib/module/hooks/useModule.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/BaseModule.js +9 -17
- package/lib/module/modules/BaseModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ClassificationModule.js +2 -2
- package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js +2 -2
- package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ImageSegmentationModule.js +2 -2
- package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ObjectDetectionModule.js +2 -2
- package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
- package/lib/module/modules/computer_vision/StyleTransferModule.js +2 -2
- package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
- package/lib/module/modules/general/ExecutorchModule.js +2 -2
- package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +2 -2
- package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -1
- package/lib/module/native/RnExecutorchModules.js +1 -2
- package/lib/module/native/RnExecutorchModules.js.map +1 -1
- package/lib/module/utils/ResourceFetcher.js +6 -8
- package/lib/module/utils/ResourceFetcher.js.map +1 -1
- package/lib/module/utils/ResourceFetcherUtils.js +20 -20
- package/lib/module/utils/ResourceFetcherUtils.js.map +1 -1
- package/lib/module/utils/SpeechToTextModule/ASR.js +3 -3
- package/lib/module/utils/SpeechToTextModule/ASR.js.map +1 -1
- package/lib/modules/BaseModule.js +25 -0
- package/lib/modules/BaseNonStaticModule.js +14 -0
- package/lib/modules/computer_vision/ClassificationModule.d.ts +8 -0
- package/lib/modules/computer_vision/ClassificationModule.js +17 -0
- package/lib/modules/computer_vision/ImageEmbeddingsModule.d.ts +8 -0
- package/lib/modules/computer_vision/ImageEmbeddingsModule.js +17 -0
- package/lib/modules/computer_vision/ImageSegmentationModule.d.ts +11 -0
- package/lib/modules/computer_vision/ImageSegmentationModule.js +27 -0
- package/lib/modules/computer_vision/OCRModule.d.ts +14 -0
- package/lib/modules/computer_vision/OCRModule.js +17 -0
- package/lib/modules/computer_vision/ObjectDetectionModule.d.ts +9 -0
- package/lib/modules/computer_vision/ObjectDetectionModule.js +17 -0
- package/lib/modules/computer_vision/StyleTransferModule.d.ts +8 -0
- package/lib/modules/computer_vision/StyleTransferModule.js +17 -0
- package/lib/modules/computer_vision/VerticalOCRModule.d.ts +14 -0
- package/lib/modules/computer_vision/VerticalOCRModule.js +19 -0
- package/lib/modules/general/ExecutorchModule.d.ts +7 -0
- package/lib/modules/general/ExecutorchModule.js +14 -0
- package/lib/modules/natural_language_processing/LLMModule.d.ts +28 -0
- package/lib/modules/natural_language_processing/LLMModule.js +45 -0
- package/lib/modules/natural_language_processing/SpeechToTextModule.d.ts +24 -0
- package/lib/modules/natural_language_processing/SpeechToTextModule.js +36 -0
- package/lib/modules/natural_language_processing/TextEmbeddingsModule.d.ts +9 -0
- package/lib/modules/natural_language_processing/TextEmbeddingsModule.js +21 -0
- package/lib/modules/natural_language_processing/TokenizerModule.d.ts +12 -0
- package/lib/modules/natural_language_processing/TokenizerModule.js +30 -0
- package/lib/native/NativeETInstaller.js +2 -0
- package/lib/native/NativeOCR.js +2 -0
- package/lib/native/NativeVerticalOCR.js +2 -0
- package/lib/native/RnExecutorchModules.d.ts +7 -0
- package/lib/native/RnExecutorchModules.js +18 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/common.d.ts +32 -0
- package/lib/types/common.js +25 -0
- package/lib/types/imageSegmentation.js +26 -0
- package/lib/types/llm.d.ts +46 -0
- package/lib/types/llm.js +9 -0
- package/lib/types/objectDetection.js +94 -0
- package/lib/types/ocr.js +1 -0
- package/lib/types/stt.d.ts +94 -0
- package/lib/types/stt.js +85 -0
- package/lib/typescript/controllers/LLMController.d.ts +1 -1
- package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
- package/lib/typescript/hooks/useModule.d.ts +8 -5
- package/lib/typescript/hooks/useModule.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/modules/BaseModule.d.ts +7 -6
- package/lib/typescript/modules/BaseModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +2 -2
- package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
- package/lib/typescript/modules/general/ExecutorchModule.d.ts +2 -2
- package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +2 -2
- package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -1
- package/lib/typescript/native/RnExecutorchModules.d.ts +1 -3
- package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
- package/lib/typescript/utils/ResourceFetcher.d.ts.map +1 -1
- package/lib/typescript/utils/ResourceFetcherUtils.d.ts.map +1 -1
- package/lib/utils/ResourceFetcher.d.ts +24 -0
- package/lib/utils/ResourceFetcher.js +305 -0
- package/lib/utils/ResourceFetcherUtils.d.ts +54 -0
- package/lib/utils/ResourceFetcherUtils.js +127 -0
- package/lib/utils/llm.d.ts +6 -0
- package/lib/utils/llm.js +72 -0
- package/lib/utils/stt.js +21 -0
- package/package.json +1 -2
- package/react-native-executorch.podspec +47 -44
- package/src/controllers/LLMController.ts +8 -13
- package/src/hooks/computer_vision/useClassification.ts +2 -2
- package/src/hooks/computer_vision/useImageEmbeddings.ts +2 -2
- package/src/hooks/computer_vision/useImageSegmentation.ts +2 -2
- package/src/hooks/computer_vision/useObjectDetection.ts +2 -2
- package/src/hooks/computer_vision/useStyleTransfer.ts +2 -2
- package/src/hooks/general/useExecutorchModule.ts +2 -2
- package/src/hooks/natural_language_processing/useTextEmbeddings.ts +2 -2
- package/src/hooks/useModule.ts +23 -13
- package/src/index.ts +3 -2
- package/src/modules/BaseModule.ts +17 -28
- package/src/modules/computer_vision/ClassificationModule.ts +2 -2
- package/src/modules/computer_vision/ImageEmbeddingsModule.ts +2 -2
- package/src/modules/computer_vision/ImageSegmentationModule.ts +2 -2
- package/src/modules/computer_vision/ObjectDetectionModule.ts +2 -2
- package/src/modules/computer_vision/StyleTransferModule.ts +2 -2
- package/src/modules/general/ExecutorchModule.ts +2 -2
- package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +2 -2
- package/src/native/RnExecutorchModules.ts +1 -5
- package/src/utils/ResourceFetcher.ts +9 -7
- package/src/utils/ResourceFetcherUtils.ts +15 -17
- package/src/utils/SpeechToTextModule/ASR.ts +4 -4
- package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
- package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
- package/third-party/include/cpuinfo/cpuinfo.h +2305 -0
- package/third-party/include/executorch/extension/threadpool/cpuinfo_utils.h +26 -0
- package/third-party/include/executorch/extension/threadpool/threadpool.h +94 -0
- package/third-party/include/pthreadpool/pthreadpool.h +2236 -0
- package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +0 -63
- package/ios/ExecutorchLib.xcframework/Info.plist +0 -43
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/ETModel.h +0 -27
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
- package/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/ETModel.h +0 -27
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/HuggingFaceTokenizer.h +0 -14
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Headers/LLaMARunner.h +0 -32
- package/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
- package/ios/RnExecutorch/LLM.h +0 -5
- package/ios/RnExecutorch/LLM.mm +0 -78
- package/ios/RnExecutorch.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/ios/RnExecutorch.xcodeproj/project.xcworkspace/xcuserdata/jakubchmura.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RnExecutorch.xcodeproj/xcuserdata/jakubchmura.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/lib/module/modules/BaseNonStaticModule.js +0 -17
- package/lib/module/modules/BaseNonStaticModule.js.map +0 -1
- package/lib/module/native/NativeLLM.js +0 -5
- package/lib/module/native/NativeLLM.js.map +0 -1
- package/lib/typescript/modules/BaseNonStaticModule.d.ts +0 -10
- package/lib/typescript/modules/BaseNonStaticModule.d.ts.map +0 -1
- package/lib/typescript/native/NativeLLM.d.ts +0 -12
- package/lib/typescript/native/NativeLLM.d.ts.map +0 -1
- package/src/modules/BaseNonStaticModule.ts +0 -26
- package/src/native/NativeLLM.ts +0 -14
- package/third-party/include/tokenizers-cpp/tokenizers_c.h +0 -61
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.h +0 -27
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/ETModel.mm +0 -249
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.h +0 -14
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/HuggingFaceTokenizer.mm +0 -80
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.h +0 -32
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Exported/LLaMARunner.mm +0 -95
- package/third-party/ios/ExecutorchLib/ExecutorchLib/InputType.h +0 -12
- package/third-party/ios/ExecutorchLib/ExecutorchLib/Utils.hpp +0 -217
- package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.cpp +0 -11
- package/third-party/ios/ExecutorchLib/ExecutorchLib/model/Model.h +0 -11
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/base64.h +0 -202
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.cpp +0 -313
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/bpe_tokenizer.h +0 -57
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.cpp +0 -78
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/llama_tiktoken.h +0 -23
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.cpp +0 -427
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tiktoken.h +0 -87
- package/third-party/ios/ExecutorchLib/ExecutorchLib/tokenizer/tokenizer.h +0 -76
- package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.pbxproj +0 -683
- package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/project.xcworkspace/xcuserdata/jakubchmura.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/third-party/ios/ExecutorchLib/ExecutorchLib.xcodeproj/xcuserdata/jakubchmura.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/third-party/ios/ExecutorchLib/build.sh +0 -44
- package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64/libbackend_coreml_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/backend_coreml.xcframework/ios-arm64-simulator/libbackend_coreml_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/backend_mps.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64/libbackend_xnnpack_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/backend_xnnpack.xcframework/ios-arm64-simulator/libbackend_xnnpack_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/Info.plist +0 -47
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorch.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchError.h +0 -16
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchLog.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchModule.h +0 -286
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchTensor.h +0 -742
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/ExecuTorchValue.h +0 -219
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/module/module.h +0 -492
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/backend/interface.h +0 -166
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/array_ref.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/data_loader.h +0 -136
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/defines.h +0 -20
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/error.h +0 -229
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/evalue.h +0 -521
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer.h +0 -565
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/memory_allocator.h +0 -198
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/named_data_map.h +0 -86
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/device.h +0 -70
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/half.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/result.h +0 -258
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/span.h +0 -93
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tag.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_layout.h +0 -79
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/memory_manager.h +0 -113
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method.h +0 -387
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/method_meta.h +0 -251
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/program.h +0 -320
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/abort.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/assert.h +0 -119
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/clock.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/compiler.h +0 -191
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/log.h +0 -177
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/platform.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/profiler.h +0 -292
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/runtime.h +0 -35
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/system.h +0 -49
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/runtime/platform/types.h +0 -24
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/executorch/schema/extended_header.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/Headers/module.modulemap +0 -5
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64/libexecutorch_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorch.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchError.h +0 -16
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchLog.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchModule.h +0 -286
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchTensor.h +0 -742
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/ExecuTorchValue.h +0 -219
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/module/module.h +0 -492
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor.h +0 -13
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_accessor.h +0 -190
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/extension/tensor/tensor_ptr_maker.h +0 -653
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_execution_context.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/backend_init_context.h +0 -72
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/backend/interface.h +0 -166
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/array_ref.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/data_loader.h +0 -136
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/defines.h +0 -20
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/error.h +0 -229
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/evalue.h +0 -521
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer.h +0 -565
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks.h +0 -323
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/event_tracer_hooks_delegate.h +0 -197
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/exec_aten.h +0 -147
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/dim_order_util.h +0 -263
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/scalar_type_util.h +0 -1331
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +0 -21
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +0 -69
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/exec_aten/util/tensor_util.h +0 -1250
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/freeable_buffer.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/hierarchical_allocator.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/memory_allocator.h +0 -198
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/named_data_map.h +0 -86
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bfloat16_math.h +0 -14
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/bits_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +0 -163
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +0 -497
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +0 -342
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +0 -266
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +0 -125
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +0 -347
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/Half.h +0 -416
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +0 -33
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/c10/c10/util/irange.h +0 -107
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/complex.h +0 -44
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/device.h +0 -70
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/half.h +0 -27
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/optional.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/qint_types.h +0 -83
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar.h +0 -110
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/scalar_type.h +0 -154
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/string_view.h +0 -29
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor.h +0 -142
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_impl.h +0 -261
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/portable_type/tensor_options.h +0 -60
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/result.h +0 -258
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/span.h +0 -93
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tag.h +0 -71
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_layout.h +0 -79
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/core/tensor_shape_dynamism.h +0 -39
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/memory_manager.h +0 -113
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method.h +0 -387
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/method_meta.h +0 -251
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/program.h +0 -320
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/pte_data_map.h +0 -144
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/executor/tensor_parser.h +0 -156
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/kernel_runtime_context.h +0 -122
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/kernel/operator_registry.h +0 -278
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/abort.h +0 -36
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/assert.h +0 -119
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/clock.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compat_unistd.h +0 -75
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/compiler.h +0 -191
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/log.h +0 -177
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/platform.h +0 -133
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/profiler.h +0 -292
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/runtime.h +0 -35
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/system.h +0 -49
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/runtime/platform/types.h +0 -24
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/executorch/schema/extended_header.h +0 -76
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/Headers/module.modulemap +0 -5
- package/third-party/ios/ExecutorchLib/frameworks/executorch.xcframework/ios-arm64-simulator/libexecutorch_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64/libkernels_custom_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_custom.xcframework/ios-arm64-simulator/libkernels_custom_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64/libkernels_optimized_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_optimized.xcframework/ios-arm64-simulator/libkernels_optimized_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64/libkernels_portable_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_portable.xcframework/ios-arm64-simulator/libkernels_portable_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64/libkernels_quantized_ios.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/kernels_quantized.xcframework/ios-arm64-simulator/libkernels_quantized_simulator.a +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/Info.plist +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/bitmap256.h +0 -82
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/filtered_re2.h +0 -111
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/pod_array.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter.h +0 -130
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prefilter_tree.h +0 -139
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/prog.h +0 -483
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/re2.h +0 -994
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/regexp.h +0 -692
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/set.h +0 -85
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_array.h +0 -367
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/sparse_set.h +0 -241
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/stringpiece.h +0 -205
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_casefold.h +0 -78
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/unicode_groups.h +0 -64
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Headers/walker-inl.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/Info.plist +0 -26
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64/re2.framework/re2 +0 -0
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/bitmap256.h +0 -82
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/filtered_re2.h +0 -111
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/pod_array.h +0 -43
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter.h +0 -130
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prefilter_tree.h +0 -139
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/prog.h +0 -483
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/re2.h +0 -994
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/regexp.h +0 -692
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/set.h +0 -85
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_array.h +0 -367
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/sparse_set.h +0 -241
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/stringpiece.h +0 -205
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_casefold.h +0 -78
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/unicode_groups.h +0 -64
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Headers/walker-inl.h +0 -235
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/Info.plist +0 -26
- package/third-party/ios/ExecutorchLib/frameworks/re2.xcframework/ios-arm64-simulator/re2.framework/re2 +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/irunner.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.cpp +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/runner.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/stats.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.cpp +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_decoder_runner.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.cpp +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_prefiller.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/text_token_generator.h +0 -0
- /package/{third-party/ios/ExecutorchLib/ExecutorchLib → common}/runner/util.h +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
#include <rnexecutorch/data_processing/ImageProcessing.h>
|
|
4
4
|
|
|
5
|
-
namespace rnexecutorch {
|
|
5
|
+
namespace rnexecutorch::models::object_detection {
|
|
6
6
|
|
|
7
7
|
ObjectDetection::ObjectDetection(
|
|
8
8
|
const std::string &modelSource,
|
|
@@ -25,7 +25,7 @@ ObjectDetection::ObjectDetection(
|
|
|
25
25
|
modelInputShape[modelInputShape.size() - 2]);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
std::vector<Detection>
|
|
28
|
+
std::vector<types::Detection>
|
|
29
29
|
ObjectDetection::postprocess(const std::vector<EValue> &tensors,
|
|
30
30
|
cv::Size originalSize, double detectionThreshold) {
|
|
31
31
|
float widthRatio =
|
|
@@ -33,7 +33,7 @@ ObjectDetection::postprocess(const std::vector<EValue> &tensors,
|
|
|
33
33
|
float heightRatio =
|
|
34
34
|
static_cast<float>(originalSize.height) / modelImageSize.height;
|
|
35
35
|
|
|
36
|
-
std::vector<Detection> detections;
|
|
36
|
+
std::vector<types::Detection> detections;
|
|
37
37
|
auto bboxTensor = tensors.at(0).toTensor();
|
|
38
38
|
std::span<const float> bboxes(
|
|
39
39
|
static_cast<const float *>(bboxTensor.const_data_ptr()),
|
|
@@ -61,14 +61,14 @@ ObjectDetection::postprocess(const std::vector<EValue> &tensors,
|
|
|
61
61
|
scores[i]);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
std::vector<Detection> output = nonMaxSuppression(detections);
|
|
64
|
+
std::vector<types::Detection> output = utils::nonMaxSuppression(detections);
|
|
65
65
|
return output;
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
std::vector<Detection>
|
|
69
|
-
|
|
68
|
+
std::vector<types::Detection>
|
|
69
|
+
ObjectDetection::generate(std::string imageSource, double detectionThreshold) {
|
|
70
70
|
auto [inputTensor, originalSize] =
|
|
71
|
-
|
|
71
|
+
image_processing::readImageToTensor(imageSource, getAllInputShapes()[0]);
|
|
72
72
|
|
|
73
73
|
auto forwardResult = BaseModel::forward(inputTensor);
|
|
74
74
|
if (!forwardResult.ok()) {
|
|
@@ -79,4 +79,4 @@ std::vector<Detection> ObjectDetection::generate(std::string imageSource,
|
|
|
79
79
|
|
|
80
80
|
return postprocess(forwardResult.get(), originalSize, detectionThreshold);
|
|
81
81
|
}
|
|
82
|
-
} // namespace rnexecutorch
|
|
82
|
+
} // namespace rnexecutorch::models::object_detection
|
|
@@ -6,10 +6,13 @@
|
|
|
6
6
|
#include <executorch/runtime/core/evalue.h>
|
|
7
7
|
#include <opencv2/opencv.hpp>
|
|
8
8
|
|
|
9
|
+
#include "Types.h"
|
|
10
|
+
#include "rnexecutorch/metaprogramming/ConstructorHelpers.h"
|
|
9
11
|
#include <rnexecutorch/models/BaseModel.h>
|
|
10
12
|
#include <rnexecutorch/models/object_detection/Utils.h>
|
|
11
13
|
|
|
12
14
|
namespace rnexecutorch {
|
|
15
|
+
namespace models::object_detection {
|
|
13
16
|
using executorch::extension::TensorPtr;
|
|
14
17
|
using executorch::runtime::EValue;
|
|
15
18
|
|
|
@@ -17,15 +20,18 @@ class ObjectDetection : public BaseModel {
|
|
|
17
20
|
public:
|
|
18
21
|
ObjectDetection(const std::string &modelSource,
|
|
19
22
|
std::shared_ptr<react::CallInvoker> callInvoker);
|
|
20
|
-
std::vector<Detection> generate(std::string imageSource,
|
|
21
|
-
|
|
23
|
+
std::vector<types::Detection> generate(std::string imageSource,
|
|
24
|
+
double detectionThreshold);
|
|
22
25
|
|
|
23
26
|
private:
|
|
24
|
-
std::vector<Detection> postprocess(const std::vector<EValue> &tensors,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
std::vector<types::Detection> postprocess(const std::vector<EValue> &tensors,
|
|
28
|
+
cv::Size originalSize,
|
|
29
|
+
double detectionThreshold);
|
|
27
30
|
|
|
28
31
|
cv::Size modelImageSize{0, 0};
|
|
29
32
|
};
|
|
33
|
+
} // namespace models::object_detection
|
|
30
34
|
|
|
35
|
+
REGISTER_CONSTRUCTOR(models::object_detection::ObjectDetection, std::string,
|
|
36
|
+
std::shared_ptr<react::CallInvoker>);
|
|
31
37
|
} // namespace rnexecutorch
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#include "Utils.h"
|
|
2
2
|
#include "Constants.h"
|
|
3
3
|
|
|
4
|
-
namespace rnexecutorch {
|
|
5
|
-
float intersectionOverUnion(const Detection &a,
|
|
4
|
+
namespace rnexecutorch::models::object_detection::utils {
|
|
5
|
+
float intersectionOverUnion(const types::Detection &a,
|
|
6
|
+
const types::Detection &b) {
|
|
6
7
|
float x1 = std::max(a.x1, b.x1);
|
|
7
8
|
float y1 = std::max(a.y1, b.y1);
|
|
8
9
|
float x2 = std::min(a.x2, b.x2);
|
|
@@ -16,40 +17,41 @@ float intersectionOverUnion(const Detection &a, const Detection &b) {
|
|
|
16
17
|
return intersectionArea / unionArea;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
std::vector<
|
|
20
|
+
std::vector<types::Detection>
|
|
21
|
+
nonMaxSuppression(std::vector<types::Detection> detections) {
|
|
20
22
|
if (detections.empty()) {
|
|
21
23
|
return {};
|
|
22
24
|
}
|
|
23
25
|
|
|
24
26
|
// Sort by label, then by score
|
|
25
27
|
std::sort(detections.begin(), detections.end(),
|
|
26
|
-
[](const Detection &a, const Detection &b) {
|
|
28
|
+
[](const types::Detection &a, const types::Detection &b) {
|
|
27
29
|
if (a.label == b.label) {
|
|
28
30
|
return a.score > b.score;
|
|
29
31
|
}
|
|
30
32
|
return a.label < b.label;
|
|
31
33
|
});
|
|
32
34
|
|
|
33
|
-
std::vector<Detection> result;
|
|
35
|
+
std::vector<types::Detection> result;
|
|
34
36
|
// Apply NMS for each label
|
|
35
37
|
for (size_t i = 0; i < detections.size();) {
|
|
36
38
|
float currentLabel = detections[i].label;
|
|
37
39
|
|
|
38
|
-
std::vector<Detection> labelDetections;
|
|
40
|
+
std::vector<types::Detection> labelDetections;
|
|
39
41
|
while (i < detections.size() && detections[i].label == currentLabel) {
|
|
40
42
|
labelDetections.push_back(detections[i]);
|
|
41
43
|
++i;
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
std::vector<Detection> filteredLabelDetections;
|
|
46
|
+
std::vector<types::Detection> filteredLabelDetections;
|
|
45
47
|
while (!labelDetections.empty()) {
|
|
46
|
-
Detection current = labelDetections.front();
|
|
48
|
+
types::Detection current = labelDetections.front();
|
|
47
49
|
filteredLabelDetections.push_back(current);
|
|
48
50
|
labelDetections.erase(
|
|
49
51
|
std::remove_if(labelDetections.begin(), labelDetections.end(),
|
|
50
|
-
[¤t](const Detection &other) {
|
|
52
|
+
[¤t](const types::Detection &other) {
|
|
51
53
|
return intersectionOverUnion(current, other) >
|
|
52
|
-
IOU_THRESHOLD;
|
|
54
|
+
constants::IOU_THRESHOLD;
|
|
53
55
|
}),
|
|
54
56
|
labelDetections.end());
|
|
55
57
|
}
|
|
@@ -59,4 +61,4 @@ std::vector<Detection> nonMaxSuppression(std::vector<Detection> detections) {
|
|
|
59
61
|
return result;
|
|
60
62
|
}
|
|
61
63
|
|
|
62
|
-
} // namespace rnexecutorch
|
|
64
|
+
} // namespace rnexecutorch::models::object_detection::utils
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
+
#include "Types.h"
|
|
3
4
|
#include <vector>
|
|
4
5
|
|
|
5
|
-
namespace rnexecutorch {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
int label;
|
|
12
|
-
float score;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
float intersectionOverUnion(const Detection &a, const Detection &b);
|
|
16
|
-
std::vector<Detection> nonMaxSuppression(std::vector<Detection> detections);
|
|
17
|
-
} // namespace rnexecutorch
|
|
6
|
+
namespace rnexecutorch::models::object_detection::utils {
|
|
7
|
+
float intersectionOverUnion(const types::Detection &a,
|
|
8
|
+
const types::Detection &b);
|
|
9
|
+
std::vector<types::Detection>
|
|
10
|
+
nonMaxSuppression(std::vector<types::Detection> detections);
|
|
11
|
+
} // namespace rnexecutorch::models::object_detection::utils
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#include <algorithm>
|
|
3
3
|
#include <optional>
|
|
4
4
|
|
|
5
|
-
namespace rnexecutorch::ocr {
|
|
5
|
+
namespace rnexecutorch::models::ocr {
|
|
6
6
|
CTCLabelConverter::CTCLabelConverter(const std::string &characters)
|
|
7
7
|
: ignoreIdx(0),
|
|
8
8
|
character({"[blank]"}) // blank character is ignored character (index 0).
|
|
@@ -85,4 +85,4 @@ CTCLabelConverter::decodeGreedy(const std::vector<int32_t> &textIndex,
|
|
|
85
85
|
|
|
86
86
|
return texts;
|
|
87
87
|
}
|
|
88
|
-
} // namespace rnexecutorch::ocr
|
|
88
|
+
} // namespace rnexecutorch::models::ocr
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
#include <string>
|
|
4
4
|
#include <vector>
|
|
5
5
|
|
|
6
|
-
namespace rnexecutorch::ocr {
|
|
6
|
+
namespace rnexecutorch::models::ocr {
|
|
7
7
|
/*
|
|
8
8
|
CTC (Connectionist Temporal Classification) Label Converter
|
|
9
9
|
is used for decoding the returned list of indices by Recognizer into
|
|
@@ -26,4 +26,4 @@ private:
|
|
|
26
26
|
std::vector<std::string> character;
|
|
27
27
|
int32_t ignoreIdx;
|
|
28
28
|
};
|
|
29
|
-
} // namespace rnexecutorch::ocr
|
|
29
|
+
} // namespace rnexecutorch::models::ocr
|
|
@@ -3,32 +3,39 @@
|
|
|
3
3
|
#include <cstdint>
|
|
4
4
|
#include <opencv2/opencv.hpp>
|
|
5
5
|
|
|
6
|
-
namespace rnexecutorch::ocr {
|
|
6
|
+
namespace rnexecutorch::models::ocr::constants {
|
|
7
7
|
|
|
8
|
-
inline constexpr float
|
|
9
|
-
inline constexpr float
|
|
10
|
-
inline constexpr float
|
|
11
|
-
inline constexpr float
|
|
12
|
-
inline constexpr float
|
|
13
|
-
inline constexpr float
|
|
14
|
-
inline constexpr float
|
|
15
|
-
inline constexpr float
|
|
16
|
-
inline constexpr float
|
|
17
|
-
inline constexpr float
|
|
18
|
-
inline constexpr int32_t
|
|
19
|
-
inline constexpr int32_t
|
|
20
|
-
inline constexpr int32_t
|
|
21
|
-
inline constexpr int32_t
|
|
22
|
-
inline constexpr int32_t
|
|
23
|
-
inline constexpr int32_t
|
|
24
|
-
inline constexpr int32_t
|
|
25
|
-
inline constexpr int32_t
|
|
26
|
-
|
|
27
|
-
inline constexpr int32_t
|
|
28
|
-
inline constexpr int32_t
|
|
29
|
-
inline constexpr int32_t
|
|
8
|
+
inline constexpr float kTextThreshold = 0.4;
|
|
9
|
+
inline constexpr float kTextThresholdVertical = 0.3;
|
|
10
|
+
inline constexpr float kLinkThreshold = 0.4;
|
|
11
|
+
inline constexpr float kLowTextThreshold = 0.7;
|
|
12
|
+
inline constexpr float kCenterThreshold = 0.5;
|
|
13
|
+
inline constexpr float kDistanceThreshold = 2.0;
|
|
14
|
+
inline constexpr float kHeightThreshold = 2.0;
|
|
15
|
+
inline constexpr float kSingleCharacterCenterThreshold = 0.3;
|
|
16
|
+
inline constexpr float kLowConfidenceThreshold = 0.3;
|
|
17
|
+
inline constexpr float kAdjustContrast = 0.2;
|
|
18
|
+
inline constexpr int32_t kMinSideThreshold = 15;
|
|
19
|
+
inline constexpr int32_t kMaxSideThreshold = 30;
|
|
20
|
+
inline constexpr int32_t kRecognizerHeight = 64;
|
|
21
|
+
inline constexpr int32_t kLargeRecognizerWidth = 512;
|
|
22
|
+
inline constexpr int32_t kMediumRecognizerWidth = 256;
|
|
23
|
+
inline constexpr int32_t kSmallRecognizerWidth = 128;
|
|
24
|
+
inline constexpr int32_t kSmallVerticalRecognizerWidth = 64;
|
|
25
|
+
inline constexpr int32_t kMaxWidth =
|
|
26
|
+
kLargeRecognizerWidth + (kLargeRecognizerWidth * 0.15);
|
|
27
|
+
inline constexpr int32_t kSingleCharacterMinSize = 70;
|
|
28
|
+
inline constexpr int32_t kRecognizerImageSize = 1280;
|
|
29
|
+
inline constexpr int32_t kVerticalLineThreshold = 20;
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
/*
|
|
32
|
+
Mean and variance values for image normalization were used in EASYOCR pipeline
|
|
33
|
+
(see
|
|
34
|
+
https://github.com/JaidedAI/EasyOCR/blob/c4f3cd7225efd4f85451bd8b4a7646ae9a092420/easyocr/imgproc.py#L20)
|
|
35
|
+
but they originate from ImageNet dataset and they are widely use in
|
|
36
|
+
ComputerVision preprocessing.
|
|
37
|
+
*/
|
|
38
|
+
inline const cv::Scalar kNormalizationMean(0.485, 0.456, 0.406);
|
|
39
|
+
inline const cv::Scalar kNormalizationVariance(0.229, 0.224, 0.225);
|
|
33
40
|
|
|
34
|
-
} // namespace rnexecutorch::ocr
|
|
41
|
+
} // namespace rnexecutorch::models::ocr::constants
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#include "Detector.h"
|
|
2
2
|
#include <rnexecutorch/data_processing/ImageProcessing.h>
|
|
3
3
|
#include <rnexecutorch/models/ocr/Constants.h>
|
|
4
|
-
#include <rnexecutorch/models/ocr/DetectorUtils.h>
|
|
4
|
+
#include <rnexecutorch/models/ocr/utils/DetectorUtils.h>
|
|
5
5
|
|
|
6
|
-
namespace rnexecutorch {
|
|
6
|
+
namespace rnexecutorch::models::ocr {
|
|
7
7
|
Detector::Detector(const std::string &modelSource,
|
|
8
8
|
std::shared_ptr<react::CallInvoker> callInvoker)
|
|
9
9
|
: BaseModel(modelSource, callInvoker) {
|
|
@@ -24,7 +24,7 @@ Detector::Detector(const std::string &modelSource,
|
|
|
24
24
|
|
|
25
25
|
cv::Size Detector::getModelImageSize() const noexcept { return modelImageSize; }
|
|
26
26
|
|
|
27
|
-
std::vector<
|
|
27
|
+
std::vector<types::DetectorBBox> Detector::generate(const cv::Mat &inputImage) {
|
|
28
28
|
/*
|
|
29
29
|
Detector as an input accepts tensor with a shape of [1, 3, H, H].
|
|
30
30
|
where H is a constant for model. In our supported models it is currently
|
|
@@ -34,9 +34,10 @@ std::vector<ocr::DetectorBBox> Detector::generate(const cv::Mat &inputImage) {
|
|
|
34
34
|
*/
|
|
35
35
|
auto inputShapes = getAllInputShapes();
|
|
36
36
|
cv::Mat resizedInputImage =
|
|
37
|
-
|
|
38
|
-
TensorPtr inputTensor =
|
|
39
|
-
inputShapes[0], resizedInputImage,
|
|
37
|
+
image_processing::resizePadded(inputImage, getModelImageSize());
|
|
38
|
+
TensorPtr inputTensor = image_processing::getTensorFromMatrix(
|
|
39
|
+
inputShapes[0], resizedInputImage, constants::kNormalizationMean,
|
|
40
|
+
constants::kNormalizationVariance);
|
|
40
41
|
auto forwardResult = BaseModel::forward(inputTensor);
|
|
41
42
|
if (!forwardResult.ok()) {
|
|
42
43
|
throw std::runtime_error(
|
|
@@ -47,7 +48,7 @@ std::vector<ocr::DetectorBBox> Detector::generate(const cv::Mat &inputImage) {
|
|
|
47
48
|
return postprocess(forwardResult->at(0).toTensor());
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
std::vector<
|
|
51
|
+
std::vector<types::DetectorBBox>
|
|
51
52
|
Detector::postprocess(const Tensor &tensor) const {
|
|
52
53
|
/*
|
|
53
54
|
The output of the model consists of two matrices (heat maps):
|
|
@@ -62,19 +63,16 @@ Detector::postprocess(const Tensor &tensor) const {
|
|
|
62
63
|
The output of the model is a matrix half the size of the input image
|
|
63
64
|
containing two channels representing the heatmaps.
|
|
64
65
|
*/
|
|
65
|
-
auto [scoreTextMat, scoreAffinityMat] =
|
|
66
|
+
auto [scoreTextMat, scoreAffinityMat] = utils::interleavedArrayToMats(
|
|
66
67
|
tensorData,
|
|
67
68
|
cv::Size(modelImageSize.width / 2, modelImageSize.height / 2));
|
|
68
69
|
|
|
69
70
|
/*
|
|
70
71
|
Heatmaps are then converted into list of bounding boxes.
|
|
71
|
-
Too see how it is achieved see the description of this function in
|
|
72
|
-
the DetectorUtils.h source file and the implementation in the
|
|
73
|
-
DetectorUtils.cpp.
|
|
74
72
|
*/
|
|
75
|
-
std::vector<
|
|
76
|
-
scoreTextMat, scoreAffinityMat,
|
|
77
|
-
|
|
73
|
+
std::vector<types::DetectorBBox> bBoxesList = utils::getDetBoxesFromTextMap(
|
|
74
|
+
scoreTextMat, scoreAffinityMat, constants::kTextThreshold,
|
|
75
|
+
constants::kLinkThreshold, constants::kLowTextThreshold);
|
|
78
76
|
|
|
79
77
|
/*
|
|
80
78
|
Bounding boxes are at first corresponding to the 400x400 size or 640x640.
|
|
@@ -82,21 +80,21 @@ Detector::postprocess(const Tensor &tensor) const {
|
|
|
82
80
|
1280x1280. To match this difference we has to scale by the proper factor
|
|
83
81
|
(3.2 or 2.0).
|
|
84
82
|
*/
|
|
85
|
-
const float restoreRatio =
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
const float restoreRatio = utils::calculateRestoreRatio(
|
|
84
|
+
scoreTextMat.rows, constants::kRecognizerImageSize);
|
|
85
|
+
utils::restoreBboxRatio(bBoxesList, restoreRatio);
|
|
88
86
|
/*
|
|
89
87
|
Since every bounding box is processed separately by Recognition models, we'd
|
|
90
88
|
like to reduce the number of boxes. Also, grouping nearby boxes means we
|
|
91
89
|
process many words / full line at once. It is not only faster but also easier
|
|
92
90
|
for Recognizer models than recognition of single characters.
|
|
93
91
|
*/
|
|
94
|
-
bBoxesList =
|
|
95
|
-
bBoxesList,
|
|
96
|
-
|
|
97
|
-
|
|
92
|
+
bBoxesList = utils::groupTextBoxes(
|
|
93
|
+
bBoxesList, constants::kCenterThreshold, constants::kDistanceThreshold,
|
|
94
|
+
constants::kHeightThreshold, constants::kMinSideThreshold,
|
|
95
|
+
constants::kMaxSideThreshold, constants::kMaxWidth);
|
|
98
96
|
|
|
99
97
|
return bBoxesList;
|
|
100
98
|
}
|
|
101
99
|
|
|
102
|
-
} // namespace rnexecutorch
|
|
100
|
+
} // namespace rnexecutorch::models::ocr
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
#include <rnexecutorch/models/BaseModel.h>
|
|
6
6
|
#include <rnexecutorch/models/ocr/Types.h>
|
|
7
7
|
|
|
8
|
-
namespace rnexecutorch {
|
|
8
|
+
namespace rnexecutorch::models::ocr {
|
|
9
9
|
/*
|
|
10
10
|
Detector is a model responsible for recognizing the areas where text is
|
|
11
11
|
located. It returns the list of bounding boxes. The model used as detector is
|
|
@@ -20,11 +20,11 @@ class Detector final : public BaseModel {
|
|
|
20
20
|
public:
|
|
21
21
|
explicit Detector(const std::string &modelSource,
|
|
22
22
|
std::shared_ptr<react::CallInvoker> callInvoker);
|
|
23
|
-
std::vector<
|
|
23
|
+
std::vector<types::DetectorBBox> generate(const cv::Mat &inputImage);
|
|
24
24
|
cv::Size getModelImageSize() const noexcept;
|
|
25
25
|
|
|
26
26
|
private:
|
|
27
|
-
std::vector<
|
|
27
|
+
std::vector<types::DetectorBBox> postprocess(const Tensor &tensor) const;
|
|
28
28
|
cv::Size modelImageSize;
|
|
29
29
|
};
|
|
30
|
-
} // namespace rnexecutorch
|
|
30
|
+
} // namespace rnexecutorch::models::ocr
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#include <rnexecutorch/data_processing/ImageProcessing.h>
|
|
3
3
|
#include <rnexecutorch/models/ocr/Constants.h>
|
|
4
4
|
|
|
5
|
-
namespace rnexecutorch {
|
|
5
|
+
namespace rnexecutorch::models::ocr {
|
|
6
6
|
OCR::OCR(const std::string &detectorSource,
|
|
7
7
|
const std::string &recognizerSourceLarge,
|
|
8
8
|
const std::string &recognizerSourceMedium,
|
|
@@ -12,8 +12,8 @@ OCR::OCR(const std::string &detectorSource,
|
|
|
12
12
|
recognitionHandler(recognizerSourceLarge, recognizerSourceMedium,
|
|
13
13
|
recognizerSourceSmall, symbols, callInvoker) {}
|
|
14
14
|
|
|
15
|
-
std::vector<OCRDetection> OCR::generate(std::string input) {
|
|
16
|
-
cv::Mat image =
|
|
15
|
+
std::vector<types::OCRDetection> OCR::generate(std::string input) {
|
|
16
|
+
cv::Mat image = image_processing::readImage(input);
|
|
17
17
|
if (image.empty()) {
|
|
18
18
|
throw std::runtime_error("Failed to load image from path: " + input);
|
|
19
19
|
}
|
|
@@ -23,7 +23,7 @@ std::vector<OCRDetection> OCR::generate(std::string input) {
|
|
|
23
23
|
with text. They are corresponding to the image of size 1280x1280, which
|
|
24
24
|
is a size later used by Recognition Handler.
|
|
25
25
|
*/
|
|
26
|
-
std::vector<
|
|
26
|
+
std::vector<types::DetectorBBox> bboxesList = detector.generate(image);
|
|
27
27
|
cv::cvtColor(image, image, cv::COLOR_BGR2GRAY);
|
|
28
28
|
|
|
29
29
|
/*
|
|
@@ -33,9 +33,10 @@ std::vector<OCRDetection> OCR::generate(std::string input) {
|
|
|
33
33
|
- coordinates of bounding box corresponding to the original image size
|
|
34
34
|
- confidence score
|
|
35
35
|
*/
|
|
36
|
-
std::vector<OCRDetection> result =
|
|
37
|
-
bboxesList, image,
|
|
38
|
-
|
|
36
|
+
std::vector<types::OCRDetection> result =
|
|
37
|
+
recognitionHandler.recognize(bboxesList, image,
|
|
38
|
+
cv::Size(constants::kRecognizerImageSize,
|
|
39
|
+
constants::kRecognizerImageSize));
|
|
39
40
|
|
|
40
41
|
return result;
|
|
41
42
|
}
|
|
@@ -49,4 +50,4 @@ void OCR::unload() noexcept {
|
|
|
49
50
|
detector.unload();
|
|
50
51
|
recognitionHandler.unload();
|
|
51
52
|
}
|
|
52
|
-
} // namespace rnexecutorch
|
|
53
|
+
} // namespace rnexecutorch::models::ocr
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
#pragma once
|
|
2
2
|
|
|
3
|
+
#include <string>
|
|
4
|
+
#include <vector>
|
|
5
|
+
|
|
6
|
+
#include "rnexecutorch/metaprogramming/ConstructorHelpers.h"
|
|
3
7
|
#include <rnexecutorch/models/ocr/Detector.h>
|
|
4
8
|
#include <rnexecutorch/models/ocr/RecognitionHandler.h>
|
|
5
9
|
#include <rnexecutorch/models/ocr/Types.h>
|
|
6
|
-
#include <string>
|
|
7
|
-
#include <vector>
|
|
8
10
|
|
|
9
11
|
namespace rnexecutorch {
|
|
12
|
+
namespace models::ocr {
|
|
10
13
|
/*
|
|
11
14
|
The OCR consists of two phases:
|
|
12
15
|
1. Detection - detecting text regions in the image, the result of this phase
|
|
@@ -25,7 +28,7 @@ public:
|
|
|
25
28
|
const std::string &recognizerSourceMedium,
|
|
26
29
|
const std::string &recognizerSourceSmall, std::string symbols,
|
|
27
30
|
std::shared_ptr<react::CallInvoker> callInvoker);
|
|
28
|
-
std::vector<OCRDetection> generate(std::string input);
|
|
31
|
+
std::vector<types::OCRDetection> generate(std::string input);
|
|
29
32
|
std::size_t getMemoryLowerBound() const noexcept;
|
|
30
33
|
void unload() noexcept;
|
|
31
34
|
|
|
@@ -33,4 +36,9 @@ private:
|
|
|
33
36
|
Detector detector;
|
|
34
37
|
RecognitionHandler recognitionHandler;
|
|
35
38
|
};
|
|
39
|
+
} // namespace models::ocr
|
|
40
|
+
|
|
41
|
+
REGISTER_CONSTRUCTOR(models::ocr::OCR, std::string, std::string, std::string,
|
|
42
|
+
std::string, std::string,
|
|
43
|
+
std::shared_ptr<react::CallInvoker>);
|
|
36
44
|
} // namespace rnexecutorch
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
#include "RecognitionHandler.h"
|
|
2
|
-
#include "RecognitionHandlerUtils.h"
|
|
3
2
|
#include <rnexecutorch/data_processing/ImageProcessing.h>
|
|
4
3
|
#include <rnexecutorch/models/ocr/Constants.h>
|
|
5
|
-
#include <rnexecutorch/models/ocr/RecognitionHandlerUtils.h>
|
|
4
|
+
#include <rnexecutorch/models/ocr/utils/RecognitionHandlerUtils.h>
|
|
6
5
|
|
|
7
|
-
namespace rnexecutorch {
|
|
6
|
+
namespace rnexecutorch::models::ocr {
|
|
8
7
|
RecognitionHandler::RecognitionHandler(
|
|
9
8
|
const std::string &recognizerSourceLarge,
|
|
10
9
|
const std::string &recognizerSourceMedium,
|
|
@@ -22,24 +21,25 @@ std::pair<std::vector<int32_t>, float>
|
|
|
22
21
|
RecognitionHandler::runModel(cv::Mat image) {
|
|
23
22
|
|
|
24
23
|
// Note that the height of an image is always equal to 64.
|
|
25
|
-
if (image.cols >=
|
|
24
|
+
if (image.cols >= constants::kLargeRecognizerWidth) {
|
|
26
25
|
return recognizerLarge.generate(image);
|
|
27
26
|
}
|
|
28
|
-
if (image.cols >=
|
|
27
|
+
if (image.cols >= constants::kMediumRecognizerWidth) {
|
|
29
28
|
return recognizerMedium.generate(image);
|
|
30
29
|
}
|
|
31
30
|
return recognizerSmall.generate(image);
|
|
32
31
|
}
|
|
33
32
|
|
|
34
|
-
void RecognitionHandler::processBBox(std::vector<OCRDetection> &boxList,
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
void RecognitionHandler::processBBox(std::vector<types::OCRDetection> &boxList,
|
|
34
|
+
types::DetectorBBox &box, cv::Mat &imgGray,
|
|
35
|
+
types::PaddingInfo ratioAndPadding) {
|
|
37
36
|
|
|
38
37
|
/*
|
|
39
38
|
Resize the cropped image to have height = 64 (height accepted by
|
|
40
39
|
Recognizer).
|
|
41
40
|
*/
|
|
42
|
-
auto croppedImage =
|
|
41
|
+
auto croppedImage =
|
|
42
|
+
utils::cropImage(box, imgGray, constants::kRecognizerHeight);
|
|
43
43
|
|
|
44
44
|
if (croppedImage.empty()) {
|
|
45
45
|
return;
|
|
@@ -49,11 +49,12 @@ void RecognitionHandler::processBBox(std::vector<OCRDetection> &boxList,
|
|
|
49
49
|
Cropped image is resized into the closest of on of three:
|
|
50
50
|
128x64, 256x64, 512x64.
|
|
51
51
|
*/
|
|
52
|
-
croppedImage =
|
|
53
|
-
croppedImage,
|
|
52
|
+
croppedImage =
|
|
53
|
+
utils::normalizeForRecognizer(croppedImage, constants::kRecognizerHeight,
|
|
54
|
+
constants::kAdjustContrast, false);
|
|
54
55
|
|
|
55
56
|
auto [predictionIndices, confidenceScore] = this->runModel(croppedImage);
|
|
56
|
-
if (confidenceScore <
|
|
57
|
+
if (confidenceScore < constants::kLowConfidenceThreshold) {
|
|
57
58
|
cv::rotate(croppedImage, croppedImage, cv::ROTATE_180);
|
|
58
59
|
auto [rotatedPredictionIndices, rotatedConfidenceScore] =
|
|
59
60
|
runModel(croppedImage);
|
|
@@ -77,18 +78,18 @@ void RecognitionHandler::processBBox(std::vector<OCRDetection> &boxList,
|
|
|
77
78
|
confidenceScore);
|
|
78
79
|
}
|
|
79
80
|
|
|
80
|
-
std::vector<OCRDetection>
|
|
81
|
-
RecognitionHandler::recognize(std::vector<
|
|
81
|
+
std::vector<types::OCRDetection>
|
|
82
|
+
RecognitionHandler::recognize(std::vector<types::DetectorBBox> bboxesList,
|
|
82
83
|
cv::Mat &imgGray, cv::Size desiredSize) {
|
|
83
84
|
/*
|
|
84
85
|
Recognition Handler accepts bboxesList corresponding to size
|
|
85
86
|
1280x1280, which is desiredSize.
|
|
86
87
|
*/
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
imgGray =
|
|
88
|
+
types::PaddingInfo ratioAndPadding =
|
|
89
|
+
utils::calculateResizeRatioAndPaddings(imgGray.size(), desiredSize);
|
|
90
|
+
imgGray = image_processing::resizePadded(imgGray, desiredSize);
|
|
90
91
|
|
|
91
|
-
std::vector<OCRDetection> result = {};
|
|
92
|
+
std::vector<types::OCRDetection> result = {};
|
|
92
93
|
for (auto &box : bboxesList) {
|
|
93
94
|
processBBox(result, box, imgGray, ratioAndPadding);
|
|
94
95
|
}
|
|
@@ -104,4 +105,4 @@ void RecognitionHandler::unload() noexcept {
|
|
|
104
105
|
recognizerMedium.unload();
|
|
105
106
|
recognizerLarge.unload();
|
|
106
107
|
}
|
|
107
|
-
} // namespace rnexecutorch
|
|
108
|
+
} // namespace rnexecutorch::models::ocr
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
#include <string>
|
|
8
8
|
#include <vector>
|
|
9
9
|
|
|
10
|
-
namespace rnexecutorch {
|
|
10
|
+
namespace rnexecutorch::models::ocr {
|
|
11
11
|
/*
|
|
12
12
|
Recogntion Handler is responsible for:
|
|
13
13
|
1. Preparing the image to be processed by Recognition Model.
|
|
@@ -22,19 +22,21 @@ public:
|
|
|
22
22
|
const std::string &recognizerSourceSmall,
|
|
23
23
|
std::string symbols,
|
|
24
24
|
std::shared_ptr<react::CallInvoker> callInvoker);
|
|
25
|
-
std::vector<OCRDetection>
|
|
26
|
-
|
|
25
|
+
std::vector<types::OCRDetection>
|
|
26
|
+
recognize(std::vector<types::DetectorBBox> bboxesList, cv::Mat &imgGray,
|
|
27
|
+
cv::Size desiredSize);
|
|
27
28
|
void unload() noexcept;
|
|
28
29
|
std::size_t getMemoryLowerBound() const noexcept;
|
|
29
30
|
|
|
30
31
|
private:
|
|
31
32
|
std::pair<std::vector<int32_t>, float> runModel(cv::Mat image);
|
|
32
|
-
void processBBox(std::vector<OCRDetection> &boxList,
|
|
33
|
-
cv::Mat &imgGray,
|
|
33
|
+
void processBBox(std::vector<types::OCRDetection> &boxList,
|
|
34
|
+
types::DetectorBBox &box, cv::Mat &imgGray,
|
|
35
|
+
types::PaddingInfo ratioAndPadding);
|
|
34
36
|
std::size_t memorySizeLowerBound{0};
|
|
35
|
-
|
|
37
|
+
CTCLabelConverter converter;
|
|
36
38
|
Recognizer recognizerLarge;
|
|
37
39
|
Recognizer recognizerMedium;
|
|
38
40
|
Recognizer recognizerSmall;
|
|
39
41
|
};
|
|
40
|
-
} // namespace rnexecutorch
|
|
42
|
+
} // namespace rnexecutorch::models::ocr
|