Skip to content

Commit f7fcf64

Browse files
feat: port image segmentation native code to C++ (#313)
Port image segmentation native code to C++. - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] Documentation update (improves or adds clarity to existing documentation) - [x] iOS - [x] Android - [x] I have performed a self-review of my code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have updated the documentation accordingly - [x] My changes generate no new warnings --------- Co-authored-by: Mateusz Sluszniak <[email protected]>
1 parent 6f94aae commit f7fcf64

File tree

32 files changed

+501
-618
lines changed

32 files changed

+501
-618
lines changed

apps/computer-vision/screens/ImageSegmentationScreen.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { BottomBar } from '../components/BottomBar';
33
import { getImage } from '../utils';
44
import {
55
useImageSegmentation,
6-
DeeplabLabel,
76
DEEPLAB_V3_RESNET50,
7+
DeeplabLabel,
88
} from 'react-native-executorch';
99
import {
1010
Canvas,

apps/llm/ios/Podfile.lock

Lines changed: 81 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@ PODS:
7171
- FBLazyVector (0.79.2)
7272
- fmt (11.0.2)
7373
- glog (0.3.5)
74-
- hermes-engine (0.79.2):
75-
- hermes-engine/Pre-built (= 0.79.2)
76-
- hermes-engine/Pre-built (0.79.2)
77-
- opencv-rne (0.1.0)
78-
- RCT-Folly (2024.11.18.00):
74+
- hermes-engine (0.76.9):
75+
- hermes-engine/Pre-built (= 0.76.9)
76+
- hermes-engine/Pre-built (0.76.9)
77+
- opencv-rne (4.11.0)
78+
- RCT-Folly (2024.10.14.00):
7979
- boost
8080
- DoubleConversion
8181
- fast_float (= 6.1.4)
@@ -1403,8 +1403,8 @@ PODS:
14031403
- DoubleConversion
14041404
- glog
14051405
- hermes-engine
1406-
- opencv-rne (~> 0.1.0)
1407-
- RCT-Folly (= 2024.11.18.00)
1406+
- opencv-rne (~> 4.11.0)
1407+
- RCT-Folly (= 2024.10.14.00)
14081408
- RCTRequired
14091409
- RCTTypeSafety
14101410
- React-Core
@@ -1423,6 +1423,7 @@ PODS:
14231423
- ReactCodegen
14241424
- ReactCommon/turbomodule/bridging
14251425
- ReactCommon/turbomodule/core
1426+
- sqlite3
14261427
- Yoga
14271428
- react-native-safe-area-context (5.4.0):
14281429
- DoubleConversion
@@ -2071,6 +2072,9 @@ PODS:
20712072
- ReactCommon/turbomodule/core
20722073
- Yoga
20732074
- SocketRocket (0.7.1)
2075+
- sqlite3 (3.49.1):
2076+
- sqlite3/common (= 3.49.1)
2077+
- sqlite3/common (3.49.1)
20742078
- Yoga (0.0.0)
20752079

20762080
DEPENDENCIES:
@@ -2166,6 +2170,7 @@ SPEC REPOS:
21662170
trunk:
21672171
- opencv-rne
21682172
- SocketRocket
2173+
- sqlite3
21692174

21702175
EXTERNAL SOURCES:
21712176
boost:
@@ -2353,81 +2358,76 @@ SPEC CHECKSUMS:
23532358
ExpoKeepAwake: e8dedc115d9f6f24b153ccd2d1d8efcdfd68a527
23542359
ExpoModulesCore: b57f1f9dbf35e11a01ac115ded48edd14dcd9b47
23552360
fast_float: 06eeec4fe712a76acc9376682e4808b05ce978b6
2356-
FBLazyVector: 84b955f7b4da8b895faf5946f73748267347c975
2357-
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
2358-
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
2359-
hermes-engine: 314be5250afa5692b57b4dd1705959e1973a8ebe
2360-
opencv-rne: 63e933ae2373fc91351f9a348dc46c3f523c2d3f
2361-
RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809
2362-
RCTDeprecation: 83ffb90c23ee5cea353bd32008a7bca100908f8c
2363-
RCTRequired: eb7c0aba998009f47a540bec9e9d69a54f68136e
2364-
RCTTypeSafety: 659ae318c09de0477fd27bbc9e140071c7ea5c93
2365-
React: c2d3aa44c49bb34e4dfd49d3ee92da5ebacc1c1c
2366-
React-callinvoker: 1bdfb7549b5af266d85757193b5069f60659ef9d
2367-
React-Core: 7150cf9b6a5af063b37003062689f1691e79c020
2368-
React-CoreModules: 15a85e6665d61678942da6ae485b351f4c699049
2369-
React-cxxreact: 74f9de59259ac951923f5726aa14f0398f167af9
2370-
React-debug: e74e76912b91e08d580c481c34881899ccf63da9
2371-
React-defaultsnativemodule: 628285212bbd65417d40ad6a9f8781830fda6c98
2372-
React-domnativemodule: 185d9808198405c176784aaf33403d713bd24fb7
2373-
React-Fabric: c814804affbe1952e16149ddd20256e1bccae67e
2374-
React-FabricComponents: 81ef47d596966121784afec9924f9562a29b1691
2375-
React-FabricImage: f14f371d678aa557101def954ac3ba27e48948ff
2376-
React-featureflags: d5facceff8f8f6de430e0acecf4979a9a0839ba9
2377-
React-featureflagsnativemodule: 96f0ab285382d95c90f663e02526a5ceefa95a11
2378-
React-graphics: 1a66ee0a3f093b125b853f6370296fadcaf6f233
2379-
React-hermes: 8b86e5f54a65ecb69cdf22b3a00a11562eda82d2
2380-
React-idlecallbacksnativemodule: 5c25ab145c602264d00cb26a397ab52e0efa031c
2381-
React-ImageManager: 15e34bd5ef1ac4a18e96660817ef70a7f99ee8c2
2382-
React-jserrorhandler: 02cdf2cd45350108be1ffd2b164578936dbbdff7
2383-
React-jsi: 6af1987cfbb1b6621664fdbf6c7b62bd4d38c923
2384-
React-jsiexecutor: 51f372998e0303585cb0317232b938d694663cbd
2385-
React-jsinspector: 3539ad976d073bfaa8a7d2fa9bef35e70e55033e
2386-
React-jsinspectortracing: e8dbacaf67c201f23052ca1c2bae2f7b84dec443
2387-
React-jsitooling: 95a34f41e3c249d42181de13b4f8d854f178ca9f
2388-
React-jsitracing: 25b029cf5cad488252d46da19dd8c4c134fd5fe4
2389-
React-logger: 368570a253f00879a1e4fea24ed4047e72e7bbf3
2390-
React-Mapbuffer: c04fcda1c6281fc0a6824c7dcc1633dd217ac1ec
2391-
React-microtasksnativemodule: ca2804a25fdcefffa0aa942aa23ab53b99614a34
2392-
react-native-executorch: 6a03b39e92097dffc9df2ca2971118fb857c7ec5
2393-
react-native-safe-area-context: 00d03dc688ba86664be66f9e3f203fc7d747d899
2394-
React-NativeModulesApple: 452b86b29fae99ed0a4015dca3ad9cd222f88abf
2395-
React-oscompat: ef5df1c734f19b8003e149317d041b8ce1f7d29c
2396-
React-perflogger: 6fd2f6811533e9c19a61e855c3033eecbf4ad2a0
2397-
React-performancetimeline: abf31259d794c9274b3ea19c5016186925eec6c4
2398-
React-RCTActionSheet: a499b0d6d9793886b67ba3e16046a3fef2cdbbc3
2399-
React-RCTAnimation: 2595dcb10a82216a511b54742f8c28d793852ac6
2400-
React-RCTAppDelegate: f03604b70f57c9469a84a159d8abecf793a5bcff
2401-
React-RCTBlob: e00f9b4e2f151938f4d9864cf33ebf24ac03328a
2402-
React-RCTFabric: 3945d116fd271598db262d4e6ed5691d431ed9e8
2403-
React-RCTFBReactNativeSpec: 0f4d4f0da938101f2ca9d5333a8f46e527ad2819
2404-
React-RCTImage: dac5e9f8ec476aefe6e60ee640ebc1dfaf1a4dbe
2405-
React-RCTLinking: 494b785a40d952a1dfbe712f43214376e5f0e408
2406-
React-RCTNetwork: b3d7c30cd21793e268db107dd0980cb61b3c1c44
2407-
React-RCTRuntime: a8ff419d437228e7b8a793b14f9d711e1cbb82af
2408-
React-RCTSettings: a060c7e381a3896104761b8eed7e284d95e37df3
2409-
React-RCTText: 4f272b72dbb61f390d8c8274528f9fdbff983806
2410-
React-RCTVibration: 0e5326220719aca12473d703aa46693e3b4ce67a
2411-
React-rendererconsistency: 351fdbc5c1fe4da24243d939094a80f0e149c7a1
2412-
React-renderercss: d333f2ada83969591100d91ec6b23ca2e17e1507
2413-
React-rendererdebug: 039e5949b72ba63c703de020701e3fd152434c61
2414-
React-rncore: 57ed480649bb678d8bdc386d20fee8bf2b0c307c
2415-
React-RuntimeApple: 344a5e1105256000afabaa8df12c3e4cab880340
2416-
React-RuntimeCore: 0e48fb5e5160acc0334c7a723a42d42cef4b58b6
2417-
React-runtimeexecutor: d60846710facedd1edb70c08b738119b3ee2c6c2
2418-
React-RuntimeHermes: 064286a03871d932c99738e0f8ef854962ab4b99
2419-
React-runtimescheduler: e917ab17ae08c204af1ebf8f669b7e411b0220c8
2420-
React-timing: a90f4654cbda9c628614f9bee68967f1768bd6a5
2421-
React-utils: 51c4e71608b8133fecc9a15801d244ae7bdf3758
2422-
ReactAppDependencyProvider: d5dcc564f129632276bd3184e60f053fcd574d6b
2423-
ReactCodegen: fda99a79c866370190e162083a35602fdc314e5d
2424-
ReactCommon: 4d0da92a5eb8da86c08e3ec34bd23ab439fb2461
2425-
RNAudioAPI: f93e51adeee0911c8c6629a56f6df35edc60c084
2426-
RNLiveAudioStream: 02584d52711b6b9f268cb371a4b1bdd76ab3e079
2427-
RNReanimated: 8b24b49fc13fce9a6e1729ccff645a63d2b7a6d1
2428-
RNSVG: ee32efbed652c5151fd3f98bed13c68af285bc38
2361+
FBLazyVector: 7605ea4810e0e10ae4815292433c09bf4324ba45
2362+
fmt: 01b82d4ca6470831d1cc0852a1af644be019e8f6
2363+
glog: 08b301085f15bcbb6ff8632a8ebaf239aae04e6a
2364+
hermes-engine: 9e868dc7be781364296d6ee2f56d0c1a9ef0bb11
2365+
opencv-rne: 2305807573b6e29c8c87e3416ab096d09047a7a0
2366+
RCT-Folly: ea9d9256ba7f9322ef911169a9f696e5857b9e17
2367+
RCTDeprecation: ebe712bb05077934b16c6bf25228bdec34b64f83
2368+
RCTRequired: ca91e5dd26b64f577b528044c962baf171c6b716
2369+
RCTTypeSafety: e7678bd60850ca5a41df9b8dc7154638cb66871f
2370+
React: 4641770499c39f45d4e7cde1eba30e081f9d8a3d
2371+
React-callinvoker: 4bef67b5c7f3f68db5929ab6a4d44b8a002998ea
2372+
React-Core: a68cea3e762814e60ecc3fa521c7f14c36c99245
2373+
React-CoreModules: d81b1eaf8066add66299bab9d23c9f00c9484c7c
2374+
React-cxxreact: 984f8b1feeca37181d4e95301fcd6f5f6501c6ab
2375+
React-debug: 817160c07dc8d24d020fbd1eac7b3558ffc08964
2376+
React-defaultsnativemodule: 18a684542f82ce1897552a1c4b847be414c9566e
2377+
React-domnativemodule: 90bdd4ec3ab38c47cfc3461c1e9283a8507d613f
2378+
React-Fabric: f6dade7007533daeb785ba5925039d83f343be4b
2379+
React-FabricComponents: b0655cc3e1b5ae12a4a1119aa7d8308f0ad33520
2380+
React-FabricImage: 9b157c4c01ac2bf433f834f0e1e5fe234113a576
2381+
React-featureflags: f2792b067a351d86fdc7bec23db3b9a2f2c8d26c
2382+
React-featureflagsnativemodule: 742a8325b3c821d2a1ca13a6d2a0fc72d04555e0
2383+
React-graphics: 68969e4e49d73f89da7abef4116c9b5f466aa121
2384+
React-hermes: ac0bcba26a5d288ebc99b500e1097da2d0297ddf
2385+
React-idlecallbacksnativemodule: d61d9c9816131bf70d3d80cd04889fc625ee523f
2386+
React-ImageManager: e906eec93a9eb6102a06576b89d48d80a4683020
2387+
React-jserrorhandler: ac5dde01104ff444e043cad8f574ca02756e20d6
2388+
React-jsi: 496fa2b9d63b726aeb07d0ac800064617d71211d
2389+
React-jsiexecutor: dd22ab48371b80f37a0a30d0e8915b6d0f43a893
2390+
React-jsinspector: 4629ac376f5765e684d19064f2093e55c97fd086
2391+
React-jsitracing: 7a1c9cd484248870cf660733cd3b8114d54c035f
2392+
React-logger: c4052eb941cca9a097ef01b59543a656dc088559
2393+
React-Mapbuffer: 33546a3ebefbccb8770c33a1f8a5554fa96a54de
2394+
React-microtasksnativemodule: d80ff86c8902872d397d9622f1a97aadcc12cead
2395+
react-native-executorch: 63ab47d8a0c602a4dee0acb36f6e8d9891ad357f
2396+
react-native-image-picker: dbc35687199a8bf89514e09b6b105557f9f63162
2397+
react-native-safe-area-context: cd916088cac5300c3266876218377518987b995e
2398+
react-native-skia: 9b4e1185bdc0d4e7e6488c5419b5643cc456dd2e
2399+
React-nativeconfig: 8efdb1ef1e9158c77098a93085438f7e7b463678
2400+
React-NativeModulesApple: cebca2e5320a3d66e123cade23bd90a167ffce5e
2401+
React-perflogger: 72e653eb3aba9122f9e57cf012d22d2486f33358
2402+
React-performancetimeline: cd6a9374a72001165995d2ab632f672df04076dc
2403+
React-RCTActionSheet: aacf2375084dea6e7c221f4a727e579f732ff342
2404+
React-RCTAnimation: 395ab53fd064dff81507c15efb781c8684d9a585
2405+
React-RCTAppDelegate: 345a6f1b82abc578437df0ce7e9c48740eca827c
2406+
React-RCTBlob: 13311e554c1a367de063c10ee7c5e6573b2dd1d6
2407+
React-RCTFabric: 007b1a98201cc49b5bc6e1417d7fe3f6fc6e2b78
2408+
React-RCTImage: 1b1f914bcc12187c49ba5d949dac38c2eb9f5cc8
2409+
React-RCTLinking: 4ac7c42beb65e36fba0376f3498f3cd8dd0be7fa
2410+
React-RCTNetwork: 938902773add4381e84426a7aa17a2414f5f94f7
2411+
React-RCTSettings: e848f1ba17a7a18479cf5a31d28145f567da8223
2412+
React-RCTText: 7e98fafdde7d29e888b80f0b35544e0cb07913cf
2413+
React-RCTVibration: cd7d80affd97dc7afa62f9acd491419558b64b78
2414+
React-rendererconsistency: b4917053ecbaa91469c67a4319701c9dc0d40be6
2415+
React-rendererdebug: aa181c36dd6cf5b35511d1ed875d6638fd38f0ec
2416+
React-rncore: 120d21715c9b4ba8f798bffe986cb769b988dd74
2417+
React-RuntimeApple: d033becbbd1eba6f9f6e3af6f1893030ce203edd
2418+
React-RuntimeCore: 38af280bb678e66ba000a3c3d42920b2a138eebb
2419+
React-runtimeexecutor: 877596f82f5632d073e121cba2d2084b76a76899
2420+
React-RuntimeHermes: 37aad735ff21ca6de2d8450a96de1afe9f86c385
2421+
React-runtimescheduler: 8ec34cc885281a34696ea16c4fd86892d631f38d
2422+
React-timing: 331cbf9f2668c67faddfd2e46bb7f41cbd9320b9
2423+
React-utils: ed818f19ab445000d6b5c4efa9d462449326cc9f
2424+
ReactCodegen: f853a20cc9125c5521c8766b4b49375fec20648b
2425+
ReactCommon: 300d8d9c5cb1a6cd79a67cf5d8f91e4d477195f9
2426+
RNReanimated: 2e5069649cbab2c946652d3b97589b2ae0526220
2427+
RNSVG: b889dc9c1948eeea0576a16cc405c91c37a12c19
24292428
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2430-
Yoga: 9f110fc4b7aa538663cba3c14cbb1c335f43c13f
2429+
sqlite3: fc1400008a9b3525f5914ed715a5d1af0b8f4983
2430+
Yoga: feb4910aba9742cfedc059e2b2902e22ffe9954a
24312431

24322432
PODFILE CHECKSUM: bba19a069e673f2259009e9d2caab44374fdebcf
24332433

apps/speech-to-text/ios/Podfile.lock

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ PODS:
7070
- hermes-engine (0.79.2):
7171
- hermes-engine/Pre-built (= 0.79.2)
7272
- hermes-engine/Pre-built (0.79.2)
73-
- opencv-rne (0.1.0)
73+
- opencv-rne (4.11.0)
7474
- RCT-Folly (2024.11.18.00):
7575
- boost
7676
- DoubleConversion
@@ -1399,7 +1399,7 @@ PODS:
13991399
- DoubleConversion
14001400
- glog
14011401
- hermes-engine
1402-
- opencv-rne (~> 0.1.0)
1402+
- opencv-rne (~> 4.11.0)
14031403
- RCT-Folly (= 2024.11.18.00)
14041404
- RCTRequired
14051405
- RCTTypeSafety
@@ -1419,6 +1419,7 @@ PODS:
14191419
- ReactCodegen
14201420
- ReactCommon/turbomodule/bridging
14211421
- ReactCommon/turbomodule/core
1422+
- sqlite3
14221423
- Yoga
14231424
- react-native-image-picker (7.2.3):
14241425
- DoubleConversion
@@ -2093,6 +2094,9 @@ PODS:
20932094
- ReactCommon/turbomodule/core
20942095
- Yoga
20952096
- SocketRocket (0.7.1)
2097+
- sqlite3 (3.49.1):
2098+
- sqlite3/common (= 3.49.1)
2099+
- sqlite3/common (3.49.1)
20962100
- Yoga (0.0.0)
20972101

20982102
DEPENDENCIES:
@@ -2188,6 +2192,7 @@ SPEC REPOS:
21882192
trunk:
21892193
- opencv-rne
21902194
- SocketRocket
2195+
- sqlite3
21912196

21922197
EXTERNAL SOURCES:
21932198
boost:
@@ -2377,7 +2382,7 @@ SPEC CHECKSUMS:
23772382
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
23782383
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
23792384
hermes-engine: 314be5250afa5692b57b4dd1705959e1973a8ebe
2380-
opencv-rne: 63e933ae2373fc91351f9a348dc46c3f523c2d3f
2385+
opencv-rne: 2305807573b6e29c8c87e3416ab096d09047a7a0
23812386
RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809
23822387
RCTDeprecation: 83ffb90c23ee5cea353bd32008a7bca100908f8c
23832388
RCTRequired: eb7c0aba998009f47a540bec9e9d69a54f68136e
@@ -2449,6 +2454,7 @@ SPEC CHECKSUMS:
24492454
RNReanimated: 8b24b49fc13fce9a6e1729ccff645a63d2b7a6d1
24502455
RNSVG: ee32efbed652c5151fd3f98bed13c68af285bc38
24512456
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2457+
sqlite3: fc1400008a9b3525f5914ed715a5d1af0b8f4983
24522458
Yoga: 9f110fc4b7aa538663cba3c14cbb1c335f43c13f
24532459

24542460
PODFILE CHECKSUM: 279fcab1b2878102b7ff10ce2dee054b43abbcea

apps/text-embeddings/ios/Podfile.lock

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ PODS:
7070
- hermes-engine (0.79.2):
7171
- hermes-engine/Pre-built (= 0.79.2)
7272
- hermes-engine/Pre-built (0.79.2)
73-
- opencv-rne (0.1.0)
73+
- opencv-rne (4.11.0)
7474
- RCT-Folly (2024.11.18.00):
7575
- boost
7676
- DoubleConversion
@@ -1399,7 +1399,7 @@ PODS:
13991399
- DoubleConversion
14001400
- glog
14011401
- hermes-engine
1402-
- opencv-rne (~> 0.1.0)
1402+
- opencv-rne (~> 4.11.0)
14031403
- RCT-Folly (= 2024.11.18.00)
14041404
- RCTRequired
14051405
- RCTTypeSafety
@@ -1419,6 +1419,7 @@ PODS:
14191419
- ReactCodegen
14201420
- ReactCommon/turbomodule/bridging
14211421
- ReactCommon/turbomodule/core
1422+
- sqlite3
14221423
- Yoga
14231424
- React-NativeModulesApple (0.79.2):
14241425
- glog
@@ -1743,6 +1744,9 @@ PODS:
17431744
- React-perflogger (= 0.79.2)
17441745
- React-utils (= 0.79.2)
17451746
- SocketRocket (0.7.1)
1747+
- sqlite3 (3.49.1):
1748+
- sqlite3/common (= 3.49.1)
1749+
- sqlite3/common (3.49.1)
17461750
- Yoga (0.0.0)
17471751

17481752
DEPENDENCIES:
@@ -1831,6 +1835,7 @@ SPEC REPOS:
18311835
trunk:
18321836
- opencv-rne
18331837
- SocketRocket
1838+
- sqlite3
18341839

18351840
EXTERNAL SOURCES:
18361841
boost:
@@ -2006,7 +2011,7 @@ SPEC CHECKSUMS:
20062011
fmt: a40bb5bd0294ea969aaaba240a927bd33d878cdd
20072012
glog: 5683914934d5b6e4240e497e0f4a3b42d1854183
20082013
hermes-engine: 314be5250afa5692b57b4dd1705959e1973a8ebe
2009-
opencv-rne: 63e933ae2373fc91351f9a348dc46c3f523c2d3f
2014+
opencv-rne: 2305807573b6e29c8c87e3416ab096d09047a7a0
20102015
RCT-Folly: 36fe2295e44b10d831836cc0d1daec5f8abcf809
20112016
RCTDeprecation: 83ffb90c23ee5cea353bd32008a7bca100908f8c
20122017
RCTRequired: eb7c0aba998009f47a540bec9e9d69a54f68136e
@@ -2071,6 +2076,7 @@ SPEC CHECKSUMS:
20712076
ReactCodegen: fda99a79c866370190e162083a35602fdc314e5d
20722077
ReactCommon: 4d0da92a5eb8da86c08e3ec34bd23ab439fb2461
20732078
SocketRocket: d4aabe649be1e368d1318fdf28a022d714d65748
2079+
sqlite3: fc1400008a9b3525f5914ed715a5d1af0b8f4983
20742080
Yoga: 9f110fc4b7aa538663cba3c14cbb1c335f43c13f
20752081

20762082
PODFILE CHECKSUM: a4eba0f176efffd0a3e176573036da7710a6c813

common/rnexecutorch/RnExecutorchInstaller.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#include "RnExecutorchInstaller.h"
22

33
#include <rnexecutorch/host_objects/JsiConversions.h>
4+
#include <rnexecutorch/models/image_segmentation/ImageSegmentation.h>
45
#include <rnexecutorch/models/style_transfer/StyleTransfer.h>
56

67
namespace rnexecutorch {
@@ -19,5 +20,10 @@ void RnExecutorchInstaller::injectJSIBindings(
1920
*jsiRuntime, "loadStyleTransfer",
2021
RnExecutorchInstaller::loadModel<StyleTransfer>(jsiRuntime, jsCallInvoker,
2122
"loadStyleTransfer"));
23+
24+
jsiRuntime->global().setProperty(
25+
*jsiRuntime, "loadImageSegmentation",
26+
RnExecutorchInstaller::loadModel<ImageSegmentation>(
27+
jsiRuntime, jsCallInvoker, "loadImageSegmentation"));
2228
}
2329
} // namespace rnexecutorch

common/rnexecutorch/RnExecutorchInstaller.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ class RnExecutorchInstaller {
4949
jsiconversion::getValue<std::string>(args[0], runtime);
5050

5151
auto modelImplementationPtr =
52-
std::make_shared<ModelT>(source, &runtime);
52+
std::make_shared<ModelT>(source, jsCallInvoker);
5353
auto modelHostObject = std::make_shared<ModelHostObject<ModelT>>(
5454
modelImplementationPtr, jsCallInvoker);
5555

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include "Numerical.h"
2+
3+
#include <algorithm>
4+
#include <numeric>
5+
6+
namespace rnexecutorch::numerical {
7+
void softmax(std::vector<float> &v) {
8+
float max = *std::max_element(v.begin(), v.end());
9+
10+
float sum = 0.0f;
11+
for (float &x : v) {
12+
x = std::exp(x - max);
13+
sum += x;
14+
}
15+
for (float &x : v) {
16+
x /= sum;
17+
}
18+
}
19+
} // namespace rnexecutorch::numerical
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#pragma once
2+
3+
#include <vector>
4+
5+
namespace rnexecutorch::numerical {
6+
void softmax(std::vector<float> &v);
7+
} // namespace rnexecutorch::numerical

0 commit comments

Comments
 (0)