Skip to content

Commit 0e48aab

Browse files
committed
Added prevent load to all hooks
1 parent 4662ea2 commit 0e48aab

16 files changed

Lines changed: 100 additions & 24 deletions

src/hooks/computer_vision/useClassification.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ import { useModule } from '../useModule';
44

55
export const useClassification = ({
66
modelSource,
7+
preventLoad = false,
78
}: {
89
modelSource: ResourceSource;
9-
}) => useModule({ module: ClassificationModule, loadArgs: [modelSource] });
10+
preventLoad?: boolean;
11+
}) =>
12+
useModule({
13+
module: ClassificationModule,
14+
loadArgs: [modelSource],
15+
preventLoad,
16+
});
Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
import { useModule } from '../useModule';
22
import { ImageSegmentationModule } from '../../modules/computer_vision/ImageSegmentationModule';
3+
import { ResourceSource } from '../../types/common';
34

45
interface Props {
5-
modelSource: string | number;
6+
modelSource: ResourceSource;
7+
preventLoad?: boolean;
68
}
79

8-
export const useImageSegmentation = ({ modelSource }: Props) =>
9-
useModule({ module: ImageSegmentationModule, loadArgs: [modelSource] });
10+
export const useImageSegmentation = ({
11+
modelSource,
12+
preventLoad = false,
13+
}: Props) =>
14+
useModule({
15+
module: ImageSegmentationModule,
16+
loadArgs: [modelSource],
17+
preventLoad,
18+
});

src/hooks/computer_vision/useOCR.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export const useOCR = ({
1515
detectorSource,
1616
recognizerSources,
1717
language = 'en',
18+
preventLoad = false,
1819
}: {
1920
detectorSource: ResourceSource;
2021
recognizerSources: {
@@ -23,6 +24,7 @@ export const useOCR = ({
2324
recognizerSmall: ResourceSource;
2425
};
2526
language?: OCRLanguage;
27+
preventLoad?: boolean;
2628
}): OCRModule => {
2729
const [error, setError] = useState<string | null>(null);
2830
const [isReady, setIsReady] = useState(false);
@@ -45,9 +47,18 @@ export const useOCR = ({
4547
await model.loadModel(detectorSource, recognizerSources, language);
4648
};
4749

48-
loadModel();
50+
if (!preventLoad) {
51+
loadModel();
52+
}
4953
// eslint-disable-next-line react-hooks/exhaustive-deps
50-
}, [model, detectorSource, language, JSON.stringify(recognizerSources)]);
54+
}, [
55+
model,
56+
detectorSource,
57+
language,
58+
// eslint-disable-next-line react-hooks/exhaustive-deps
59+
JSON.stringify(recognizerSources),
60+
preventLoad,
61+
]);
5162

