react-native-executorch 0.4.9 → 0.5.0-nightly-6f4dd53-20251211
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/README.md +77 -71
- package/android/CMakeLists.txt +29 -0
- package/android/build.gradle +76 -13
- package/android/libs/classes.jar +0 -0
- package/android/src/main/cpp/CMakeLists.txt +109 -0
- package/android/src/main/cpp/ETInstallerModule.cpp +76 -0
- package/android/src/main/cpp/ETInstallerModule.h +43 -0
- package/android/src/main/java/com/swmansion/rnexecutorch/ETInstaller.kt +66 -0
- package/android/src/main/java/com/swmansion/rnexecutorch/RnExecutorchPackage.kt +6 -124
- package/common/ada/ada.cpp +17406 -0
- package/common/ada/ada.h +10274 -0
- package/common/pfft/pfft.c +2205 -0
- package/common/pfft/pfft.h +185 -0
- package/common/rnexecutorch/Log.h +489 -0
- package/common/rnexecutorch/RnExecutorchInstaller.cpp +113 -0
- package/common/rnexecutorch/RnExecutorchInstaller.h +87 -0
- package/common/rnexecutorch/TokenizerModule.cpp +52 -0
- package/common/rnexecutorch/TokenizerModule.h +29 -0
- package/common/rnexecutorch/data_processing/FFT.cpp +21 -0
- package/common/rnexecutorch/data_processing/FFT.h +23 -0
- package/common/rnexecutorch/data_processing/FileUtils.h +30 -0
- package/common/rnexecutorch/data_processing/ImageProcessing.cpp +240 -0
- package/common/rnexecutorch/data_processing/ImageProcessing.h +55 -0
- package/common/rnexecutorch/data_processing/Numerical.cpp +111 -0
- package/common/rnexecutorch/data_processing/Numerical.h +77 -0
- package/common/rnexecutorch/data_processing/base64.cpp +110 -0
- package/common/rnexecutorch/data_processing/base64.h +46 -0
- package/common/rnexecutorch/data_processing/dsp.cpp +19 -0
- package/common/rnexecutorch/data_processing/dsp.h +12 -0
- package/common/rnexecutorch/data_processing/gzip.cpp +47 -0
- package/common/rnexecutorch/data_processing/gzip.h +7 -0
- package/common/rnexecutorch/host_objects/JSTensorViewIn.h +12 -0
- package/common/rnexecutorch/host_objects/JSTensorViewOut.h +22 -0
- package/common/rnexecutorch/host_objects/JsiConversions.h +418 -0
- package/common/rnexecutorch/host_objects/ModelHostObject.h +313 -0
- package/common/rnexecutorch/jsi/JsiHostObject.cpp +108 -0
- package/common/rnexecutorch/jsi/JsiHostObject.h +87 -0
- package/common/rnexecutorch/jsi/OwningArrayBuffer.h +57 -0
- package/common/rnexecutorch/jsi/Promise.cpp +20 -0
- package/common/rnexecutorch/jsi/Promise.h +69 -0
- package/common/rnexecutorch/jsi/RuntimeAwareCache.h +58 -0
- package/common/rnexecutorch/jsi/RuntimeLifecycleMonitor.cpp +53 -0
- package/common/rnexecutorch/jsi/RuntimeLifecycleMonitor.h +35 -0
- package/common/rnexecutorch/metaprogramming/ConstructorHelpers.h +133 -0
- package/common/rnexecutorch/metaprogramming/FunctionHelpers.h +50 -0
- package/common/rnexecutorch/metaprogramming/TypeConcepts.h +37 -0
- package/common/rnexecutorch/models/BaseModel.cpp +183 -0
- package/common/rnexecutorch/models/BaseModel.h +61 -0
- package/common/rnexecutorch/models/classification/Classification.cpp +72 -0
- package/common/rnexecutorch/models/classification/Classification.h +31 -0
- package/{ios/RnExecutorch/models/classification/Constants.mm → common/rnexecutorch/models/classification/Constants.h} +7 -2
- package/common/rnexecutorch/models/embeddings/BaseEmbeddings.cpp +19 -0
- package/common/rnexecutorch/models/embeddings/BaseEmbeddings.h +17 -0
- package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.cpp +45 -0
- package/common/rnexecutorch/models/embeddings/image/ImageEmbeddings.h +28 -0
- package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.cpp +60 -0
- package/common/rnexecutorch/models/embeddings/text/TextEmbeddings.h +31 -0
- package/{ios/RnExecutorch/models/image_segmentation/Constants.mm → common/rnexecutorch/models/image_segmentation/Constants.h} +7 -2
- package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.cpp +168 -0
- package/common/rnexecutorch/models/image_segmentation/ImageSegmentation.h +50 -0
- package/common/rnexecutorch/models/llm/LLM.cpp +98 -0
- package/common/rnexecutorch/models/llm/LLM.h +38 -0
- package/{ios/RnExecutorch/utils/Constants.mm → common/rnexecutorch/models/object_detection/Constants.h} +9 -2
- package/common/rnexecutorch/models/object_detection/ObjectDetection.cpp +82 -0
- package/common/rnexecutorch/models/object_detection/ObjectDetection.h +37 -0
- package/common/rnexecutorch/models/object_detection/Types.h +13 -0
- package/{ios/RnExecutorch/utils/ObjectDetectionUtils.mm → common/rnexecutorch/models/object_detection/Utils.cpp} +17 -35
- package/common/rnexecutorch/models/object_detection/Utils.h +11 -0
- package/common/rnexecutorch/models/ocr/CTCLabelConverter.cpp +88 -0
- package/common/rnexecutorch/models/ocr/CTCLabelConverter.h +29 -0
- package/common/rnexecutorch/models/ocr/Constants.h +41 -0
- package/common/rnexecutorch/models/ocr/Detector.cpp +100 -0
- package/common/rnexecutorch/models/ocr/Detector.h +30 -0
- package/common/rnexecutorch/models/ocr/OCR.cpp +53 -0
- package/common/rnexecutorch/models/ocr/OCR.h +44 -0
- package/common/rnexecutorch/models/ocr/RecognitionHandler.cpp +108 -0
- package/common/rnexecutorch/models/ocr/RecognitionHandler.h +42 -0
- package/common/rnexecutorch/models/ocr/Recognizer.cpp +80 -0
- package/common/rnexecutorch/models/ocr/Recognizer.h +36 -0
- package/common/rnexecutorch/models/ocr/Types.h +35 -0
- package/common/rnexecutorch/models/ocr/utils/DetectorUtils.cpp +710 -0
- package/common/rnexecutorch/models/ocr/utils/DetectorUtils.h +81 -0
- package/common/rnexecutorch/models/ocr/utils/RecognitionHandlerUtils.cpp +159 -0
- package/common/rnexecutorch/models/ocr/utils/RecognitionHandlerUtils.h +72 -0
- package/common/rnexecutorch/models/ocr/utils/RecognizerUtils.cpp +204 -0
- package/common/rnexecutorch/models/ocr/utils/RecognizerUtils.h +71 -0
- package/common/rnexecutorch/models/speech_to_text/SpeechToText.cpp +125 -0
- package/common/rnexecutorch/models/speech_to_text/SpeechToText.h +57 -0
- package/common/rnexecutorch/models/speech_to_text/asr/ASR.cpp +303 -0
- package/common/rnexecutorch/models/speech_to_text/asr/ASR.h +61 -0
- package/common/rnexecutorch/models/speech_to_text/stream/HypothesisBuffer.cpp +82 -0
- package/common/rnexecutorch/models/speech_to_text/stream/HypothesisBuffer.h +25 -0
- package/common/rnexecutorch/models/speech_to_text/stream/OnlineASRProcessor.cpp +99 -0
- package/common/rnexecutorch/models/speech_to_text/stream/OnlineASRProcessor.h +33 -0
- package/common/rnexecutorch/models/speech_to_text/types/DecodingOptions.h +15 -0
- package/common/rnexecutorch/models/speech_to_text/types/GenerationResult.h +12 -0
- package/common/rnexecutorch/models/speech_to_text/types/ProcessResult.h +12 -0
- package/common/rnexecutorch/models/speech_to_text/types/Segment.h +14 -0
- package/common/rnexecutorch/models/speech_to_text/types/Word.h +13 -0
- package/common/rnexecutorch/models/style_transfer/StyleTransfer.cpp +55 -0
- package/common/rnexecutorch/models/style_transfer/StyleTransfer.h +35 -0
- package/common/rnexecutorch/models/text_to_image/Constants.h +9 -0
- package/common/rnexecutorch/models/text_to_image/Decoder.cpp +32 -0
- package/common/rnexecutorch/models/text_to_image/Decoder.h +24 -0
- package/common/rnexecutorch/models/text_to_image/Encoder.cpp +44 -0
- package/common/rnexecutorch/models/text_to_image/Encoder.h +32 -0
- package/common/rnexecutorch/models/text_to_image/Scheduler.cpp +152 -0
- package/common/rnexecutorch/models/text_to_image/Scheduler.h +41 -0
- package/common/rnexecutorch/models/text_to_image/TextToImage.cpp +141 -0
- package/common/rnexecutorch/models/text_to_image/TextToImage.h +64 -0
- package/common/rnexecutorch/models/text_to_image/UNet.cpp +38 -0
- package/common/rnexecutorch/models/text_to_image/UNet.h +28 -0
- package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.cpp +93 -0
- package/common/rnexecutorch/models/vertical_ocr/VerticalDetector.h +49 -0
- package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.cpp +180 -0
- package/common/rnexecutorch/models/vertical_ocr/VerticalOCR.h +85 -0
- package/common/rnexecutorch/models/voice_activity_detection/Constants.h +27 -0
- package/common/rnexecutorch/models/voice_activity_detection/Types.h +12 -0
- package/common/rnexecutorch/models/voice_activity_detection/Utils.cpp +15 -0
- package/common/rnexecutorch/models/voice_activity_detection/Utils.h +13 -0
- package/common/rnexecutorch/models/voice_activity_detection/VoiceActivityDetection.cpp +160 -0
- package/common/rnexecutorch/models/voice_activity_detection/VoiceActivityDetection.h +36 -0
- package/common/rnexecutorch/tests/CMakeLists.txt +30 -0
- package/common/rnexecutorch/tests/LogTest.cpp +530 -0
- package/common/rnexecutorch/tests/NumericalTest.cpp +110 -0
- package/common/rnexecutorch/tests/README.md +37 -0
- package/common/rnexecutorch/threads/GlobalThreadPool.h +84 -0
- package/common/rnexecutorch/threads/HighPerformanceThreadPool.h +364 -0
- package/common/rnexecutorch/threads/utils/ThreadUtils.h +29 -0
- package/common/runner/arange_util.cpp +44 -0
- package/common/runner/arange_util.h +37 -0
- package/common/runner/constants.h +28 -0
- package/common/runner/io_manager.h +240 -0
- package/common/runner/irunner.h +119 -0
- package/common/runner/kernel_includes.h +23 -0
- package/common/runner/runner.cpp +369 -0
- package/common/runner/runner.h +85 -0
- package/common/runner/sampler.cpp +201 -0
- package/common/runner/sampler.h +67 -0
- package/common/runner/stats.h +161 -0
- package/common/runner/text_decoder_runner.cpp +79 -0
- package/common/runner/text_decoder_runner.h +126 -0
- package/common/runner/text_prefiller.cpp +125 -0
- package/common/runner/text_prefiller.h +85 -0
- package/common/runner/text_token_generator.h +205 -0
- package/common/runner/util.h +153 -0
- package/ios/RnExecutorch/ETInstaller.h +8 -0
- package/ios/RnExecutorch/ETInstaller.mm +56 -0
- package/ios/RnExecutorch.xcodeproj/project.pbxproj +73 -23
- package/lib/module/Error.js +3 -0
- package/lib/module/Error.js.map +1 -1
- package/lib/module/common/Logger.js +23 -0
- package/lib/module/common/Logger.js.map +1 -0
- package/lib/module/constants/directories.js +1 -1
- package/lib/module/constants/directories.js.map +1 -1
- package/lib/module/constants/llmDefaults.js +8 -0
- package/lib/module/constants/llmDefaults.js.map +1 -1
- package/lib/module/constants/modelUrls.js +356 -84
- package/lib/module/constants/modelUrls.js.map +1 -1
- package/lib/module/constants/ocr/models.js +181 -286
- package/lib/module/constants/ocr/models.js.map +1 -1
- package/lib/module/constants/ocr/symbols.js +66 -65
- package/lib/module/constants/ocr/symbols.js.map +1 -1
- package/lib/module/controllers/LLMController.js +54 -24
- package/lib/module/controllers/LLMController.js.map +1 -1
- package/lib/module/controllers/OCRController.js +17 -10
- package/lib/module/controllers/OCRController.js.map +1 -1
- package/lib/module/controllers/VerticalOCRController.js +17 -10
- package/lib/module/controllers/VerticalOCRController.js.map +1 -1
- package/lib/module/hooks/computer_vision/useClassification.js +4 -4
- package/lib/module/hooks/computer_vision/useClassification.js.map +1 -1
- package/lib/module/hooks/computer_vision/useImageEmbeddings.js +13 -0
- package/lib/module/hooks/computer_vision/useImageEmbeddings.js.map +1 -0
- 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/useOCR.js +16 -17
- package/lib/module/hooks/computer_vision/useOCR.js.map +1 -1
- package/lib/module/hooks/computer_vision/useObjectDetection.js +3 -3
- package/lib/module/hooks/computer_vision/useObjectDetection.js.map +1 -1
- package/lib/module/hooks/computer_vision/useStyleTransfer.js +3 -3
- package/lib/module/hooks/computer_vision/useStyleTransfer.js.map +1 -1
- package/lib/module/hooks/computer_vision/useTextToImage.js +57 -0
- package/lib/module/hooks/computer_vision/useTextToImage.js.map +1 -0
- package/lib/module/hooks/computer_vision/useVerticalOCR.js +18 -19
- package/lib/module/hooks/computer_vision/useVerticalOCR.js.map +1 -1
- package/lib/module/hooks/general/useExecutorchModule.js +1 -1
- package/lib/module/hooks/general/useExecutorchModule.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useLLM.js +30 -29
- package/lib/module/hooks/natural_language_processing/useLLM.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useSpeechToText.js +72 -33
- package/lib/module/hooks/natural_language_processing/useSpeechToText.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js +2 -3
- package/lib/module/hooks/natural_language_processing/useTextEmbeddings.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useTokenizer.js +19 -18
- package/lib/module/hooks/natural_language_processing/useTokenizer.js.map +1 -1
- package/lib/module/hooks/natural_language_processing/useVAD.js +13 -0
- package/lib/module/hooks/natural_language_processing/useVAD.js.map +1 -0
- package/lib/module/hooks/useModule.js +13 -9
- package/lib/module/hooks/useModule.js.map +1 -1
- package/lib/module/index.js +21 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/BaseModule.js +9 -14
- package/lib/module/modules/BaseModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ClassificationModule.js +11 -6
- package/lib/module/modules/computer_vision/ClassificationModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js +19 -0
- package/lib/module/modules/computer_vision/ImageEmbeddingsModule.js.map +1 -0
- package/lib/module/modules/computer_vision/ImageSegmentationModule.js +20 -18
- package/lib/module/modules/computer_vision/ImageSegmentationModule.js.map +1 -1
- package/lib/module/modules/computer_vision/OCRModule.js +13 -10
- package/lib/module/modules/computer_vision/OCRModule.js.map +1 -1
- package/lib/module/modules/computer_vision/ObjectDetectionModule.js +11 -6
- package/lib/module/modules/computer_vision/ObjectDetectionModule.js.map +1 -1
- package/lib/module/modules/computer_vision/StyleTransferModule.js +11 -6
- package/lib/module/modules/computer_vision/StyleTransferModule.js.map +1 -1
- package/lib/module/modules/computer_vision/TextToImageModule.js +48 -0
- package/lib/module/modules/computer_vision/TextToImageModule.js.map +1 -0
- package/lib/module/modules/computer_vision/VerticalOCRModule.js +15 -10
- package/lib/module/modules/computer_vision/VerticalOCRModule.js.map +1 -1
- package/lib/module/modules/general/ExecutorchModule.js +8 -34
- package/lib/module/modules/general/ExecutorchModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/LLMModule.js +25 -24
- package/lib/module/modules/natural_language_processing/LLMModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/SpeechToTextModule.js +109 -27
- package/lib/module/modules/natural_language_processing/SpeechToTextModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js +13 -6
- package/lib/module/modules/natural_language_processing/TextEmbeddingsModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/TokenizerModule.js +20 -14
- package/lib/module/modules/natural_language_processing/TokenizerModule.js.map +1 -1
- package/lib/module/modules/natural_language_processing/VADModule.js +19 -0
- package/lib/module/modules/natural_language_processing/VADModule.js.map +1 -0
- package/lib/module/native/NativeETInstaller.js +5 -0
- package/lib/module/native/NativeETInstaller.js.map +1 -0
- package/lib/module/native/RnExecutorchModules.js +2 -12
- package/lib/module/native/RnExecutorchModules.js.map +1 -1
- package/lib/module/types/common.js +25 -8
- package/lib/module/types/common.js.map +1 -1
- package/lib/module/types/llm.js.map +1 -1
- package/lib/module/types/stt.js +1 -79
- package/lib/module/types/stt.js.map +1 -1
- package/lib/module/types/vad.js +2 -0
- package/lib/module/types/vad.js.map +1 -0
- package/lib/module/utils/ResourceFetcher.js +275 -114
- package/lib/module/utils/ResourceFetcher.js.map +1 -1
- package/lib/module/utils/ResourceFetcherUtils.js +155 -0
- package/lib/module/utils/ResourceFetcherUtils.js.map +1 -0
- package/lib/module/utils/llm.js +41 -1
- package/lib/module/utils/llm.js.map +1 -1
- package/lib/typescript/Error.d.ts +3 -0
- package/lib/typescript/Error.d.ts.map +1 -1
- package/lib/typescript/common/Logger.d.ts +9 -0
- package/lib/typescript/common/Logger.d.ts.map +1 -0
- package/lib/typescript/constants/llmDefaults.d.ts +1 -0
- package/lib/typescript/constants/llmDefaults.d.ts.map +1 -1
- package/lib/typescript/constants/modelUrls.d.ts +263 -79
- package/lib/typescript/constants/modelUrls.d.ts.map +1 -1
- package/lib/typescript/constants/ocr/models.d.ts +882 -284
- package/lib/typescript/constants/ocr/models.d.ts.map +1 -1
- package/lib/typescript/constants/ocr/symbols.d.ts +1 -1
- package/lib/typescript/constants/ocr/symbols.d.ts.map +1 -1
- package/lib/typescript/controllers/LLMController.d.ts +8 -7
- package/lib/typescript/controllers/LLMController.d.ts.map +1 -1
- package/lib/typescript/controllers/OCRController.d.ts +5 -6
- package/lib/typescript/controllers/OCRController.d.ts.map +1 -1
- package/lib/typescript/controllers/VerticalOCRController.d.ts +5 -6
- package/lib/typescript/controllers/VerticalOCRController.d.ts.map +1 -1
- package/lib/typescript/hooks/computer_vision/useClassification.d.ts +8 -6
- package/lib/typescript/hooks/computer_vision/useClassification.d.ts.map +1 -1
- package/lib/typescript/hooks/computer_vision/useImageEmbeddings.d.ts +16 -0
- package/lib/typescript/hooks/computer_vision/useImageEmbeddings.d.ts.map +1 -0
- package/lib/typescript/hooks/computer_vision/useImageSegmentation.d.ts +5 -3
- package/lib/typescript/hooks/computer_vision/useImageSegmentation.d.ts.map +1 -1
- package/lib/typescript/hooks/computer_vision/useOCR.d.ts +5 -5
- package/lib/typescript/hooks/computer_vision/useOCR.d.ts.map +1 -1
- package/lib/typescript/hooks/computer_vision/useObjectDetection.d.ts +5 -3
- package/lib/typescript/hooks/computer_vision/useObjectDetection.d.ts.map +1 -1
- package/lib/typescript/hooks/computer_vision/useStyleTransfer.d.ts +5 -3
- package/lib/typescript/hooks/computer_vision/useStyleTransfer.d.ts.map +1 -1
- package/lib/typescript/hooks/computer_vision/useTextToImage.d.ts +22 -0
- package/lib/typescript/hooks/computer_vision/useTextToImage.d.ts.map +1 -0
- package/lib/typescript/hooks/computer_vision/useVerticalOCR.d.ts +4 -6
- package/lib/typescript/hooks/computer_vision/useVerticalOCR.d.ts.map +1 -1
- package/lib/typescript/hooks/general/useExecutorchModule.d.ts +1 -1
- package/lib/typescript/hooks/natural_language_processing/useLLM.d.ts +6 -4
- package/lib/typescript/hooks/natural_language_processing/useLLM.d.ts.map +1 -1
- package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts +15 -22
- package/lib/typescript/hooks/natural_language_processing/useSpeechToText.d.ts.map +1 -1
- package/lib/typescript/hooks/natural_language_processing/useTextEmbeddings.d.ts +9 -5
- package/lib/typescript/hooks/natural_language_processing/useTextEmbeddings.d.ts.map +1 -1
- package/lib/typescript/hooks/natural_language_processing/useTokenizer.d.ts +6 -4
- package/lib/typescript/hooks/natural_language_processing/useTokenizer.d.ts.map +1 -1
- package/lib/typescript/hooks/natural_language_processing/useVAD.d.ts +16 -0
- package/lib/typescript/hooks/natural_language_processing/useVAD.d.ts.map +1 -0
- 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 +26 -3
- 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 +4 -4
- package/lib/typescript/modules/computer_vision/ClassificationModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts +9 -0
- package/lib/typescript/modules/computer_vision/ImageEmbeddingsModule.d.ts.map +1 -0
- package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts +7 -27
- package/lib/typescript/modules/computer_vision/ImageSegmentationModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/OCRModule.d.ts +8 -7
- package/lib/typescript/modules/computer_vision/OCRModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts +5 -3
- package/lib/typescript/modules/computer_vision/ObjectDetectionModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts +4 -3
- package/lib/typescript/modules/computer_vision/StyleTransferModule.d.ts.map +1 -1
- package/lib/typescript/modules/computer_vision/TextToImageModule.d.ts +16 -0
- package/lib/typescript/modules/computer_vision/TextToImageModule.d.ts.map +1 -0
- package/lib/typescript/modules/computer_vision/VerticalOCRModule.d.ts +7 -8
- package/lib/typescript/modules/computer_vision/VerticalOCRModule.d.ts.map +1 -1
- package/lib/typescript/modules/general/ExecutorchModule.d.ts +4 -7
- package/lib/typescript/modules/general/ExecutorchModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts +19 -17
- package/lib/typescript/modules/natural_language_processing/LLMModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts +17 -13
- package/lib/typescript/modules/natural_language_processing/SpeechToTextModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts +5 -3
- package/lib/typescript/modules/natural_language_processing/TextEmbeddingsModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/TokenizerModule.d.ts +10 -9
- package/lib/typescript/modules/natural_language_processing/TokenizerModule.d.ts.map +1 -1
- package/lib/typescript/modules/natural_language_processing/VADModule.d.ts +10 -0
- package/lib/typescript/modules/natural_language_processing/VADModule.d.ts.map +1 -0
- package/lib/typescript/native/{NativeStyleTransfer.d.ts → NativeETInstaller.d.ts} +2 -3
- package/lib/typescript/native/NativeETInstaller.d.ts.map +1 -0
- package/lib/typescript/native/RnExecutorchModules.d.ts +3 -23
- package/lib/typescript/native/RnExecutorchModules.d.ts.map +1 -1
- package/lib/typescript/types/common.d.ts +30 -2
- package/lib/typescript/types/common.d.ts.map +1 -1
- package/lib/typescript/types/llm.d.ts +9 -1
- package/lib/typescript/types/llm.d.ts.map +1 -1
- package/lib/typescript/types/stt.d.ts +9 -88
- package/lib/typescript/types/stt.d.ts.map +1 -1
- package/lib/typescript/types/vad.d.ts +5 -0
- package/lib/typescript/types/vad.d.ts.map +1 -0
- package/lib/typescript/utils/ResourceFetcher.d.ts +47 -10
- package/lib/typescript/utils/ResourceFetcher.d.ts.map +1 -1
- package/lib/typescript/utils/ResourceFetcherUtils.d.ts +55 -0
- package/lib/typescript/utils/ResourceFetcherUtils.d.ts.map +1 -0
- package/lib/typescript/utils/llm.d.ts +4 -0
- package/lib/typescript/utils/llm.d.ts.map +1 -1
- package/package.json +32 -68
- package/react-native-executorch.podspec +62 -4
- package/src/Error.ts +3 -0
- package/src/common/Logger.ts +25 -0
- package/src/constants/directories.ts +1 -1
- package/src/constants/llmDefaults.ts +11 -0
- package/src/constants/modelUrls.ts +433 -168
- package/src/constants/ocr/models.ts +826 -395
- package/src/constants/ocr/symbols.ts +66 -65
- package/src/controllers/LLMController.ts +77 -37
- package/src/controllers/OCRController.ts +25 -16
- package/src/controllers/VerticalOCRController.ts +25 -15
- package/src/hooks/computer_vision/useClassification.ts +8 -9
- package/src/hooks/computer_vision/useImageEmbeddings.ts +15 -0
- package/src/hooks/computer_vision/useImageSegmentation.ts +3 -6
- package/src/hooks/computer_vision/useOCR.ts +32 -25
- package/src/hooks/computer_vision/useObjectDetection.ts +4 -7
- package/src/hooks/computer_vision/useStyleTransfer.ts +4 -4
- package/src/hooks/computer_vision/useTextToImage.ts +92 -0
- package/src/hooks/computer_vision/useVerticalOCR.ts +33 -31
- package/src/hooks/general/useExecutorchModule.ts +1 -1
- package/src/hooks/natural_language_processing/useLLM.ts +54 -31
- package/src/hooks/natural_language_processing/useSpeechToText.ts +96 -88
- package/src/hooks/natural_language_processing/useTextEmbeddings.ts +9 -9
- package/src/hooks/natural_language_processing/useTokenizer.ts +21 -21
- package/src/hooks/natural_language_processing/useVAD.ts +15 -0
- package/src/hooks/useModule.ts +23 -13
- package/src/index.ts +126 -0
- package/src/modules/BaseModule.ts +17 -22
- package/src/modules/computer_vision/ClassificationModule.ts +18 -9
- package/src/modules/computer_vision/ImageEmbeddingsModule.ts +26 -0
- package/src/modules/computer_vision/ImageSegmentationModule.ts +34 -26
- package/src/modules/computer_vision/OCRModule.ts +23 -15
- package/src/modules/computer_vision/ObjectDetectionModule.ts +22 -9
- package/src/modules/computer_vision/StyleTransferModule.ts +18 -9
- package/src/modules/computer_vision/TextToImageModule.ts +93 -0
- package/src/modules/computer_vision/VerticalOCRModule.ts +25 -21
- package/src/modules/general/ExecutorchModule.ts +16 -46
- package/src/modules/natural_language_processing/LLMModule.ts +41 -32
- package/src/modules/natural_language_processing/SpeechToTextModule.ts +164 -66
- package/src/modules/natural_language_processing/TextEmbeddingsModule.ts +25 -10
- package/src/modules/natural_language_processing/TokenizerModule.ts +27 -17
- package/src/modules/natural_language_processing/VADModule.ts +27 -0
- package/src/native/NativeETInstaller.ts +8 -0
- package/src/native/RnExecutorchModules.ts +4 -50
- package/src/types/common.ts +40 -12
- package/src/types/llm.ts +10 -0
- package/src/types/stt.ts +87 -90
- package/src/types/vad.ts +4 -0
- package/src/utils/ResourceFetcher.ts +342 -120
- package/src/utils/ResourceFetcherUtils.ts +184 -0
- package/src/utils/llm.ts +65 -1
- package/third-party/android/libs/cpuinfo/arm64-v8a/libcpuinfo.so +0 -0
- package/third-party/android/libs/executorch/arm64-v8a/libexecutorch.so +0 -0
- package/third-party/android/libs/executorch/x86_64/libexecutorch.so +0 -0
- package/third-party/android/libs/opencv/arm64-v8a/libopencv_core.a +0 -0
- package/third-party/android/libs/opencv/arm64-v8a/libopencv_features2d.a +0 -0
- package/third-party/android/libs/opencv/arm64-v8a/libopencv_highgui.a +0 -0
- package/third-party/android/libs/opencv/arm64-v8a/libopencv_imgproc.a +0 -0
- package/third-party/android/libs/opencv/arm64-v8a/libopencv_photo.a +0 -0
- package/third-party/android/libs/opencv/arm64-v8a/libopencv_video.a +0 -0
- package/third-party/android/libs/opencv/x86_64/libopencv_core.a +0 -0
- package/third-party/android/libs/opencv/x86_64/libopencv_features2d.a +0 -0
- package/third-party/android/libs/opencv/x86_64/libopencv_highgui.a +0 -0
- package/third-party/android/libs/opencv/x86_64/libopencv_imgproc.a +0 -0
- package/third-party/android/libs/opencv/x86_64/libopencv_photo.a +0 -0
- package/third-party/android/libs/opencv/x86_64/libopencv_video.a +0 -0
- package/third-party/android/libs/opencv-third-party/arm64-v8a/libkleidicv.a +0 -0
- package/third-party/android/libs/opencv-third-party/arm64-v8a/libkleidicv_hal.a +0 -0
- package/third-party/android/libs/opencv-third-party/arm64-v8a/libkleidicv_thread.a +0 -0
- package/third-party/android/libs/pthreadpool/arm64-v8a/libpthreadpool.so +0 -0
- package/third-party/android/libs/tokenizers-cpp/arm64-v8a/libsentencepiece.a +0 -0
- package/third-party/android/libs/tokenizers-cpp/arm64-v8a/libtokenizers_c.a +0 -0
- package/third-party/android/libs/tokenizers-cpp/arm64-v8a/libtokenizers_cpp.a +0 -0
- package/{ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib → third-party/android/libs/tokenizers-cpp/x86_64/libsentencepiece.a} +0 -0
- package/third-party/android/libs/tokenizers-cpp/x86_64/libtokenizers_c.a +0 -0
- package/third-party/android/libs/tokenizers-cpp/x86_64/libtokenizers_cpp.a +0 -0
- package/third-party/include/c10/macros/Export.h +1 -0
- package/third-party/include/c10/macros/Macros.h +1 -0
- package/third-party/include/c10/util/BFloat16-inl.h +1 -0
- package/third-party/include/c10/util/BFloat16-math.h +266 -0
- package/third-party/include/c10/util/BFloat16.h +1 -0
- package/third-party/include/c10/util/Half-inl.h +1 -0
- package/third-party/include/c10/util/Half.h +8 -0
- package/third-party/include/c10/util/TypeSafeSignMath.h +1 -0
- package/third-party/include/c10/util/bit_cast.h +1 -0
- package/third-party/include/c10/util/complex.h +72 -0
- package/third-party/include/c10/util/complex_math.h +399 -0
- package/third-party/include/c10/util/complex_utils.h +41 -0
- package/third-party/include/c10/util/floating_point_utils.h +1 -0
- package/third-party/include/c10/util/irange.h +107 -0
- package/third-party/include/c10/util/llvmMathExtras.h +866 -0
- package/third-party/include/c10/util/overflows.h +95 -0
- package/third-party/include/c10/util/safe_numerics.h +97 -0
- package/third-party/include/cpuinfo/cpuinfo.h +2305 -0
- package/third-party/include/executorch/ExecuTorch.h +13 -0
- package/third-party/include/executorch/ExecuTorchError.h +90 -0
- package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLM.h +12 -0
- package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMConfig.h +56 -0
- package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMError.h +16 -0
- package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMMultimodalRunner.h +227 -0
- package/third-party/include/executorch/ExecuTorchLLM/ExecuTorchLLMTextRunner.h +97 -0
- package/third-party/include/executorch/ExecuTorchLLM/module.modulemap +4 -0
- package/third-party/include/executorch/ExecuTorchLog.h +77 -0
- package/third-party/include/executorch/ExecuTorchModule.h +563 -0
- package/third-party/include/executorch/ExecuTorchTensor.h +1421 -0
- package/third-party/include/executorch/ExecuTorchValue.h +265 -0
- package/third-party/include/executorch/extension/module/bundled_module.h +131 -0
- package/third-party/include/executorch/extension/module/module.h +649 -0
- package/third-party/include/executorch/extension/tensor/tensor.h +14 -0
- package/third-party/include/executorch/extension/tensor/tensor_accessor.h +190 -0
- package/third-party/include/executorch/extension/tensor/tensor_ptr.h +409 -0
- package/third-party/include/executorch/extension/tensor/tensor_ptr_maker.h +653 -0
- package/third-party/include/executorch/extension/threadpool/cpuinfo_utils.h +24 -0
- package/third-party/include/executorch/extension/threadpool/threadpool.h +95 -0
- package/third-party/include/executorch/runtime/backend/backend_execution_context.h +71 -0
- package/third-party/include/executorch/runtime/backend/backend_init_context.h +84 -0
- package/third-party/include/executorch/runtime/backend/backend_option_context.h +34 -0
- package/third-party/include/executorch/runtime/backend/interface.h +227 -0
- package/third-party/include/executorch/runtime/backend/options.h +206 -0
- package/third-party/include/executorch/runtime/core/array_ref.h +235 -0
- package/third-party/include/executorch/runtime/core/data_loader.h +136 -0
- package/third-party/include/executorch/runtime/core/defines.h +20 -0
- package/third-party/include/executorch/runtime/core/error.h +256 -0
- package/third-party/include/executorch/runtime/core/evalue.h +515 -0
- package/third-party/include/executorch/runtime/core/event_tracer.h +580 -0
- package/third-party/include/executorch/runtime/core/event_tracer_hooks.h +332 -0
- package/third-party/include/executorch/runtime/core/event_tracer_hooks_delegate.h +197 -0
- package/third-party/include/executorch/runtime/core/exec_aten/exec_aten.h +170 -0
- package/third-party/include/executorch/runtime/core/exec_aten/util/dim_order_util.h +264 -0
- package/third-party/include/executorch/runtime/core/exec_aten/util/scalar_type_util.h +1313 -0
- package/third-party/include/executorch/runtime/core/exec_aten/util/tensor_dimension_limit.h +21 -0
- package/third-party/include/executorch/runtime/core/exec_aten/util/tensor_shape_to_c_string.h +69 -0
- package/third-party/include/executorch/runtime/core/exec_aten/util/tensor_util.h +1251 -0
- package/third-party/include/executorch/runtime/core/freeable_buffer.h +107 -0
- package/third-party/include/executorch/runtime/core/function_ref.h +100 -0
- package/third-party/include/executorch/runtime/core/hierarchical_allocator.h +107 -0
- package/third-party/include/executorch/runtime/core/memory_allocator.h +208 -0
- package/third-party/include/executorch/runtime/core/named_data_map.h +76 -0
- package/third-party/include/executorch/runtime/core/portable_type/bfloat16.h +27 -0
- package/third-party/include/executorch/runtime/core/portable_type/bfloat16_math.h +14 -0
- package/third-party/include/executorch/runtime/core/portable_type/bits_types.h +83 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/macros/Export.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/macros/Macros.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-inl.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16-math.h +266 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/BFloat16.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/Half-inl.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/Half.h +8 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/TypeSafeSignMath.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/bit_cast.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/complex.h +72 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/complex_math.h +399 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/complex_utils.h +41 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/floating_point_utils.h +1 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/irange.h +107 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/llvmMathExtras.h +866 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/overflows.h +95 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/c10/util/safe_numerics.h +97 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Export.h +154 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/macros/Macros.h +553 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/BFloat16.h +477 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/Half.h +781 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/TypeSafeSignMath.h +141 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/bit_cast.h +49 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/complex.h +593 -0
- package/third-party/include/executorch/runtime/core/portable_type/c10/torch/headeronly/util/floating_point_utils.h +38 -0
- package/third-party/include/executorch/runtime/core/portable_type/complex.h +21 -0
- package/third-party/include/executorch/runtime/core/portable_type/device.h +70 -0
- package/third-party/include/executorch/runtime/core/portable_type/half.h +27 -0
- package/third-party/include/executorch/runtime/core/portable_type/optional.h +36 -0
- package/third-party/include/executorch/runtime/core/portable_type/qint_types.h +83 -0
- package/third-party/include/executorch/runtime/core/portable_type/scalar.h +110 -0
- package/third-party/include/executorch/runtime/core/portable_type/scalar_type.h +154 -0
- package/third-party/include/executorch/runtime/core/portable_type/string_view.h +29 -0
- package/third-party/include/executorch/runtime/core/portable_type/tensor.h +142 -0
- package/third-party/include/executorch/runtime/core/portable_type/tensor_impl.h +281 -0
- package/third-party/include/executorch/runtime/core/portable_type/tensor_options.h +60 -0
- package/third-party/include/executorch/runtime/core/result.h +258 -0
- package/third-party/include/executorch/runtime/core/span.h +97 -0
- package/third-party/include/executorch/runtime/core/tag.h +90 -0
- package/third-party/include/executorch/runtime/core/tensor_layout.h +79 -0
- package/third-party/include/executorch/runtime/core/tensor_shape_dynamism.h +39 -0
- package/third-party/include/executorch/runtime/executor/memory_manager.h +113 -0
- package/third-party/include/executorch/runtime/executor/merged_data_map.h +142 -0
- package/third-party/include/executorch/runtime/executor/method.h +412 -0
- package/third-party/include/executorch/runtime/executor/method_meta.h +298 -0
- package/third-party/include/executorch/runtime/executor/program.h +309 -0
- package/third-party/include/executorch/runtime/executor/pte_data_map.h +145 -0
- package/third-party/include/executorch/runtime/executor/tensor_parser.h +157 -0
- package/third-party/include/executorch/runtime/kernel/kernel_runtime_context.h +122 -0
- package/third-party/include/executorch/runtime/kernel/operator_registry.h +280 -0
- package/third-party/include/executorch/runtime/platform/abort.h +36 -0
- package/third-party/include/executorch/runtime/platform/assert.h +119 -0
- package/third-party/include/executorch/runtime/platform/clock.h +43 -0
- package/third-party/include/executorch/runtime/platform/compat_unistd.h +75 -0
- package/third-party/include/executorch/runtime/platform/compiler.h +201 -0
- package/third-party/include/executorch/runtime/platform/log.h +177 -0
- package/third-party/include/executorch/runtime/platform/platform.h +259 -0
- package/third-party/include/executorch/runtime/platform/profiler.h +292 -0
- package/third-party/include/executorch/runtime/platform/runtime.h +35 -0
- package/third-party/include/executorch/runtime/platform/system.h +49 -0
- package/third-party/include/executorch/runtime/platform/types.h +24 -0
- package/third-party/include/executorch/schema/extended_header.h +85 -0
- package/third-party/include/headeronly/macros/Export.h +88 -0
- package/third-party/include/opencv2/core/affine.hpp +676 -0
- package/third-party/include/opencv2/core/async.hpp +107 -0
- package/third-party/include/opencv2/core/base.hpp +735 -0
- package/third-party/include/opencv2/core/bindings_utils.hpp +279 -0
- package/third-party/include/opencv2/core/bufferpool.hpp +39 -0
- package/third-party/include/opencv2/core/check.hpp +231 -0
- package/third-party/include/opencv2/core/core.hpp +55 -0
- package/third-party/include/opencv2/core/core_c.h +3261 -0
- package/third-party/include/opencv2/core/cv_cpu_dispatch.h +404 -0
- package/third-party/include/opencv2/core/cv_cpu_helper.h +856 -0
- package/third-party/include/opencv2/core/cvdef.h +1003 -0
- package/third-party/include/opencv2/core/cvstd.hpp +196 -0
- package/third-party/include/opencv2/core/cvstd.inl.hpp +188 -0
- package/third-party/include/opencv2/core/cvstd_wrapper.hpp +187 -0
- package/third-party/include/opencv2/core/detail/async_promise.hpp +73 -0
- package/third-party/include/opencv2/core/detail/dispatch_helper.impl.hpp +48 -0
- package/third-party/include/opencv2/core/detail/exception_ptr.hpp +24 -0
- package/third-party/include/opencv2/core/dualquaternion.hpp +1054 -0
- package/third-party/include/opencv2/core/dualquaternion.inl.hpp +464 -0
- package/third-party/include/opencv2/core/eigen.hpp +405 -0
- package/third-party/include/opencv2/core/fast_math.hpp +433 -0
- package/third-party/include/opencv2/core/hal/hal.hpp +451 -0
- package/third-party/include/opencv2/core/hal/interface.h +191 -0
- package/third-party/include/opencv2/core/hal/intrin.hpp +1222 -0
- package/third-party/include/opencv2/core/hal/intrin_avx.hpp +3378 -0
- package/third-party/include/opencv2/core/hal/intrin_avx512.hpp +3688 -0
- package/third-party/include/opencv2/core/hal/intrin_cpp.hpp +3446 -0
- package/third-party/include/opencv2/core/hal/intrin_forward.hpp +195 -0
- package/third-party/include/opencv2/core/hal/intrin_lasx.hpp +3243 -0
- package/third-party/include/opencv2/core/hal/intrin_lsx.hpp +2671 -0
- package/third-party/include/opencv2/core/hal/intrin_math.hpp +772 -0
- package/third-party/include/opencv2/core/hal/intrin_msa.hpp +1973 -0
- package/third-party/include/opencv2/core/hal/intrin_neon.hpp +2710 -0
- package/third-party/include/opencv2/core/hal/intrin_rvv071.hpp +3452 -0
- package/third-party/include/opencv2/core/hal/intrin_rvv_scalable.hpp +2559 -0
- package/third-party/include/opencv2/core/hal/intrin_sse.hpp +3528 -0
- package/third-party/include/opencv2/core/hal/intrin_sse_em.hpp +175 -0
- package/third-party/include/opencv2/core/hal/intrin_vsx.hpp +1756 -0
- package/third-party/include/opencv2/core/hal/intrin_wasm.hpp +2911 -0
- package/third-party/include/opencv2/core/hal/msa_macros.h +2079 -0
- package/third-party/include/opencv2/core/hal/simd_utils.impl.hpp +313 -0
- package/third-party/include/opencv2/core/mat.hpp +3842 -0
- package/third-party/include/opencv2/core/mat.inl.hpp +2753 -0
- package/third-party/include/opencv2/core/matx.hpp +603 -0
- package/third-party/include/opencv2/core/matx.inl.hpp +1132 -0
- package/third-party/include/opencv2/core/neon_utils.hpp +127 -0
- package/third-party/include/opencv2/core/operations.hpp +610 -0
- package/third-party/include/opencv2/core/optim.hpp +362 -0
- package/third-party/include/opencv2/core/parallel/backend/parallel_for.openmp.hpp +66 -0
- package/third-party/include/opencv2/core/parallel/backend/parallel_for.tbb.hpp +148 -0
- package/third-party/include/opencv2/core/parallel/parallel_backend.hpp +108 -0
- package/third-party/include/opencv2/core/persistence.hpp +1321 -0
- package/third-party/include/opencv2/core/quaternion.hpp +1889 -0
- package/third-party/include/opencv2/core/quaternion.inl.hpp +907 -0
- package/third-party/include/opencv2/core/saturate.hpp +347 -0
- package/third-party/include/opencv2/core/simd_intrinsics.hpp +90 -0
- package/third-party/include/opencv2/core/softfloat.hpp +657 -0
- package/third-party/include/opencv2/core/sse_utils.hpp +861 -0
- package/third-party/include/opencv2/core/traits.hpp +417 -0
- package/third-party/include/opencv2/core/types.hpp +2368 -0
- package/third-party/include/opencv2/core/types_c.h +2064 -0
- package/third-party/include/opencv2/core/utility.hpp +1296 -0
- package/third-party/include/opencv2/core/utils/allocator_stats.hpp +31 -0
- package/third-party/include/opencv2/core/utils/allocator_stats.impl.hpp +111 -0
- package/third-party/include/opencv2/core/utils/filesystem.hpp +91 -0
- package/third-party/include/opencv2/core/utils/fp_control_utils.hpp +70 -0
- package/third-party/include/opencv2/core/utils/instrumentation.hpp +127 -0
- package/third-party/include/opencv2/core/utils/logger.defines.hpp +50 -0
- package/third-party/include/opencv2/core/utils/logger.hpp +258 -0
- package/third-party/include/opencv2/core/utils/logtag.hpp +27 -0
- package/third-party/include/opencv2/core/utils/tls.hpp +230 -0
- package/third-party/include/opencv2/core/utils/trace.hpp +281 -0
- package/third-party/include/opencv2/core/version.hpp +29 -0
- package/third-party/include/opencv2/core/vsx_utils.hpp +1115 -0
- package/third-party/include/opencv2/core.hpp +3699 -0
- package/third-party/include/opencv2/cvconfig.h +155 -0
- package/third-party/include/opencv2/dnn/dnn.hpp +51 -0
- package/third-party/include/opencv2/dnn.hpp +17 -0
- package/third-party/include/opencv2/features2d/features2d.hpp +55 -0
- package/third-party/include/opencv2/features2d/hal/interface.h +32 -0
- package/third-party/include/opencv2/features2d.hpp +1756 -0
- package/third-party/include/opencv2/highgui/highgui.hpp +113 -0
- package/third-party/include/opencv2/highgui.hpp +17 -0
- package/third-party/include/opencv2/imgproc/bindings.hpp +34 -0
- package/third-party/include/opencv2/imgproc/detail/gcgraph.hpp +355 -0
- package/third-party/include/opencv2/imgproc/detail/legacy.hpp +35 -0
- package/third-party/include/opencv2/imgproc/hal/hal.hpp +246 -0
- package/third-party/include/opencv2/imgproc/hal/interface.h +52 -0
- package/third-party/include/opencv2/imgproc/imgproc.hpp +55 -0
- package/third-party/include/opencv2/imgproc/imgproc_c.h +1261 -0
- package/third-party/include/opencv2/imgproc/segmentation.hpp +168 -0
- package/third-party/include/opencv2/imgproc/types_c.h +632 -0
- package/third-party/include/opencv2/imgproc.hpp +5956 -0
- package/third-party/include/opencv2/opencv.hpp +102 -0
- package/third-party/include/opencv2/opencv_modules.hpp +19 -0
- package/third-party/include/opencv2/photo/legacy/constants_c.h +10 -0
- package/third-party/include/opencv2/photo/photo.hpp +55 -0
- package/third-party/include/opencv2/photo.hpp +975 -0
- package/third-party/include/opencv2/video/background_segm.hpp +341 -0
- package/third-party/include/opencv2/video/detail/tracking.detail.hpp +435 -0
- package/third-party/include/opencv2/video/legacy/constants_c.h +15 -0
- package/third-party/include/opencv2/video/tracking.hpp +1014 -0
- package/third-party/include/opencv2/video/video.hpp +55 -0
- package/third-party/include/opencv2/video.hpp +65 -0
- package/third-party/include/pthreadpool/pthreadpool.h +2236 -0
- package/third-party/include/tokenizers-cpp/tokenizers_c.h +61 -0
- package/third-party/include/tokenizers-cpp/tokenizers_cpp.h +118 -0
- package/third-party/include/torch/headeronly/macros/Export.h +154 -0
- package/third-party/include/torch/headeronly/macros/Macros.h +553 -0
- package/third-party/include/torch/headeronly/util/BFloat16.h +477 -0
- package/third-party/include/torch/headeronly/util/Half.h +781 -0
- package/third-party/include/torch/headeronly/util/TypeSafeSignMath.h +141 -0
- package/third-party/include/torch/headeronly/util/bit_cast.h +49 -0
- package/third-party/include/torch/headeronly/util/complex.h +593 -0
- package/third-party/include/torch/headeronly/util/floating_point_utils.h +38 -0
- package/third-party/ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib +0 -0
- package/{ios → third-party/ios}/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/Info.plist +0 -0
- package/third-party/ios/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/ExecutorchLib +0 -0
- package/{ios → third-party/ios}/ExecutorchLib.xcframework/ios-arm64-simulator/ExecutorchLib.framework/Info.plist +0 -0
- package/third-party/ios/libs/cpuinfo/libcpuinfo.a +0 -0
- package/third-party/ios/libs/pthreadpool/physical-arm64-release/libpthreadpool.a +0 -0
- package/third-party/ios/libs/pthreadpool/simulator-arm64-debug/libpthreadpool.a +0 -0
- package/third-party/ios/libs/tokenizers-cpp/physical-arm64-release/libsentencepiece.a +0 -0
- package/{ios/ExecutorchLib.xcframework/ios-arm64/ExecutorchLib.framework/ExecutorchLib → third-party/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_c.a} +0 -0
- package/third-party/ios/libs/tokenizers-cpp/physical-arm64-release/libtokenizers_cpp.a +0 -0
- package/third-party/ios/libs/tokenizers-cpp/simulator-arm64-debug/libsentencepiece.a +0 -0
- package/third-party/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_c.a +0 -0
- package/third-party/ios/libs/tokenizers-cpp/simulator-arm64-debug/libtokenizers_cpp.a +0 -0
- package/LICENSE +0 -79
- package/android/src/main/java/com/swmansion/rnexecutorch/Classification.kt +0 -64
- package/android/src/main/java/com/swmansion/rnexecutorch/ETModule.kt +0 -90
- package/android/src/main/java/com/swmansion/rnexecutorch/ImageSegmentation.kt +0 -58
- package/android/src/main/java/com/swmansion/rnexecutorch/LLM.kt +0 -63
- package/android/src/main/java/com/swmansion/rnexecutorch/OCR.kt +0 -90
- package/android/src/main/java/com/swmansion/rnexecutorch/ObjectDetection.kt +0 -64
- package/android/src/main/java/com/swmansion/rnexecutorch/SpeechToText.kt +0 -91
- package/android/src/main/java/com/swmansion/rnexecutorch/StyleTransfer.kt +0 -54
- package/android/src/main/java/com/swmansion/rnexecutorch/TextEmbeddings.kt +0 -51
- package/android/src/main/java/com/swmansion/rnexecutorch/Tokenizer.kt +0 -86
- package/android/src/main/java/com/swmansion/rnexecutorch/VerticalOCR.kt +0 -179
- package/android/src/main/java/com/swmansion/rnexecutorch/models/BaseModel.kt +0 -54
- package/android/src/main/java/com/swmansion/rnexecutorch/models/TextEmbeddings/TextEmbeddingsModel.kt +0 -48
- package/android/src/main/java/com/swmansion/rnexecutorch/models/TextEmbeddings/TextEmbeddingsUtils.kt +0 -37
- package/android/src/main/java/com/swmansion/rnexecutorch/models/classification/ClassificationModel.kt +0 -46
- package/android/src/main/java/com/swmansion/rnexecutorch/models/classification/Constants.kt +0 -1005
- package/android/src/main/java/com/swmansion/rnexecutorch/models/imageSegmentation/Constants.kt +0 -26
- package/android/src/main/java/com/swmansion/rnexecutorch/models/imageSegmentation/ImageSegmentationModel.kt +0 -142
- package/android/src/main/java/com/swmansion/rnexecutorch/models/objectDetection/SSDLiteLargeModel.kt +0 -74
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/Detector.kt +0 -82
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/RecognitionHandler.kt +0 -117
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/Recognizer.kt +0 -51
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/VerticalDetector.kt +0 -89
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/utils/CTCLabelConverter.kt +0 -58
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/utils/Constants.kt +0 -31
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/utils/DetectorUtils.kt +0 -608
- package/android/src/main/java/com/swmansion/rnexecutorch/models/ocr/utils/RecognizerUtils.kt +0 -430
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/BaseS2TDecoder.kt +0 -39
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/BaseS2TModule.kt +0 -43
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/Moonshine.kt +0 -16
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/MoonshineDecoder.kt +0 -23
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/MoonshineEncoder.kt +0 -20
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/Whisper.kt +0 -16
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/WhisperDecoder.kt +0 -22
- package/android/src/main/java/com/swmansion/rnexecutorch/models/speechToText/WhisperEncoder.kt +0 -29
- package/android/src/main/java/com/swmansion/rnexecutorch/models/styleTransfer/StyleTransferModel.kt +0 -43
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/ArrayUtils.kt +0 -87
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/ETError.kt +0 -34
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/ImageProcessor.kt +0 -237
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/Numerical.kt +0 -8
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/ObjectDetectionUtils.kt +0 -201
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/STFT.kt +0 -50
- package/android/src/main/java/com/swmansion/rnexecutorch/utils/TensorUtils.kt +0 -103
- 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-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/RnExecutorch/Classification.h +0 -5
- package/ios/RnExecutorch/Classification.mm +0 -54
- package/ios/RnExecutorch/ETModule.h +0 -5
- package/ios/RnExecutorch/ETModule.mm +0 -75
- package/ios/RnExecutorch/ImageSegmentation.h +0 -5
- package/ios/RnExecutorch/ImageSegmentation.mm +0 -60
- package/ios/RnExecutorch/LLM.h +0 -5
- package/ios/RnExecutorch/LLM.mm +0 -78
- package/ios/RnExecutorch/OCR.h +0 -5
- package/ios/RnExecutorch/OCR.mm +0 -96
- package/ios/RnExecutorch/ObjectDetection.h +0 -5
- package/ios/RnExecutorch/ObjectDetection.mm +0 -56
- package/ios/RnExecutorch/SpeechToText.h +0 -5
- package/ios/RnExecutorch/SpeechToText.mm +0 -125
- package/ios/RnExecutorch/StyleTransfer.h +0 -5
- package/ios/RnExecutorch/StyleTransfer.mm +0 -55
- package/ios/RnExecutorch/TextEmbeddings.h +0 -5
- package/ios/RnExecutorch/TextEmbeddings.mm +0 -62
- package/ios/RnExecutorch/Tokenizer.h +0 -5
- package/ios/RnExecutorch/Tokenizer.mm +0 -83
- package/ios/RnExecutorch/VerticalOCR.h +0 -5
- package/ios/RnExecutorch/VerticalOCR.mm +0 -183
- package/ios/RnExecutorch/models/BaseModel.h +0 -21
- package/ios/RnExecutorch/models/BaseModel.mm +0 -43
- package/ios/RnExecutorch/models/classification/ClassificationModel.h +0 -10
- package/ios/RnExecutorch/models/classification/ClassificationModel.mm +0 -53
- package/ios/RnExecutorch/models/classification/Constants.h +0 -3
- package/ios/RnExecutorch/models/image_segmentation/Constants.h +0 -4
- package/ios/RnExecutorch/models/image_segmentation/ImageSegmentationModel.h +0 -10
- package/ios/RnExecutorch/models/image_segmentation/ImageSegmentationModel.mm +0 -146
- package/ios/RnExecutorch/models/object_detection/SSDLiteLargeModel.hpp +0 -11
- package/ios/RnExecutorch/models/object_detection/SSDLiteLargeModel.mm +0 -64
- package/ios/RnExecutorch/models/ocr/Detector.h +0 -9
- package/ios/RnExecutorch/models/ocr/Detector.mm +0 -101
- package/ios/RnExecutorch/models/ocr/RecognitionHandler.h +0 -16
- package/ios/RnExecutorch/models/ocr/RecognitionHandler.mm +0 -135
- package/ios/RnExecutorch/models/ocr/Recognizer.h +0 -8
- package/ios/RnExecutorch/models/ocr/Recognizer.mm +0 -77
- package/ios/RnExecutorch/models/ocr/VerticalDetector.h +0 -10
- package/ios/RnExecutorch/models/ocr/VerticalDetector.mm +0 -118
- package/ios/RnExecutorch/models/ocr/utils/CTCLabelConverter.h +0 -16
- package/ios/RnExecutorch/models/ocr/utils/CTCLabelConverter.mm +0 -80
- package/ios/RnExecutorch/models/ocr/utils/Constants.h +0 -26
- package/ios/RnExecutorch/models/ocr/utils/DetectorUtils.h +0 -31
- package/ios/RnExecutorch/models/ocr/utils/DetectorUtils.mm +0 -754
- package/ios/RnExecutorch/models/ocr/utils/OCRUtils.h +0 -10
- package/ios/RnExecutorch/models/ocr/utils/OCRUtils.mm +0 -67
- package/ios/RnExecutorch/models/ocr/utils/RecognizerUtils.h +0 -35
- package/ios/RnExecutorch/models/ocr/utils/RecognizerUtils.mm +0 -331
- package/ios/RnExecutorch/models/stt/Moonshine.hpp +0 -13
- package/ios/RnExecutorch/models/stt/Moonshine.mm +0 -64
- package/ios/RnExecutorch/models/stt/MoonshineDecoder.hpp +0 -16
- package/ios/RnExecutorch/models/stt/MoonshineDecoder.mm +0 -24
- package/ios/RnExecutorch/models/stt/MoonshineEncoder.hpp +0 -15
- package/ios/RnExecutorch/models/stt/MoonshineEncoder.mm +0 -18
- package/ios/RnExecutorch/models/stt/SpeechToTextBaseModel.hpp +0 -26
- package/ios/RnExecutorch/models/stt/SpeechToTextBaseModel.mm +0 -19
- package/ios/RnExecutorch/models/stt/Whisper.hpp +0 -12
- package/ios/RnExecutorch/models/stt/Whisper.mm +0 -68
- package/ios/RnExecutorch/models/stt/WhisperDecoder.hpp +0 -16
- package/ios/RnExecutorch/models/stt/WhisperDecoder.mm +0 -22
- package/ios/RnExecutorch/models/stt/WhisperEncoder.hpp +0 -15
- package/ios/RnExecutorch/models/stt/WhisperEncoder.mm +0 -21
- package/ios/RnExecutorch/models/style_transfer/StyleTransferModel.h +0 -11
- package/ios/RnExecutorch/models/style_transfer/StyleTransferModel.mm +0 -50
- package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsModel.h +0 -15
- package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsModel.mm +0 -45
- package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsUtils.h +0 -8
- package/ios/RnExecutorch/models/text_embeddings/TextEmbeddingsUtils.mm +0 -49
- package/ios/RnExecutorch/utils/Constants.h +0 -8
- package/ios/RnExecutorch/utils/Conversions.h +0 -15
- package/ios/RnExecutorch/utils/ETError.h +0 -26
- package/ios/RnExecutorch/utils/ImageProcessor.h +0 -15
- package/ios/RnExecutorch/utils/ImageProcessor.mm +0 -147
- package/ios/RnExecutorch/utils/Numerical.h +0 -1
- package/ios/RnExecutorch/utils/Numerical.mm +0 -18
- package/ios/RnExecutorch/utils/ObjectDetectionUtils.hpp +0 -23
- package/ios/RnExecutorch/utils/SFFT.hpp +0 -13
- package/ios/RnExecutorch/utils/SFFT.mm +0 -71
- package/ios/RnExecutorch/utils/ScalarType.h +0 -14
- package/ios/RnExecutorch/utils/ScalarType.mm +0 -21
- package/lib/module/constants/sttDefaults.js +0 -72
- package/lib/module/constants/sttDefaults.js.map +0 -1
- package/lib/module/controllers/SpeechToTextController.js +0 -307
- package/lib/module/controllers/SpeechToTextController.js.map +0 -1
- package/lib/module/native/NativeClassification.js +0 -5
- package/lib/module/native/NativeClassification.js.map +0 -1
- package/lib/module/native/NativeETModule.js +0 -5
- package/lib/module/native/NativeETModule.js.map +0 -1
- package/lib/module/native/NativeImageSegmentation.js +0 -5
- package/lib/module/native/NativeImageSegmentation.js.map +0 -1
- package/lib/module/native/NativeLLM.js +0 -5
- package/lib/module/native/NativeLLM.js.map +0 -1
- package/lib/module/native/NativeOCR.js +0 -5
- package/lib/module/native/NativeOCR.js.map +0 -1
- package/lib/module/native/NativeObjectDetection.js +0 -5
- package/lib/module/native/NativeObjectDetection.js.map +0 -1
- package/lib/module/native/NativeSpeechToText.js +0 -5
- package/lib/module/native/NativeSpeechToText.js.map +0 -1
- package/lib/module/native/NativeStyleTransfer.js +0 -5
- package/lib/module/native/NativeStyleTransfer.js.map +0 -1
- package/lib/module/native/NativeTextEmbeddings.js +0 -5
- package/lib/module/native/NativeTextEmbeddings.js.map +0 -1
- package/lib/module/native/NativeTokenizer.js +0 -5
- package/lib/module/native/NativeTokenizer.js.map +0 -1
- package/lib/module/native/NativeVerticalOCR.js +0 -5
- package/lib/module/native/NativeVerticalOCR.js.map +0 -1
- package/lib/module/package.json +0 -1
- package/lib/module/utils/stt.js +0 -22
- package/lib/module/utils/stt.js.map +0 -1
- package/lib/typescript/constants/sttDefaults.d.ts +0 -28
- package/lib/typescript/constants/sttDefaults.d.ts.map +0 -1
- package/lib/typescript/controllers/SpeechToTextController.d.ts +0 -52
- package/lib/typescript/controllers/SpeechToTextController.d.ts.map +0 -1
- package/lib/typescript/native/NativeClassification.d.ts +0 -10
- package/lib/typescript/native/NativeClassification.d.ts.map +0 -1
- package/lib/typescript/native/NativeETModule.d.ts +0 -9
- package/lib/typescript/native/NativeETModule.d.ts.map +0 -1
- package/lib/typescript/native/NativeImageSegmentation.d.ts +0 -10
- package/lib/typescript/native/NativeImageSegmentation.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/lib/typescript/native/NativeOCR.d.ts +0 -9
- package/lib/typescript/native/NativeOCR.d.ts.map +0 -1
- package/lib/typescript/native/NativeObjectDetection.d.ts +0 -9
- package/lib/typescript/native/NativeObjectDetection.d.ts.map +0 -1
- package/lib/typescript/native/NativeSpeechToText.d.ts +0 -12
- package/lib/typescript/native/NativeSpeechToText.d.ts.map +0 -1
- package/lib/typescript/native/NativeStyleTransfer.d.ts.map +0 -1
- package/lib/typescript/native/NativeTextEmbeddings.d.ts +0 -8
- package/lib/typescript/native/NativeTextEmbeddings.d.ts.map +0 -1
- package/lib/typescript/native/NativeTokenizer.d.ts +0 -12
- package/lib/typescript/native/NativeTokenizer.d.ts.map +0 -1
- package/lib/typescript/native/NativeVerticalOCR.d.ts +0 -9
- package/lib/typescript/native/NativeVerticalOCR.d.ts.map +0 -1
- package/lib/typescript/utils/stt.d.ts +0 -2
- package/lib/typescript/utils/stt.d.ts.map +0 -1
- package/src/constants/sttDefaults.ts +0 -86
- package/src/controllers/SpeechToTextController.ts +0 -458
- package/src/index.tsx +0 -47
- package/src/native/NativeClassification.ts +0 -9
- package/src/native/NativeETModule.ts +0 -14
- package/src/native/NativeImageSegmentation.ts +0 -14
- package/src/native/NativeLLM.ts +0 -14
- package/src/native/NativeOCR.ts +0 -16
- package/src/native/NativeObjectDetection.ts +0 -10
- package/src/native/NativeSpeechToText.ts +0 -17
- package/src/native/NativeStyleTransfer.ts +0 -10
- package/src/native/NativeTextEmbeddings.ts +0 -9
- package/src/native/NativeTokenizer.ts +0 -13
- package/src/native/NativeVerticalOCR.ts +0 -16
- package/src/utils/stt.ts +0 -28
- package/{ios → third-party/ios}/ExecutorchLib.xcframework/Info.plist +4 -4
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <executorch/runtime/platform/assert.h>
|
|
12
|
+
|
|
13
|
+
namespace executorch {
|
|
14
|
+
namespace runtime {
|
|
15
|
+
namespace etensor {
|
|
16
|
+
|
|
17
|
+
/// Denotes the specific genre of compute device.
|
|
18
|
+
/// Subset of https://github.com/pytorch/pytorch/blob/main/c10/core/Device.h
|
|
19
|
+
enum class DeviceType : int8_t {
|
|
20
|
+
CPU = 0,
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/// An index representing a specific device; For cpu it should always be -1 or 0
|
|
24
|
+
using DeviceIndex = int8_t;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* An abstraction for the compute device on which a tensor is located.
|
|
28
|
+
* ExecuTorch doesn't allow dynamic dispatching based on device, so this type is
|
|
29
|
+
* just a skeleton to allow certain kernels that expect device as an
|
|
30
|
+
* argument to still be run.
|
|
31
|
+
*
|
|
32
|
+
* In ExecuTorch this is always expected to be CPU.
|
|
33
|
+
*/
|
|
34
|
+
struct Device final {
|
|
35
|
+
using Type = DeviceType;
|
|
36
|
+
|
|
37
|
+
/// Constructs a new `Device` from a `DeviceType` and an optional device
|
|
38
|
+
/// index.
|
|
39
|
+
/* implicit */ Device(DeviceType type, DeviceIndex index = -1)
|
|
40
|
+
: type_(type), index_(index) {}
|
|
41
|
+
|
|
42
|
+
/// Returns the type of device this is. Only CPU is supported.
|
|
43
|
+
DeviceType type() const noexcept { return type_; }
|
|
44
|
+
|
|
45
|
+
/// Returns true if the device is of CPU type.
|
|
46
|
+
bool is_cpu() const noexcept { return type_ == DeviceType::CPU; }
|
|
47
|
+
|
|
48
|
+
/// Returns the device index. Always 0 if specified or -1 if not provided.
|
|
49
|
+
DeviceIndex index() const noexcept {
|
|
50
|
+
ET_CHECK(index_ == 0 || index_ == -1);
|
|
51
|
+
return index_;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
private:
|
|
55
|
+
DeviceType type_;
|
|
56
|
+
DeviceIndex index_ = -1;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
} // namespace etensor
|
|
60
|
+
} // namespace runtime
|
|
61
|
+
} // namespace executorch
|
|
62
|
+
|
|
63
|
+
namespace torch {
|
|
64
|
+
namespace executor {
|
|
65
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
66
|
+
// to the new `::executorch` namespaces.
|
|
67
|
+
using ::executorch::runtime::etensor::Device;
|
|
68
|
+
using ::executorch::runtime::etensor::DeviceType;
|
|
69
|
+
} // namespace executor
|
|
70
|
+
} // namespace torch
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <c10/util/Half.h>
|
|
12
|
+
|
|
13
|
+
namespace executorch::runtime::etensor {
|
|
14
|
+
using c10::Half;
|
|
15
|
+
namespace internal {
|
|
16
|
+
using c10::detail::fp16_ieee_from_fp32_value;
|
|
17
|
+
using c10::detail::fp16_ieee_to_fp32_bits;
|
|
18
|
+
using c10::detail::fp16_ieee_to_fp32_value;
|
|
19
|
+
using c10::detail::fp32_from_bits;
|
|
20
|
+
using c10::detail::fp32_to_bits;
|
|
21
|
+
} // namespace internal
|
|
22
|
+
} // namespace executorch::runtime::etensor
|
|
23
|
+
namespace torch::executor {
|
|
24
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
25
|
+
// to the new `::executorch` namespaces.
|
|
26
|
+
using ::executorch::runtime::etensor::Half;
|
|
27
|
+
} // namespace torch::executor
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <optional>
|
|
12
|
+
|
|
13
|
+
namespace executorch {
|
|
14
|
+
namespace runtime {
|
|
15
|
+
namespace etensor {
|
|
16
|
+
|
|
17
|
+
// NOLINTNEXTLINE(misc-unused-using-decls)
|
|
18
|
+
using std::nullopt;
|
|
19
|
+
// NOLINTNEXTLINE(misc-unused-using-decls)
|
|
20
|
+
using std::nullopt_t;
|
|
21
|
+
// NOLINTNEXTLINE(misc-unused-using-decls)
|
|
22
|
+
using std::optional;
|
|
23
|
+
|
|
24
|
+
} // namespace etensor
|
|
25
|
+
} // namespace runtime
|
|
26
|
+
} // namespace executorch
|
|
27
|
+
|
|
28
|
+
namespace torch {
|
|
29
|
+
namespace executor {
|
|
30
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
31
|
+
// to the new `::executorch` namespaces.
|
|
32
|
+
using ::executorch::runtime::etensor::nullopt;
|
|
33
|
+
using ::executorch::runtime::etensor::nullopt_t;
|
|
34
|
+
using ::executorch::runtime::etensor::optional;
|
|
35
|
+
} // namespace executor
|
|
36
|
+
} // namespace torch
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <cstdint>
|
|
12
|
+
|
|
13
|
+
namespace executorch {
|
|
14
|
+
namespace runtime {
|
|
15
|
+
namespace etensor {
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* qint8 is for signed 8 bit quantized Tensors
|
|
19
|
+
*/
|
|
20
|
+
struct alignas(1) qint8 {
|
|
21
|
+
using underlying = int8_t;
|
|
22
|
+
int8_t val_;
|
|
23
|
+
qint8() = default;
|
|
24
|
+
explicit qint8(int8_t val) : val_(val) {}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* quint8 is for unsigned 8 bit quantized Tensors
|
|
29
|
+
*/
|
|
30
|
+
struct alignas(1) quint8 {
|
|
31
|
+
using underlying = uint8_t;
|
|
32
|
+
uint8_t val_;
|
|
33
|
+
quint8() = default;
|
|
34
|
+
explicit quint8(uint8_t val) : val_(val) {}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* qint32 is for signed 32 bit quantized Tensors
|
|
39
|
+
*/
|
|
40
|
+
struct alignas(4) qint32 {
|
|
41
|
+
using underlying = int32_t;
|
|
42
|
+
int32_t val_;
|
|
43
|
+
qint32() = default;
|
|
44
|
+
explicit qint32(int32_t val) : val_(val) {}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* quint4x2 is for un-signed 4 bit quantized Tensors that are packed to byte
|
|
49
|
+
* boundary.
|
|
50
|
+
*/
|
|
51
|
+
struct alignas(1) quint4x2 {
|
|
52
|
+
using underlying = uint8_t;
|
|
53
|
+
uint8_t val_;
|
|
54
|
+
quint4x2() = default;
|
|
55
|
+
explicit quint4x2(uint8_t val) : val_(val) {}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* quint2x4 is for un-signed 2 bit quantized Tensors that are packed to byte
|
|
60
|
+
* boundary.
|
|
61
|
+
*/
|
|
62
|
+
struct alignas(1) quint2x4 {
|
|
63
|
+
using underlying = uint8_t;
|
|
64
|
+
uint8_t val_;
|
|
65
|
+
quint2x4() = default;
|
|
66
|
+
explicit quint2x4(uint8_t val) : val_(val) {}
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
} // namespace etensor
|
|
70
|
+
} // namespace runtime
|
|
71
|
+
} // namespace executorch
|
|
72
|
+
|
|
73
|
+
namespace torch {
|
|
74
|
+
namespace executor {
|
|
75
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
76
|
+
// to the new `::executorch` namespaces.
|
|
77
|
+
using ::executorch::runtime::etensor::qint32;
|
|
78
|
+
using ::executorch::runtime::etensor::qint8;
|
|
79
|
+
using ::executorch::runtime::etensor::quint2x4;
|
|
80
|
+
using ::executorch::runtime::etensor::quint4x2;
|
|
81
|
+
using ::executorch::runtime::etensor::quint8;
|
|
82
|
+
} // namespace executor
|
|
83
|
+
} // namespace torch
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <executorch/runtime/core/portable_type/bfloat16.h>
|
|
12
|
+
#include <executorch/runtime/core/portable_type/half.h>
|
|
13
|
+
#include <executorch/runtime/core/tag.h>
|
|
14
|
+
#include <executorch/runtime/platform/assert.h>
|
|
15
|
+
|
|
16
|
+
#include <cstdint>
|
|
17
|
+
#include <type_traits>
|
|
18
|
+
|
|
19
|
+
namespace executorch {
|
|
20
|
+
namespace runtime {
|
|
21
|
+
namespace etensor {
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Represents a scalar value.
|
|
25
|
+
*
|
|
26
|
+
* The API is a source-compatible subset of c10::Scalar, and the
|
|
27
|
+
* semantics/behavior should also match the c10 version.
|
|
28
|
+
*/
|
|
29
|
+
class Scalar {
|
|
30
|
+
public:
|
|
31
|
+
Scalar() : Scalar(int64_t(0)) {}
|
|
32
|
+
|
|
33
|
+
template <typename T, typename std::enable_if<std::is_integral<T>::value,
|
|
34
|
+
bool>::type = true>
|
|
35
|
+
/*implicit*/ Scalar(T val) : tag(Tag::Int) {
|
|
36
|
+
v.as_int = static_cast<int64_t>(val);
|
|
37
|
+
}
|
|
38
|
+
/*implicit*/ Scalar(bool val) : tag(Tag::Bool) { v.as_bool = val; }
|
|
39
|
+
/*implicit*/ Scalar(double val) : tag(Tag::Double) { v.as_double = val; }
|
|
40
|
+
/*implicit*/ Scalar(BFloat16 val) : Scalar((double)(float)val) {}
|
|
41
|
+
/*implicit*/ Scalar(Half val) : Scalar((double)(float)val) {}
|
|
42
|
+
|
|
43
|
+
/// Returns the concrete scalar value stored within.
|
|
44
|
+
template <typename T> T to() const;
|
|
45
|
+
|
|
46
|
+
/// Returns true if the scalar is integral, false otherwise.
|
|
47
|
+
bool isIntegral(bool includeBool) const {
|
|
48
|
+
return Tag::Int == tag || (includeBool && isBoolean());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/// Returns true if the scalar is a floating point, false otherwise.
|
|
52
|
+
bool isFloatingPoint() const { return tag == Tag::Double; }
|
|
53
|
+
|
|
54
|
+
/// Returns true if the scalar is a boolean, false otherwise.
|
|
55
|
+
bool isBoolean() const { return tag == Tag::Bool; }
|
|
56
|
+
|
|
57
|
+
private:
|
|
58
|
+
int64_t toInt() const {
|
|
59
|
+
if (isIntegral(/*includeBool=*/false)) {
|
|
60
|
+
return v.as_int;
|
|
61
|
+
} else if (isBoolean()) {
|
|
62
|
+
return static_cast<int64_t>(v.as_bool);
|
|
63
|
+
} else {
|
|
64
|
+
ET_CHECK_MSG(false, "Scalar is not an int nor a Boolean.");
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
double toFloatingPoint() const {
|
|
69
|
+
ET_CHECK_MSG(isFloatingPoint(), "Scalar is not a Double.");
|
|
70
|
+
return v.as_double;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
double toDouble() const {
|
|
74
|
+
ET_CHECK_MSG(isFloatingPoint(), "Scalar is not a Double.");
|
|
75
|
+
return v.as_double;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
bool toBool() const {
|
|
79
|
+
ET_CHECK_MSG(isBoolean(), "Scalar is not a Boolean.");
|
|
80
|
+
return v.as_bool;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
Tag tag;
|
|
84
|
+
union v_t {
|
|
85
|
+
double as_double;
|
|
86
|
+
int64_t as_int;
|
|
87
|
+
bool as_bool;
|
|
88
|
+
v_t() {} // default constructor
|
|
89
|
+
} v;
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
#define ET_DEFINE_SCALAR_TO_METHOD(T, name) \
|
|
93
|
+
template <> inline T Scalar::to<T>() const { return to##name(); }
|
|
94
|
+
|
|
95
|
+
ET_DEFINE_SCALAR_TO_METHOD(double, Double)
|
|
96
|
+
ET_DEFINE_SCALAR_TO_METHOD(int64_t, Int)
|
|
97
|
+
ET_DEFINE_SCALAR_TO_METHOD(bool, Bool)
|
|
98
|
+
#undef ET_DEFINE_SCALAR_TO_METHOD
|
|
99
|
+
|
|
100
|
+
} // namespace etensor
|
|
101
|
+
} // namespace runtime
|
|
102
|
+
} // namespace executorch
|
|
103
|
+
|
|
104
|
+
namespace torch {
|
|
105
|
+
namespace executor {
|
|
106
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
107
|
+
// to the new `::executorch` namespaces.
|
|
108
|
+
using ::executorch::runtime::etensor::Scalar;
|
|
109
|
+
} // namespace executor
|
|
110
|
+
} // namespace torch
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @file
|
|
11
|
+
*
|
|
12
|
+
* Forked from
|
|
13
|
+
* https://github.com/pytorch/pytorch/blob/master/c10/core/ScalarType.h
|
|
14
|
+
*
|
|
15
|
+
* Everything but the ScalarType definition is in util/ScalarTypeUtil.h
|
|
16
|
+
*
|
|
17
|
+
* Note that these files do not need to be strictly identical to the pytorch
|
|
18
|
+
* core file, as far as names go. The only critical piece is that the types and
|
|
19
|
+
* indices of the main ScalarType enum line up, so that serialization is
|
|
20
|
+
* compatible between the two.
|
|
21
|
+
*
|
|
22
|
+
* Modifications for ExecuTorch:
|
|
23
|
+
* - Namespace torch::executor instead of c10
|
|
24
|
+
* - Macro prefix ET_ instead of AT_
|
|
25
|
+
* - Use ET_CHECK_MSG() instead of TORCH_CHECK()
|
|
26
|
+
* - Don't define standalone constants like `kByte`, `kInt` to keep the
|
|
27
|
+
* namespace clean
|
|
28
|
+
* - Remove operator<< to avoid a dependency on ostream and stdlib
|
|
29
|
+
* - Make `static inline` functions `inline` to avoid creating multiple
|
|
30
|
+
* copies of them. See
|
|
31
|
+
* https://gist.github.com/htfy96/50308afc11678d2e3766a36aa60d5f75#conclusion.
|
|
32
|
+
* - Remove deprecated definitions
|
|
33
|
+
* - Minor cleanup for internal consistency
|
|
34
|
+
*/
|
|
35
|
+
|
|
36
|
+
#pragma once
|
|
37
|
+
|
|
38
|
+
#include <cstdint>
|
|
39
|
+
|
|
40
|
+
#include <executorch/runtime/core/portable_type/bfloat16.h>
|
|
41
|
+
#include <executorch/runtime/core/portable_type/bits_types.h>
|
|
42
|
+
#include <executorch/runtime/core/portable_type/complex.h>
|
|
43
|
+
#include <executorch/runtime/core/portable_type/half.h>
|
|
44
|
+
#include <executorch/runtime/core/portable_type/qint_types.h>
|
|
45
|
+
|
|
46
|
+
namespace executorch {
|
|
47
|
+
namespace runtime {
|
|
48
|
+
namespace etensor {
|
|
49
|
+
|
|
50
|
+
// Placing a bunch of unused dtypes here as our macros don't make it easy
|
|
51
|
+
// to skip scalar types defined in aten that we dont have.
|
|
52
|
+
namespace unused_dtype {
|
|
53
|
+
struct alignas(1) Float8_e5m2 {
|
|
54
|
+
uint8_t x;
|
|
55
|
+
using underlying = uint8_t;
|
|
56
|
+
Float8_e5m2() = default;
|
|
57
|
+
explicit Float8_e5m2(uint8_t val) : x(val) {}
|
|
58
|
+
};
|
|
59
|
+
struct alignas(1) Float8_e4m3fn {
|
|
60
|
+
uint8_t x;
|
|
61
|
+
using underlying = uint8_t;
|
|
62
|
+
Float8_e4m3fn() = default;
|
|
63
|
+
explicit Float8_e4m3fn(uint8_t val) : x(val) {}
|
|
64
|
+
};
|
|
65
|
+
struct alignas(1) Float8_e5m2fnuz {
|
|
66
|
+
uint8_t x;
|
|
67
|
+
using underlying = uint8_t;
|
|
68
|
+
Float8_e5m2fnuz() = default;
|
|
69
|
+
explicit Float8_e5m2fnuz(uint8_t val) : x(val) {}
|
|
70
|
+
};
|
|
71
|
+
struct alignas(1) Float8_e4m3fnuz {
|
|
72
|
+
uint8_t x;
|
|
73
|
+
using underlying = uint8_t;
|
|
74
|
+
Float8_e4m3fnuz() = default;
|
|
75
|
+
explicit Float8_e4m3fnuz(uint8_t val) : x(val) {}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
} // namespace unused_dtype
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Calls the provided macro on every ScalarType, providing the C type and the
|
|
82
|
+
* ScalarType name to each call.
|
|
83
|
+
*
|
|
84
|
+
* The indices and C types must be consistent with
|
|
85
|
+
* AT_FORALL_SCALAR_TYPES_WITH_COMPLEX_AND_QINTS in the core pytorch file
|
|
86
|
+
* c10/core/ScalarType.h. This ensures that ExecuTorch serialization is
|
|
87
|
+
* compatible with ATen serialization.
|
|
88
|
+
*
|
|
89
|
+
* @param _ A macro that takes two parameters: the name of a C type, and the
|
|
90
|
+
* name of the corresponding ScalarType enumerator.
|
|
91
|
+
*/
|
|
92
|
+
#define ET_FORALL_SCALAR_TYPES(_) \
|
|
93
|
+
_(uint8_t, Byte) /* 0 */ \
|
|
94
|
+
_(int8_t, Char) /* 1 */ \
|
|
95
|
+
_(int16_t, Short) /* 2 */ \
|
|
96
|
+
_(int32_t, Int) /* 3 */ \
|
|
97
|
+
_(int64_t, Long) /* 4 */ \
|
|
98
|
+
_(::executorch::runtime::etensor::Half, Half) /* 5 */ \
|
|
99
|
+
_(float, Float) /* 6 */ \
|
|
100
|
+
_(double, Double) /* 7 */ \
|
|
101
|
+
_(::executorch::runtime::etensor::complex<::torch::executor::Half>, \
|
|
102
|
+
ComplexHalf) /* 8 */ \
|
|
103
|
+
_(::executorch::runtime::etensor::complex<float>, ComplexFloat) /* 9 */ \
|
|
104
|
+
_(::executorch::runtime::etensor::complex<double>, ComplexDouble) /* 10 */ \
|
|
105
|
+
_(bool, Bool) /* 11 */ \
|
|
106
|
+
_(::executorch::runtime::etensor::qint8, QInt8) /* 12 */ \
|
|
107
|
+
_(::executorch::runtime::etensor::quint8, QUInt8) /* 13 */ \
|
|
108
|
+
_(::executorch::runtime::etensor::qint32, QInt32) /* 14 */ \
|
|
109
|
+
_(::executorch::runtime::etensor::BFloat16, BFloat16) /* 15 */ \
|
|
110
|
+
_(::executorch::runtime::etensor::quint4x2, QUInt4x2) /* 16 */ \
|
|
111
|
+
_(::executorch::runtime::etensor::quint2x4, QUInt2x4) /* 17 */ \
|
|
112
|
+
_(::executorch::runtime::etensor::bits1x8, Bits1x8) /* 18 */ \
|
|
113
|
+
_(::executorch::runtime::etensor::bits2x4, Bits2x4) /* 19 */ \
|
|
114
|
+
_(::executorch::runtime::etensor::bits4x2, Bits4x2) /* 20 */ \
|
|
115
|
+
_(::executorch::runtime::etensor::bits8, Bits8) /* 21 */ \
|
|
116
|
+
_(::executorch::runtime::etensor::bits16, Bits16) /* 22 */ \
|
|
117
|
+
_(::executorch::runtime::etensor::unused_dtype::Float8_e5m2, \
|
|
118
|
+
Float8_e5m2) /* 23 */ \
|
|
119
|
+
_(::executorch::runtime::etensor::unused_dtype::Float8_e4m3fn, \
|
|
120
|
+
Float8_e4m3fn) /* 24 */ \
|
|
121
|
+
_(::executorch::runtime::etensor::unused_dtype::Float8_e5m2fnuz, \
|
|
122
|
+
Float8_e5m2fnuz) /* 25 */ \
|
|
123
|
+
_(::executorch::runtime::etensor::unused_dtype::Float8_e4m3fnuz, \
|
|
124
|
+
Float8_e4m3fnuz) /* 26 */ \
|
|
125
|
+
_(uint16_t, UInt16) /* 27 */ \
|
|
126
|
+
_(uint32_t, UInt32) /* 28 */ \
|
|
127
|
+
_(uint64_t, UInt64) /* 29 */
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Data types (dtypes) that can be used as element types in ETensors.
|
|
131
|
+
*/
|
|
132
|
+
enum class ScalarType : int8_t {
|
|
133
|
+
/// Define an enumerator for each ScalarType.
|
|
134
|
+
#define DEFINE_ENUM(unused, name) name,
|
|
135
|
+
ET_FORALL_SCALAR_TYPES(DEFINE_ENUM)
|
|
136
|
+
#undef DEFINE_ENUM
|
|
137
|
+
|
|
138
|
+
/// An explicitly undefined ScalarType. Does not map to any C type.
|
|
139
|
+
Undefined,
|
|
140
|
+
/// The number of ScalarType enumerators.
|
|
141
|
+
NumOptions,
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
} // namespace etensor
|
|
145
|
+
} // namespace runtime
|
|
146
|
+
} // namespace executorch
|
|
147
|
+
|
|
148
|
+
namespace torch {
|
|
149
|
+
namespace executor {
|
|
150
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
151
|
+
// to the new `::executorch` namespaces.
|
|
152
|
+
using ::executorch::runtime::etensor::ScalarType;
|
|
153
|
+
} // namespace executor
|
|
154
|
+
} // namespace torch
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <string_view>
|
|
12
|
+
|
|
13
|
+
namespace executorch {
|
|
14
|
+
namespace runtime {
|
|
15
|
+
namespace etensor {
|
|
16
|
+
|
|
17
|
+
using std::string_view;
|
|
18
|
+
|
|
19
|
+
} // namespace etensor
|
|
20
|
+
} // namespace runtime
|
|
21
|
+
} // namespace executorch
|
|
22
|
+
|
|
23
|
+
namespace torch {
|
|
24
|
+
namespace executor {
|
|
25
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
26
|
+
// to the new `::executorch` namespaces.
|
|
27
|
+
using ::executorch::runtime::etensor::string_view;
|
|
28
|
+
} // namespace executor
|
|
29
|
+
} // namespace torch
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the BSD-style license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <executorch/runtime/platform/compiler.h>
|
|
12
|
+
|
|
13
|
+
#include <executorch/runtime/core/portable_type/tensor_impl.h>
|
|
14
|
+
|
|
15
|
+
namespace executorch {
|
|
16
|
+
namespace runtime {
|
|
17
|
+
namespace etensor {
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* A minimal Tensor type whose API is a source compatible subset of at::Tensor.
|
|
21
|
+
*
|
|
22
|
+
* NOTE: Instances of this class do not own the TensorImpl given to it,
|
|
23
|
+
* which means that the caller must guarantee that the TensorImpl lives longer
|
|
24
|
+
* than any Tensor instances that point to it.
|
|
25
|
+
*
|
|
26
|
+
* See the documention on TensorImpl for details about the return/parameter
|
|
27
|
+
* types used here and how they relate to at::Tensor.
|
|
28
|
+
*/
|
|
29
|
+
class Tensor {
|
|
30
|
+
public:
|
|
31
|
+
/// The type used for elements of `sizes()`.
|
|
32
|
+
using SizesType = TensorImpl::SizesType;
|
|
33
|
+
/// The type used for elements of `dim_order()`.
|
|
34
|
+
using DimOrderType = TensorImpl::DimOrderType;
|
|
35
|
+
/// The type used for elements of `strides()`.
|
|
36
|
+
using StridesType = TensorImpl::StridesType;
|
|
37
|
+
|
|
38
|
+
Tensor() = delete;
|
|
39
|
+
explicit constexpr Tensor(TensorImpl *impl) : impl_(impl) {}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Returns a pointer to the underlying TensorImpl.
|
|
43
|
+
*
|
|
44
|
+
* NOTE: Clients should be wary of operating on the TensorImpl
|
|
45
|
+
* directly instead of the Tensor. It is easy to break things.
|
|
46
|
+
*/
|
|
47
|
+
TensorImpl *unsafeGetTensorImpl() const {
|
|
48
|
+
// TODO(T154114015): See if we can make this api private with friends.
|
|
49
|
+
return impl_;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Returns the size of the tensor in bytes.
|
|
54
|
+
*
|
|
55
|
+
* NOTE: Only the alive space is returned not the total capacity of the
|
|
56
|
+
* underlying data blob.
|
|
57
|
+
*/
|
|
58
|
+
size_t nbytes() const { return impl_->nbytes(); }
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Returns the size of the tensor at the given dimension.
|
|
62
|
+
*
|
|
63
|
+
* NOTE: that size() intentionally does not return SizeType even though it
|
|
64
|
+
* returns an element of an array of SizeType. This is to help make calls of
|
|
65
|
+
* this method more compatible with at::Tensor, and more consistent with the
|
|
66
|
+
* rest of the methods on this class and in ETensor.
|
|
67
|
+
*/
|
|
68
|
+
ssize_t size(ssize_t dim) const { return impl_->size(dim); }
|
|
69
|
+
|
|
70
|
+
/// Returns the tensor's number of dimensions.
|
|
71
|
+
ssize_t dim() const { return impl_->dim(); }
|
|
72
|
+
|
|
73
|
+
/// Returns the number of elements in the tensor.
|
|
74
|
+
ssize_t numel() const { return impl_->numel(); }
|
|
75
|
+
|
|
76
|
+
/// Returns the type of the elements in the tensor (int32, float, bool, etc).
|
|
77
|
+
ScalarType scalar_type() const { return impl_->scalar_type(); }
|
|
78
|
+
|
|
79
|
+
inline ScalarType dtype() const { return scalar_type(); }
|
|
80
|
+
|
|
81
|
+
/// Returns the size in bytes of one element of the tensor.
|
|
82
|
+
ssize_t element_size() const { return impl_->element_size(); }
|
|
83
|
+
|
|
84
|
+
/// Returns the sizes of the tensor at each dimension.
|
|
85
|
+
const ArrayRef<SizesType> sizes() const { return impl_->sizes(); }
|
|
86
|
+
|
|
87
|
+
/// Returns the order the dimensions are laid out in memory.
|
|
88
|
+
const ArrayRef<DimOrderType> dim_order() const { return impl_->dim_order(); }
|
|
89
|
+
|
|
90
|
+
/// Returns the strides of the tensor at each dimension.
|
|
91
|
+
const ArrayRef<StridesType> strides() const { return impl_->strides(); }
|
|
92
|
+
|
|
93
|
+
/// Returns the mutability of the shape of the tensor.
|
|
94
|
+
TensorShapeDynamism shape_dynamism() const { return impl_->shape_dynamism(); }
|
|
95
|
+
|
|
96
|
+
/// Returns a pointer of type T to the constant underlying data blob.
|
|
97
|
+
template <typename T> inline const T *const_data_ptr() const {
|
|
98
|
+
return impl_->data<T>();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/// Returns a pointer to the constant underlying data blob.
|
|
102
|
+
inline const void *const_data_ptr() const { return impl_->data(); }
|
|
103
|
+
|
|
104
|
+
/// Returns a pointer of type T to the mutable underlying data blob.
|
|
105
|
+
template <typename T> inline T *mutable_data_ptr() const {
|
|
106
|
+
return impl_->mutable_data<T>();
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/// Returns a pointer to the mutable underlying data blob.
|
|
110
|
+
inline void *mutable_data_ptr() const { return impl_->mutable_data(); }
|
|
111
|
+
|
|
112
|
+
/// DEPRECATED: Use const_data_ptr or mutable_data_ptr instead.
|
|
113
|
+
template <typename T> ET_DEPRECATED inline T *data_ptr() const {
|
|
114
|
+
return impl_->mutable_data<T>();
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/// DEPRECATED: Use const_data_ptr or mutable_data_ptr instead.
|
|
118
|
+
ET_DEPRECATED inline void *data_ptr() const { return impl_->mutable_data(); }
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* DEPRECATED: Changes the data_ptr the tensor aliases. Does not free the
|
|
122
|
+
* previously pointed to data, does not assume ownership semantics of the new
|
|
123
|
+
* ptr. This api does not exist in at::Tensor so kernel developers should
|
|
124
|
+
* avoid it.
|
|
125
|
+
*/
|
|
126
|
+
ET_DEPRECATED void set_data(void *ptr) const { impl_->set_data(ptr); }
|
|
127
|
+
|
|
128
|
+
private:
|
|
129
|
+
TensorImpl *impl_ = nullptr;
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
} // namespace etensor
|
|
133
|
+
} // namespace runtime
|
|
134
|
+
} // namespace executorch
|
|
135
|
+
|
|
136
|
+
namespace torch {
|
|
137
|
+
namespace executor {
|
|
138
|
+
// TODO(T197294990): Remove these deprecated aliases once all users have moved
|
|
139
|
+
// to the new `::executorch` namespaces.
|
|
140
|
+
using ::executorch::runtime::etensor::Tensor;
|
|
141
|
+
} // namespace executor
|
|
142
|
+
} // namespace torch
|