Entrené diferentes tipos de modelos de mobilenet v2 usando la API de detección de objetos de Tensorflow, luego los convertí a tfjs y los ejecuté en la web. Parece que la ejecución de estos modelos solo admite el método executeAsync(). Siento que poder usar el método de ejecución () acelerará el tiempo de inferencia que ahora es de ~ 100 ms. Sin embargo, cuando pruebo el método de ejecución (), obtengo errores con respecto a algunas operaciones dinámicas. Dado que prefiero la velocidad a la precisión, ¿hay algo que pueda hacer para acelerar el tiempo de inferencia? Alternativamente, ¿hay otros modelos de detección de objetos recomendados que se ejecutarán en tiempo real en la web? ¿O algo más que deba probar?
¿Por qué se execute más rápido que executeAsync ? hay un tiempo mínimo perdido por la sobrecarga de las funciones asíncronas, ganaría en el orden de 0.1-0.3ms en el mejor de los casos
una mejor pregunta es ¿qué backend de tfjs estás usando?
cpu es más lento, wasm es rápido para iniciarse, pero en general todavía usa cpu y webgl es lento para calentar (ya que tiene que compilar funciones glsl y cargar pesos como sombreadores), pero tiene una inferencia general más rápida cuando gpu está disponible
tenga en cuenta que, si bien mobilenetv2 es un modelo liviano, es bastante antiguo y el rendimiento no es el mismo que el de los últimos modelos sota livianos
para una detección de objetos rápida y liviana, mi favorito es el cabezal mobilenet v3 combinado con centernet