Estoy tratando de cargar un modelo personalizado entrenado en TeachableMachine en mi aplicación nativa React, el modelo mobilenet funciona, pero cuando intento cargar mi propio modelo personalizado, permanece sin definir y no resolverá la fase de carga del modelo.
Código relevante:
import React, { useEffect, useState } from "react"; import { ActivityIndicator, Text } from "react-native"; import { MainContainer } from "../utils/styles"; import * as tf from "@tensorflow/tfjs"; import { fetch } from "@tensorflow/tfjs-react-native"; import * as jpeg from "jpeg-js"; // import * as mobilenet from "@tensorflow-models/mobilenet"; ... const getPrediction = async () => { try { await tf.ready(); // const model = await mobilenet.load(); const model = await tf.loadLayersModel( "https://teachablemachine.withgoogle.com/models/ULiD4t_yQ/model.json" ); const response = await fetch(image, {}, { isBinary: true }); const rawImageData = await response.arrayBuffer(); const imageTensor = await imageToTensor(rawImageData); const prediction = await model.classify(imageTensor); setPrediction(prediction); setIsLoading(false); } catch (e) { console.log(e); } }; useEffect(() => { getPrediction(); }, []);...
Teachablemachine proporciona alojamiento gratuito en la nube del modelo y, según los tutoriales que he visto en línea, tf.loadLayersModel debería funcionar con un enlace del navegador vinculado a mi modelo.json.
Error:
model.classify no es una función. (En 'model.classify(imageTensor)', 'model.classify' no está definido)
Intenté cargar los archivos localmente y pasarlos a la función loadLayersModel pero tampoco funciona.