Skip to content

Commit e0211d9

Browse files
committed
improve model registry
1 parent df8b3c7 commit e0211d9

File tree

2 files changed

+204
-96
lines changed

2 files changed

+204
-96
lines changed

packages/react-native-executorch/src/constants/modelUrls.ts

Lines changed: 203 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -978,115 +978,225 @@ export const FSMN_VAD = {
978978
} as const;
979979

980980
/**
981-
* Registry of all available model configurations.
981+
* Registry of all available model configurations, organized by category.
982982
*
983-
* Use this to discover and enumerate all models shipped with the library.
983+
* Each model appears in its semantic subcategory and in `ALL_MODELS`.
984984
* @example
985985
* ```ts
986986
* import { MODEL_REGISTRY } from 'react-native-executorch';
987987
*
988988
* // Access a specific model
989-
* const llama = MODEL_REGISTRY.LLAMA3_2_1B;
989+
* const llama = MODEL_REGISTRY.LLM.LLAMA3_2_1B;
990990
*
991991
* // List all model names
992-
* const names = Object.values(MODEL_REGISTRY).map(m => m.modelName);
992+
* const names = Object.values(MODEL_REGISTRY.ALL_MODELS).map(m => m.modelName);
993993
*
994-
* // Find models by name substring
995-
* const whisperModels = Object.values(MODEL_REGISTRY)
996-
* .filter(m => m.modelName.includes('whisper'));
994+
* // List all speech-to-text models
995+
* const sttModels = Object.values(MODEL_REGISTRY.SPEECH_TO_TEXT);
997996
* ```
998997
* @category Utils
999998
*/
1000999
export const MODEL_REGISTRY = {
1001-
LLAMA3_2_3B,
1002-
LLAMA3_2_3B_QLORA,
1003-
LLAMA3_2_3B_SPINQUANT,
1004-
LLAMA3_2_1B,
1005-
LLAMA3_2_1B_QLORA,
1006-
LLAMA3_2_1B_SPINQUANT,
1007-
QWEN3_0_6B,
1008-
QWEN3_0_6B_QUANTIZED,
1009-
QWEN3_1_7B,
1010-
QWEN3_1_7B_QUANTIZED,
1011-
QWEN3_4B,
1012-
QWEN3_4B_QUANTIZED,
1013-
HAMMER2_1_0_5B,
1014-
HAMMER2_1_0_5B_QUANTIZED,
1015-
HAMMER2_1_1_5B,
1016-
HAMMER2_1_1_5B_QUANTIZED,
1017-
HAMMER2_1_3B,
1018-
HAMMER2_1_3B_QUANTIZED,
1019-
SMOLLM2_1_135M,
1020-
SMOLLM2_1_135M_QUANTIZED,
1021-
SMOLLM2_1_360M,
1022-
SMOLLM2_1_360M_QUANTIZED,
1023-
SMOLLM2_1_1_7B,
1024-
SMOLLM2_1_1_7B_QUANTIZED,
1025-
QWEN2_5_0_5B,
1026-
QWEN2_5_0_5B_QUANTIZED,
1027-
QWEN2_5_1_5B,
1028-
QWEN2_5_1_5B_QUANTIZED,
1029-
QWEN2_5_3B,
1030-
QWEN2_5_3B_QUANTIZED,
1031-
PHI_4_MINI_4B,
1032-
PHI_4_MINI_4B_QUANTIZED,
1033-
LFM2_5_1_2B_INSTRUCT,
1034-
LFM2_5_1_2B_INSTRUCT_QUANTIZED,
1035-
LFM2_VL_1_6B_QUANTIZED,
1036-
EFFICIENTNET_V2_S,
1037-
EFFICIENTNET_V2_S_QUANTIZED,
1038-
SSDLITE_320_MOBILENET_V3_LARGE,
1039-
RF_DETR_NANO,
1040-
STYLE_TRANSFER_CANDY,
1041-
STYLE_TRANSFER_CANDY_QUANTIZED,
1042-
STYLE_TRANSFER_MOSAIC,
1043-
STYLE_TRANSFER_MOSAIC_QUANTIZED,
1044-
STYLE_TRANSFER_RAIN_PRINCESS,
1045-
STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED,
1046-
STYLE_TRANSFER_UDNIE,
1047-
STYLE_TRANSFER_UDNIE_QUANTIZED,
1048-
WHISPER_TINY_EN,
1049-
WHISPER_TINY_EN_QUANTIZED,
1050-
WHISPER_BASE_EN,
1051-
WHISPER_BASE_EN_QUANTIZED,
1052-
WHISPER_SMALL_EN,
1053-
WHISPER_SMALL_EN_QUANTIZED,
1054-
WHISPER_TINY,
1055-
WHISPER_BASE,
1056-
WHISPER_SMALL,
1057-
DEEPLAB_V3_RESNET50,
1058-
DEEPLAB_V3_RESNET101,
1059-
DEEPLAB_V3_MOBILENET_V3_LARGE,
1060-
LRASPP_MOBILENET_V3_LARGE,
1061-
FCN_RESNET50,
1062-
FCN_RESNET101,
1063-
DEEPLAB_V3_RESNET50_QUANTIZED,
1064-
DEEPLAB_V3_RESNET101_QUANTIZED,
1065-
DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED,
1066-
LRASPP_MOBILENET_V3_LARGE_QUANTIZED,
1067-
FCN_RESNET50_QUANTIZED,
1068-
FCN_RESNET101_QUANTIZED,
1069-
SELFIE_SEGMENTATION,
1070-
YOLO26N_SEG,
1071-
YOLO26S_SEG,
1072-
YOLO26M_SEG,
1073-
YOLO26L_SEG,
1074-
YOLO26X_SEG,
1075-
RF_DETR_NANO_SEG,
1076-
CLIP_VIT_BASE_PATCH32_IMAGE,
1077-
CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED,
1078-
ALL_MINILM_L6_V2,
1079-
ALL_MPNET_BASE_V2,
1080-
MULTI_QA_MINILM_L6_COS_V1,
1081-
MULTI_QA_MPNET_BASE_DOT_V1,
1082-
CLIP_VIT_BASE_PATCH32_TEXT,
1083-
BK_SDM_TINY_VPRED_512,
1084-
BK_SDM_TINY_VPRED_256,
1085-
FSMN_VAD,
1000+
LLM: {
1001+
LLAMA3_2_3B,
1002+
LLAMA3_2_3B_QLORA,
1003+
LLAMA3_2_3B_SPINQUANT,
1004+
LLAMA3_2_1B,
1005+
LLAMA3_2_1B_QLORA,
1006+
LLAMA3_2_1B_SPINQUANT,
1007+
QWEN3_0_6B,
1008+
QWEN3_0_6B_QUANTIZED,
1009+
QWEN3_1_7B,
1010+
QWEN3_1_7B_QUANTIZED,
1011+
QWEN3_4B,
1012+
QWEN3_4B_QUANTIZED,
1013+
HAMMER2_1_0_5B,
1014+
HAMMER2_1_0_5B_QUANTIZED,
1015+
HAMMER2_1_1_5B,
1016+
HAMMER2_1_1_5B_QUANTIZED,
1017+
HAMMER2_1_3B,
1018+
HAMMER2_1_3B_QUANTIZED,
1019+
SMOLLM2_1_135M,
1020+
SMOLLM2_1_135M_QUANTIZED,
1021+
SMOLLM2_1_360M,
1022+
SMOLLM2_1_360M_QUANTIZED,
1023+
SMOLLM2_1_1_7B,
1024+
SMOLLM2_1_1_7B_QUANTIZED,
1025+
QWEN2_5_0_5B,
1026+
QWEN2_5_0_5B_QUANTIZED,
1027+
QWEN2_5_1_5B,
1028+
QWEN2_5_1_5B_QUANTIZED,
1029+
QWEN2_5_3B,
1030+
QWEN2_5_3B_QUANTIZED,
1031+
PHI_4_MINI_4B,
1032+
PHI_4_MINI_4B_QUANTIZED,
1033+
LFM2_5_1_2B_INSTRUCT,
1034+
LFM2_5_1_2B_INSTRUCT_QUANTIZED,
1035+
},
1036+
VLM: {
1037+
LFM2_VL_1_6B_QUANTIZED,
1038+
},
1039+
CLASSIFICATION: {
1040+
EFFICIENTNET_V2_S,
1041+
EFFICIENTNET_V2_S_QUANTIZED,
1042+
},
1043+
OBJECT_DETECTION: {
1044+
SSDLITE_320_MOBILENET_V3_LARGE,
1045+
RF_DETR_NANO,
1046+
},
1047+
STYLE_TRANSFER: {
1048+
STYLE_TRANSFER_CANDY,
1049+
STYLE_TRANSFER_CANDY_QUANTIZED,
1050+
STYLE_TRANSFER_MOSAIC,
1051+
STYLE_TRANSFER_MOSAIC_QUANTIZED,
1052+
STYLE_TRANSFER_RAIN_PRINCESS,
1053+
STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED,
1054+
STYLE_TRANSFER_UDNIE,
1055+
STYLE_TRANSFER_UDNIE_QUANTIZED,
1056+
},
1057+
SPEECH_TO_TEXT: {
1058+
WHISPER_TINY_EN,
1059+
WHISPER_TINY_EN_QUANTIZED,
1060+
WHISPER_BASE_EN,
1061+
WHISPER_BASE_EN_QUANTIZED,
1062+
WHISPER_SMALL_EN,
1063+
WHISPER_SMALL_EN_QUANTIZED,
1064+
WHISPER_TINY,
1065+
WHISPER_BASE,
1066+
WHISPER_SMALL,
1067+
},
1068+
SEMANTIC_SEGMENTATION: {
1069+
DEEPLAB_V3_RESNET50,
1070+
DEEPLAB_V3_RESNET101,
1071+
DEEPLAB_V3_MOBILENET_V3_LARGE,
1072+
LRASPP_MOBILENET_V3_LARGE,
1073+
FCN_RESNET50,
1074+
FCN_RESNET101,
1075+
DEEPLAB_V3_RESNET50_QUANTIZED,
1076+
DEEPLAB_V3_RESNET101_QUANTIZED,
1077+
DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED,
1078+
LRASPP_MOBILENET_V3_LARGE_QUANTIZED,
1079+
FCN_RESNET50_QUANTIZED,
1080+
FCN_RESNET101_QUANTIZED,
1081+
SELFIE_SEGMENTATION,
1082+
},
1083+
INSTANCE_SEGMENTATION: {
1084+
YOLO26N_SEG,
1085+
YOLO26S_SEG,
1086+
YOLO26M_SEG,
1087+
YOLO26L_SEG,
1088+
YOLO26X_SEG,
1089+
RF_DETR_NANO_SEG,
1090+
},
1091+
IMAGE_EMBEDDINGS: {
1092+
CLIP_VIT_BASE_PATCH32_IMAGE,
1093+
CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED,
1094+
},
1095+
TEXT_EMBEDDINGS: {
1096+
ALL_MINILM_L6_V2,
1097+
ALL_MPNET_BASE_V2,
1098+
MULTI_QA_MINILM_L6_COS_V1,
1099+
MULTI_QA_MPNET_BASE_DOT_V1,
1100+
CLIP_VIT_BASE_PATCH32_TEXT,
1101+
},
1102+
IMAGE_GENERATION: {
1103+
BK_SDM_TINY_VPRED_512,
1104+
BK_SDM_TINY_VPRED_256,
1105+
},
1106+
VOICE_ACTIVITY_DETECTION: {
1107+
FSMN_VAD,
1108+
},
1109+
ALL_MODELS: {
1110+
LLAMA3_2_3B,
1111+
LLAMA3_2_3B_QLORA,
1112+
LLAMA3_2_3B_SPINQUANT,
1113+
LLAMA3_2_1B,
1114+
LLAMA3_2_1B_QLORA,
1115+
LLAMA3_2_1B_SPINQUANT,
1116+
QWEN3_0_6B,
1117+
QWEN3_0_6B_QUANTIZED,
1118+
QWEN3_1_7B,
1119+
QWEN3_1_7B_QUANTIZED,
1120+
QWEN3_4B,
1121+
QWEN3_4B_QUANTIZED,
1122+
HAMMER2_1_0_5B,
1123+
HAMMER2_1_0_5B_QUANTIZED,
1124+
HAMMER2_1_1_5B,
1125+
HAMMER2_1_1_5B_QUANTIZED,
1126+
HAMMER2_1_3B,
1127+
HAMMER2_1_3B_QUANTIZED,
1128+
SMOLLM2_1_135M,
1129+
SMOLLM2_1_135M_QUANTIZED,
1130+
SMOLLM2_1_360M,
1131+
SMOLLM2_1_360M_QUANTIZED,
1132+
SMOLLM2_1_1_7B,
1133+
SMOLLM2_1_1_7B_QUANTIZED,
1134+
QWEN2_5_0_5B,
1135+
QWEN2_5_0_5B_QUANTIZED,
1136+
QWEN2_5_1_5B,
1137+
QWEN2_5_1_5B_QUANTIZED,
1138+
QWEN2_5_3B,
1139+
QWEN2_5_3B_QUANTIZED,
1140+
PHI_4_MINI_4B,
1141+
PHI_4_MINI_4B_QUANTIZED,
1142+
LFM2_5_1_2B_INSTRUCT,
1143+
LFM2_5_1_2B_INSTRUCT_QUANTIZED,
1144+
LFM2_VL_1_6B_QUANTIZED,
1145+
EFFICIENTNET_V2_S,
1146+
EFFICIENTNET_V2_S_QUANTIZED,
1147+
SSDLITE_320_MOBILENET_V3_LARGE,
1148+
RF_DETR_NANO,
1149+
STYLE_TRANSFER_CANDY,
1150+
STYLE_TRANSFER_CANDY_QUANTIZED,
1151+
STYLE_TRANSFER_MOSAIC,
1152+
STYLE_TRANSFER_MOSAIC_QUANTIZED,
1153+
STYLE_TRANSFER_RAIN_PRINCESS,
1154+
STYLE_TRANSFER_RAIN_PRINCESS_QUANTIZED,
1155+
STYLE_TRANSFER_UDNIE,
1156+
STYLE_TRANSFER_UDNIE_QUANTIZED,
1157+
WHISPER_TINY_EN,
1158+
WHISPER_TINY_EN_QUANTIZED,
1159+
WHISPER_BASE_EN,
1160+
WHISPER_BASE_EN_QUANTIZED,
1161+
WHISPER_SMALL_EN,
1162+
WHISPER_SMALL_EN_QUANTIZED,
1163+
WHISPER_TINY,
1164+
WHISPER_BASE,
1165+
WHISPER_SMALL,
1166+
DEEPLAB_V3_RESNET50,
1167+
DEEPLAB_V3_RESNET101,
1168+
DEEPLAB_V3_MOBILENET_V3_LARGE,
1169+
LRASPP_MOBILENET_V3_LARGE,
1170+
FCN_RESNET50,
1171+
FCN_RESNET101,
1172+
DEEPLAB_V3_RESNET50_QUANTIZED,
1173+
DEEPLAB_V3_RESNET101_QUANTIZED,
1174+
DEEPLAB_V3_MOBILENET_V3_LARGE_QUANTIZED,
1175+
LRASPP_MOBILENET_V3_LARGE_QUANTIZED,
1176+
FCN_RESNET50_QUANTIZED,
1177+
FCN_RESNET101_QUANTIZED,
1178+
SELFIE_SEGMENTATION,
1179+
YOLO26N_SEG,
1180+
YOLO26S_SEG,
1181+
YOLO26M_SEG,
1182+
YOLO26L_SEG,
1183+
YOLO26X_SEG,
1184+
RF_DETR_NANO_SEG,
1185+
CLIP_VIT_BASE_PATCH32_IMAGE,
1186+
CLIP_VIT_BASE_PATCH32_IMAGE_QUANTIZED,
1187+
ALL_MINILM_L6_V2,
1188+
ALL_MPNET_BASE_V2,
1189+
MULTI_QA_MINILM_L6_COS_V1,
1190+
MULTI_QA_MPNET_BASE_DOT_V1,
1191+
CLIP_VIT_BASE_PATCH32_TEXT,
1192+
BK_SDM_TINY_VPRED_512,
1193+
BK_SDM_TINY_VPRED_256,
1194+
FSMN_VAD,
1195+
},
10861196
} as const;
10871197

10881198
const urlToModelName = new Map<string, string>();
1089-
for (const config of Object.values(MODEL_REGISTRY)) {
1199+
for (const config of Object.values(MODEL_REGISTRY.ALL_MODELS)) {
10901200
const modelName = config.modelName;
10911201
for (const [key, value] of Object.entries(config)) {
10921202
if (key !== 'modelName' && typeof value === 'string') {

packages/react-native-executorch/src/utils/ResourceFetcherUtils.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -230,9 +230,7 @@ export namespace ResourceFetcherUtils {
230230
countryCode: getCountryCode(),
231231
}),
232232
});
233-
} catch (e) {
234-
console.log(e);
235-
}
233+
} catch (e) {}
236234
}
237235

238236
/**

0 commit comments

Comments
 (0)