@@ -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 */
1000999export 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
10881198const 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' ) {
0 commit comments