react-native-mlkit-image-labeling
provides utilities for image classification using ML Kit in React Native apps. It
allows for the classification of images using either ML Kit's built-in models or custom TensorFlow Lite models.
npm install @infinitered/react-native-mlkit-image-labeling expo-asset
import {
useImageLabeling,
useImageLabelingProvider,
useImageLabelingModels,
ImageLabelingConfig,
ClassificationResult
} from "@infinitered/react-native-mlkit-image-labeling";
Create an ImageLabelingConfig
object that identifies your model files and options:
const MODELS: ImageLabelingConfig = {
nsfw: {
model: require("./path/to/model.tflite"),
options: {
maxResultCount: 5,
confidenceThreshold: 0.5,
},
},
};
The image labeling functionality requires a provider at the root of your app or where you plan to use the models:
function App() {
const models = useImageLabelingModels(MODELS);
const { ImageLabelingModelProvider } = useImageLabelingProvider(models);
return (
<ImageLabelingModelProvider>
<YourApp />
</ImageLabelingModelProvider>
);
}
function ImageClassifier() {
// Get the classifier instance for your model
const classifier = useImageLabeling("nsfw");
const classifyImage = async (imageUri: string) => {
try {
const result = await classifier.classifyImage(imageUri);
console.log(result);
} catch (error) {
console.error("Classification failed:", error);
}
};
return (
<View>
// ....your component
</View>
);
}