5263
return {
5364
error,

src/hooks/computer_vision/useObjectDetection.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,15 @@ import { ObjectDetectionModule } from '../../modules/computer_vision/ObjectDetec
44

55
interface Props {
66
modelSource: ResourceSource;
7+
preventLoad?: boolean;
78
}
89

9-
export const useObjectDetection = ({ modelSource }: Props) =>
10-
useModule({ module: ObjectDetectionModule, loadArgs: [modelSource] });
10+
export const useObjectDetection = ({
11+
modelSource,
12+
preventLoad = false,
13+
}: Props) =>
14+
useModule({
15+
module: ObjectDetectionModule,
16+
loadArgs: [modelSource],
17+
preventLoad,
18+
});

src/hooks/computer_vision/useStyleTransfer.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ import { StyleTransferModule } from '../../modules/computer_vision/StyleTransfer
44

55
interface Props {
66
modelSource: ResourceSource;
7+
preventLoad?: boolean;
78
}
89

9-
export const useStyleTransfer = ({ modelSource }: Props) =>
10-
useModule({ module: StyleTransferModule, loadArgs: [modelSource] });
10+
export const useStyleTransfer = ({ modelSource, preventLoad = false }: Props) =>
11+
useModule({
12+
module: StyleTransferModule,
13+
loadArgs: [modelSource],
14+
preventLoad,
15+
});

src/hooks/computer_vision/useVerticalOCR.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export const useVerticalOCR = ({
1616
recognizerSources,
1717
language = 'en',
1818
independentCharacters = false,
19+
preventLoad = false,
1920
}: {
2021
detectorSources: {
2122
detectorLarge: ResourceSource;
@@ -27,6 +28,7 @@ export const useVerticalOCR = ({
2728
};
2829
language?: OCRLanguage;
2930
independentCharacters?: boolean;
31+
preventLoad?: boolean;
3032
}): OCRModule => {
3133
const [error, setError] = useState<string | null>(null);
3234
const [isReady, setIsReady] = useState(false);
@@ -54,7 +56,9 @@ export const useVerticalOCR = ({
5456
);
5557
};
5658

57-
loadModel();
59+
if (!preventLoad) {
60+
loadModel();
61+
}
5862
// eslint-disable-next-line react-hooks/exhaustive-deps
5963
}, [
6064
model,
@@ -64,6 +68,7 @@ export const useVerticalOCR = ({
6468
independentCharacters,
6569
// eslint-disable-next-line react-hooks/exhaustive-deps
6670
JSON.stringify(recognizerSources),
71+
preventLoad,
6772
]);
6873

6974
return {
Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
import { ExecutorchModule } from '../../modules/general/ExecutorchModule';
2+
import { ResourceSource } from '../../types/common';
23
import { useModule } from '../useModule';
34

45
interface Props {
5-
modelSource: string | number;
6+
modelSource: ResourceSource;
7+
preventLoad?: boolean;
68
}
79

8-
export const useExecutorchModule = ({ modelSource }: Props) =>
9-
useModule({ module: ExecutorchModule, loadArgs: [modelSource] });
10+
export const useExecutorchModule = ({
11+
modelSource,
12+
preventLoad = false,
13+
}: Props) =>
14+
useModule({
15+
module: ExecutorchModule,
16+
loadArgs: [modelSource],
17+
preventLoad,
18+
});

src/hooks/natural_language_processing/useSpeechToText.ts

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const useSpeechToText = ({
3030
overlapSeconds,
3131
windowSize,
3232
streamingConfig,
33+
preventLoad = false,
3334
}: {
3435
modelName: AvailableModels;
3536
encoderSource?: ResourceSource;
@@ -44,6 +45,7 @@ export const useSpeechToText = ({
4445
streamingConfig?: ConstructorParameters<
4546
typeof SpeechToTextController
4647
>['0']['streamingConfig'];
48+
preventLoad?: boolean;
4749
}): SpeechToTextModule => {
4850
const [sequence, setSequence] = useState<string>('');
4951
const [isReady, setIsReady] = useState(false);
@@ -76,8 +78,17 @@ export const useSpeechToText = ({
7678
tokenizerSource
7779
);
7880
};
79-
loadModel();
80-
}, [model, modelName, encoderSource, decoderSource, tokenizerSource]);
81+
if (!preventLoad) {
82+
loadModel();
83+
}
84+
}, [
85+
model,
86+
modelName,
87+
encoderSource,
88+
decoderSource,
89+
tokenizerSource,
90+
preventLoad,
91+
]);
8192

8293
return {
8394
isReady,

src/hooks/natural_language_processing/useTextEmbeddings.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,14 @@ import { useModule } from '../useModule';
55
export const useTextEmbeddings = ({
66
modelSource,
77
tokenizerSource,
8+
preventLoad = false,
89
}: {
910
modelSource: ResourceSource;
1011
tokenizerSource: ResourceSource;
12+
preventLoad?: boolean;
1113
}) =>
1214
useModule({
1315
module: TextEmbeddingsModule,
1416
loadArgs: [modelSource, tokenizerSource],
17+
preventLoad,
1518
});

src/hooks/natural_language_processing/useTokenizer.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import { ETError, getError } from '../../Error';
55

66
export const useTokenizer = ({
77
tokenizerSource,
8+
preventLoad = false,
89
}: {
910
tokenizerSource: ResourceSource;
11+
preventLoad?: boolean;
1012
}) => {
1113
const [error, setError] = useState<null | string>(null);
1214
const [isReady, setIsReady] = useState(false);
@@ -24,8 +26,10 @@ export const useTokenizer = ({
2426
setError((err as Error).message);
2527
}
2628
};
27-
loadModule();
28-
}, [tokenizerSource]);
29+
if (!preventLoad) {
30+
loadModule();
31+
}
32+
}, [tokenizerSource, preventLoad]);
2933

3034
const stateWrapper = <T extends (...args: any[]) => Promise<any>>(fn: T) => {
3135
const boundFn = fn.bind(TokenizerModule);

0 commit comments

Comments
 (0)