react-native-executorch
Version:
An easy way to run AI models in React Native with ExecuTorch
40 lines (38 loc) • 1.11 kB
JavaScript
;
import { ClassificationModule } from '../../modules/computer_vision/ClassificationModule';
import { useModuleFactory } from '../useModuleFactory';
/**
* React hook for managing a Classification model instance.
* @typeParam C - A {@link ClassificationModelSources} config specifying which built-in model to load.
* @category Hooks
* @param props - Configuration object containing `model` source and optional `preventLoad` flag.
* @returns Ready to use Classification model.
*/
export const useClassification = ({
model,
preventLoad = false
}) => {
const {
error,
isReady,
isGenerating,
downloadProgress,
runForward,
runOnFrame
} = useModuleFactory({
factory: (config, onProgress) => ClassificationModule.fromModelName(config, onProgress),
config: model,
deps: [model.modelName, model.modelSource],
preventLoad
});
const forward = input => runForward(inst => inst.forward(input));
return {
error,
isReady,
isGenerating,
downloadProgress,
forward,
runOnFrame
};
};
//# sourceMappingURL=useClassification.js.map